|
||||||||||||||||
Создание разделов и файловых систем
Время создания: 11.12.2011 17:39
Раздел: OS tools - Linux
Запись: YellowRaven/myTetra_repo/master/base/1323610768pip4y0pjvo/text.html на raw.github.com
|
||||||||||||||||
|
||||||||||||||||
Из этой статьи вы узнаете о дисковых разделах и файловых системах Linux. Вы научитесь:
Эта статья поможет вам подготовиться к сдаче экзамена LPI 101 на администратора начального уровня (LPIC-1) и содержит материалы цели 104.1 темы 104. Цель имеет вес 2. Чтобы извлечь наибольшую пользу из наших статей, необходимо обладать базовыми знаниями о Linux и иметь работоспособный компьютер с Linux, на котором можно будет выполнять все встречающиеся команды. Иногда различные версии программ выводят результаты по-разному, поэтому содержимое листингов и рисунков может отличаться от того, что вы увидите на вашем компьютере. Также вы должны быть знакомы с материалом статьи "Изучаем Linux, 101: разметка жесткого диска ". В начало В нашей статье "Изучаем Linux, 101: разметка жесткого диска " мы познакомили вас с такими понятиями, как разметка и разделы жесткого диска, а также привели несколько примеров использования команды fdisk для просмотра информации о разделах. Вы узнали о разделах, включая основные,расширенные и логические разделы, а также о том, что файловая система Linux состоит из файлов, хранящихся вдиректориях на жестком диске или другом блочном устройстве хранения. Как и во многих других операционных системах, директории в Linux могут содержать в себе другие директории, называемые поддиректориями. В статье также были изложены некоторые соображения, которыми можно руководствоваться при создании разделов на жестком диске. Мы начнем нашу статью с обзора блочных устройств и разделов, а затем более подробно расскажем о команде fdisk, которая используется для создания, модификации или удаления разделов на блочных устройствах. Также вы узнаете о многочисленных формах команды mkfs (сокращение от make filesystem – создать файловую систему); команды mkfsиспользуются для форматирования разделов в файловой системе определенного типа. Примечание. Помимо инструментов и файловых систем, требующихся для сдачи экзаменов LPI в статье могут упоминаться другие утилиты и файловые системы. Краткий обзор некоторых из них вы можете найти в разделе "Другие инструменты и файловые системы ". Блочное устройство представляет собой уровень абстракции любого устройства хранения, которое может быть отформатировано в блоках фиксированного размера; доступ к отдельным блокам осуществляется независимо от доступа к другим блокам. Такой доступ часто называют произвольным доступом. Представление устройств в виде абстрагированных блоков фиксированного размера с произвольным доступом позволяет программам использовать их, не заботясь о том, чем на самом деле является то или иное устройство; это может быть жесткий диск, дискета, компакт-диск, твердотельный диск, сетевой диск или какое-то виртуальное устройство, например, файловая система в оперативной памяти. Примерами блочных устройств могут являться первый IDE-диск (/dev/sda или /dev/hda) или второй SCSI-, IDE- или USB-диск (/dev/sdb) вашего компьютера. Для просмотра содержимого директории /dev используйте команду ls -l. Первым символом в каждой строке может быть либо символ b, означающий блочное (block) устройство, например, дискету, компакт-диск, жесткий диск IDE или SCSI, либо символ c, означающий символьное (character) устройство, например терминал (tty) или фиктивное (null) устройство. Некоторые примеры приведены в листинге 1. Листинг 1. Блочные и символьные устройства Linux
Для некоторых блочных устройств, таких как дискеты, CD- и DVD-диски, принято использовать одну файловую систему на всем носителе. Однако для больших жестких дисков и даже для USB-накопителей все доступное пространство часто делится (или разбивается) на несколько отдельных разделов. Разделы могут отличаться по размеру, а каждый раздел может иметь свою файловую систему; таким образом, один диск может использоваться для различных целей, включая его совместное использование разными операционными системами. Например, на моих тестовых компьютерах установлено несколько различных дистрибутивов Linux (а иногда и операционная система Windows®), совместно использоующих один или два жестких диска. Из нашей статьи "Изучаем Linux, 101: разметка жесткого диска " вы узнали, что жесткие диски имеют геометрию, которая описывается такими терминами как цилиндры, головки и секторы. Несмотря на то, что в современных жестких дисках используется логическая адресация блоков (Logical Block Addressing, LBA), которая в значительной степени скрывает геометрию, основной единицей размещения, используемой для разметки диска, обычно остается цилиндр. В начало Получение информации о разделах Информация о разделах хранится на диске в таблице разделов. В этой таблице содержится информация о начале и конце каждого раздела, о его типе, а также о том, является ли раздел загрузочным или нет. Чтобы создать или удалить раздел, необходимо отредактировать таблицу разделов с помощью специальной программы. Для успешной сдачи экзамена LPI вам необходимо знать о программе fdisk, поэтому в этой статье рассматривается именно она, хотя существуют и другие инструменты, которые вы можете использовать. О некоторых из них мы расскажем в конце статьи. Команда fdisk с опцией –l выводит на экран список разделов. Если вам требуется просмотреть все разделы на определенном диске, то добавьте имя устройства, например, /dev/sda. Обратите внимание на то, что для использования инструментов по работе с разделами вы должны обладать привилегиями пользователя root. В листинге 2 показаны списки разделов основных жестких дисков, установленных на двух моих компьютерах. Листинг 2. Просмотр разделов с помощью fdisk
Примечания:
В начало Работа с разделами с использованием команды fdisk Вы только что узнали, как можно получить информацию о разделах диска с помощью команды fdisk. Эта команда также содержит систему меню для редактирования таблицы разделов (т. е. для создания или удаления разделов). Прежде чем приступить к работе с разделами, запомните несколько важных правил. Если пренебрегать этими правилам, то можно потерять все имеющиеся данные.
Для запуска команды fdisk в интерактивном режиме просто укажите в качестве параметра имя диска, например /dev/hda или /dev/sdb. В следующем примере выполняется загрузка Live-DVD дистрибутива Knoppix. Вы должны обладать привилегиями пользователя root, чтобы увидеть вывод, аналогичный выводу в листинге 3. Листинг 3. Запуск fdisk в интерактивном режиме
Большинство современных дисков имеют более 1024 цилиндров, поэтому обычно вы будете получать предупреждение, показанное в листинге 3. Чтобы вывести список доступных односимвольных команд, наберите m, как показано в листинге 4. Листинг 4. Встроенная справка команды fdisk
Для вывода информации о разделах выбранного диска используйте команду p; ее вывод показан в листинге 5. Листинг 5. Просмотр информации о существующей таблице разделов
Объем этого диска составляет 1 ТБ, на нем имеется раздел Windows/XP, занимающий чуть меньше 80 ГБ. Это основной раздел, и он помечен как загрузочный, что характерно для Windows-системы. Теперь используем часть свободного дискового пространства для добавления нескольких разделов.
Давайте приступим и выполним команду n для создания нового раздела, как показано в листинге 6. Листинг 6. Создание первого раздела
Мы взяли значение по умолчанию для первого цилиндра и указали значение +521 (количество цилиндров). Из листинга 6 видно, что размер нашего раздела составляет приблизительно 4 ГБ. Поскольку это основной раздел, он должен иметь номер от 1 до 4. Мы рекомендуем всегда нумеровать разделы последовательно; если этого не делать, то некоторые утилиты будут выдавать предупреждения, в частности, команда fdisk предупреждает о том, что записи в таблице разделов больше не соответствуют последовательности дисков. Заметьте также, что новый раздел имеет тип 83, т. е. является Linux-разделом для хранения данных. Тип раздела можно рассматривать как метку, которая указывает операционной системе на его предполагаемое назначение. В конечном счете указанный тип должен совпадать с предполагаемым использованием этого раздела, но пока мы даже не будем форматировать его, не говоря уже о размещении на нем данных. Сначала мы создадим несколько других разделов, а затем посмотрим, как можно изменить тип раздела. Вы могли заметить, что при вводе подкоманды n для создания нового раздела можно было выбрать один из двух вариантов: 'l' для создания логического раздела и 'p' – для создания основного. Это обусловлено тем, что в списке присутствуют только оставшиеся доступные типы разделов. Если бы диск еще не имел расширенного раздела, вы могли бы увидеть в списке опцию 'e', предназначенную для создания раздела этого типа. Также обратите внимание на то, что наш расширенный раздел (/dev/sda3) имеет тип 5. Теперь создадим Linux-раздел объемом 40 ГБ и FAT32-раздел объемом 2000 МБ. На этот раз мы просто укажем значения +40G и +2000M, означающие размеры в 40 ГБ и 2000 МБ, соответственно. Вычисление количества цилиндров мы предоставим программе fdisk. Результаты представлены в листинге 7. Листинг 7. Создание разделов для хранения данных
Прежде чем завершить работу с программой fdisk, мы изменим типы наших разделов, предназначенных для области подкачки (swap) и файловой системы FAT32 (vfat). Это делается с помощью подкоманды t, предназначенной для изменения типа раздела. Для раздела /dev/sda4 мы укажем тип 82 (область подкачки Linux), а для раздела /dev/sda9 – тип 9 (файловая система FAT32). Чтобы увидеть полный список поддерживаемых типов, нажмите L, как показано в листинге 8. Листинг 8. Изменение типов раздела
До сих пор мы просто вносили изменения в таблицу разделов в оперативной памяти. Мы в любой момент могли завершить работу без сохранения изменений с помощью команды q. Если вы хотите что-то изменить, вы можете выполнить команду d для удаления одного или нескольких разделов, а затем создать их заново. Если конфигурация вас устраивает, выполните команду v для контрольной проверки конфигурации, а затем команду w для записи изменений в таблицу разделов и выхода из программы (см. листинг 9). Если вы снова запустите команду fdisk -l, вы увидите, что теперь Linux знает обо всех новых разделах. В отличие от некоторых операционных систем, для начала работы с новыми значениями таблицы разделов перезагрузка компьютера не требуется. Перезагрузка может потребоваться, например, в том случае, если раздел /dev/hda3 становится разделом /dev/hda2 по причине удаления последнего. Если перезагрузка необходима, то fdisk сообщит от этом. Листинг 9. Сохранение таблицы разделов
Дополнительная информация о команде fdisk Вы могли заметить, что мы не трогали флаг загрузки ни одного раздела. Наш диск по-прежнему имеет главную загрузочную запись Windows (MBR) и, следовательно, компьютер будет загружаться с первого основного раздела, помеченного в качестве загрузочного (в нашем примере это раздел NTFS). Ни LILO, ни GRUB, не используют флаг загрузки. Если в MBR установлен один из этих загрузчиков, можно загружать компьютер с раздела Windows/XP. Можно также установить LILO или GRUB в раздел /boot (устройство /dev/hda2), пометить этот раздел как загрузочный и удалить флаг загрузки раздела /dev/hda1. Если в дальнейшем на компьютере планируется использовать только ОС Windows, то лучше оставить исходную запись MBR. При необходимости команду fdisk можно использовать для изменения очередности разделов в таблице разделов. Обычно при этом изменяются номера разделов, поэтому для восстановления работоспособности системы может потребоваться дополнительная работа. Чтобы внести изменения, переключитесь с помощью подкоманды f в режим эксперта, а затем используйте подкоманду f для изменения очередности разделов, как показано в листинге 10. Если вы не хотите сохранять изменения и обновлять таблицу разделов, то выполните подкоманду q для выхода без сохранения, как это было сделано в предыдущем примере. Листинг 10. Исправление очередности разделов в таблице разделов
Вы познакомились с одним из способов добавления разделов на компьютере под управлением Linux. С другими способами вы можете познакомиться в статье "Изучаем Linux, 101: поиск и правильное размещение системных файлов ". В начало Linux поддерживает несколько различных файловых систем. Каждая из них имеет свои достоинства, недостатки и особенности. Важным отличительным свойством файловой системы является журналирование, позволяющее быстрее восстановить систему после сбоя. Как правило, если есть выбор, то лучше использовать журналируемую файловую систему. Также при выборе файловой системы вы можете обратить внимание на поддержку расширения Security Enhanced Linux (или SELinux) – Linux с улучшенной безопасностью. Далее мы кратко рассмотрим типы файловых систем, о которых необходимо знать на экзамене LPI. Дополнительную информацию вы можете найти в разделеРесурсы . Файловая система ext2 (также известная как second extended filesystem – вторая расширенная файловая система) была разработана для устранения недостатков файловой системы Minix, использовавшейся в ранних версиях Linux. Она широко использовалась в Linux на протяжении многих лет. Файловая система ext2 не является журналируемой, и в настоящее время ей на смену пришла файловая система ext3. Файловая система ext3 дополняет стандартную систему ext2 возможностями журналирования и поэтому является эволюционным развитием очень стабильной файловой системы. Она обладает достаточной производительностью в большинстве ситуаций и в настоящее время продолжает совершенствоваться. Поскольку эта файловая система основана на проверенной временем системе ext2, то можно преобразовывать существующую файловую систему ext2 в ext3 и обратно в случае возникновения необходимости. ReiserFS – это файловая система на основе B-дерева, обладающая очень хорошей общей производительностью, в особенности при использовании большого числа маленьких файлов. Файловая система ReiserFS хорошо масштабируется и является журналируемой. Сейчас новые версии ReiserFS не разрабатываются, она не поддерживает возможности SELinux, и ей на смену пришла файловая система Reiser4. XFS – журналируемая файловая система, обладающая надежной функциональностью и оптимизированная для масштабирования. XFS активно кэширует в ОЗУ передаваемые данные, поэтому при ее использовании рекомендуется подключить компьютер к источнику бесперебойного питания. Файловая система раздела подкачки Дисковое пространство, выделенное под раздел подкачки, должно быть соответствующим образом отформатировано, но, как правило, раздел подкачки не рассматривается в качестве файловой системы. Эта файловая система (также известная как FAT32) не является журналируемой и не обладает многими возможностями, необходимыми для полноценной работы с файловыми системами в Linux. Полезное свойство FAT32 состоит в том, что эта файловая система может быть доступна как из Windows, так и из Linux, что делает ее подходящей для обмена данными между этими операционными системами. Не используйте эту файловую систему в Linux, если только вы не планируете организовывать обмен данными между Windows и Linux. Если распаковать gzip- или tar-архив Linux на диск с файловой системой vfat, то будут потеряны все файловые разрешения, например, разрешения на исполнение, а также все символические ссылки, которые могли храниться в архиве. Файловая система ext3 является сформировавшейся и стабильной файловой системой, и используется по умолчанию в ряде дистрибутивов Linux. Файловая система ReiserFS на протяжении многих лет использовалась по умолчанию в некоторых дистрибутивах, включая SUSE, но на сегодняшний день она используется не так широко. В начало Для создания файловых систем в Linux используется команда mkfs, а для создания области подкачки – команда mkswap. Фактически команда mkfs представляет собой внешний интерфейс к нескольким командам для работы с файловой системой, таким как mkfs.ext3 для ext3 и mkfs.reiserfs – для ReiserFS. Чтобы узнать, какие файловые системы поддерживаются вашей системой, используйте команду ls /sbin/mk*. Пример приведен в листинге 11. Листинг 11. Команды для создания файловых систем
В дальнейшем вы познакомитесь с различными формами некоторых команд. Например, вы увидите, что команды mke2fs, mkfs.ext2 и mkfs.ext3 являются идентичными, так же как и mkreiserfs и mkfs.reiserfs. Файловые системы, которые могут оказаться необходимыми для загрузки системы, используют несколько идентичных файлов с разными именами. В файловых системах, которые нельзя использовать в Linux для корневой файловой системы / (например, vfat или msdos), могут использоваться символические ссылки на эти файлы. Существует несколько общих опций для всех команд mkfs. Опции, специфичные для создаваемой файловой системы, передаются соответствующей команде в зависимости от типа файловой системы, указанному в опции -type. В наших примерах используется команда mkfs -type, но можно использовать и другие равнозначные формы этой команды. Например, можно использовать форму mkfs -type ext2, mk2fs или mkfs.ext2. Для вызова справочных man-страниц по какой-либо определенной файловой системе используйте в качестве имени соответствующую команду mkfs, например, man mkfs.ext3. Многие значения, выводимые в наших следующих примерах, могут управляться различными опциями mkfs. Теперь, когда все наши разделы созданы, мы загрузим операционную систему Fedora 12 (вместо более медленного дистрибутива Knoppix, загружаемого с Live-DVD) и отформатируем их в файловых системах. Конечно, вы можете продолжать работать в Knoppix, если захотите. Помните о том, что для создания файловых систем необходимо обладать привилегиями пользователя root. Создание файловой системы ext3 Давайте отформатируем раздел /dev/sda8 в файловой системе ext3 с помощью команды mkfs, как показано в листинге 12. Листинг 12. Создание файловой системы ext3
Обратите внимание на то, что для файловой системы ext3 был создан журнал. Если вы хотите добавить журнал к существующей файловой системе ext2, то используйте для этого команду tune2fs с опцией -j. Полезная опция, используемая для файловых систем ext2 и ext3 – это опция -L с именем, которое будет присвоено разделу в качестве метки. Эту метку можно использовать вместо имени устройства при монтировании файловой системы; при внесении определенных изменений, которые также необходимо отражать в управляющих файлах, метка позволяет изолировать имя устройства, которому она фактически соответствует. Для просмотра существующей метки файловой системы ext2 или ext3 или создания новой используется команда e2label. Длина метки ограничена 16 символами. Одним из последних нововведений является универсальный уникальный идентификатор (Universally Unique Identifier, UUID), который используется вместо метки. UUID – это 128-битовый идентификатор, обычно отображаемый в виде 32 шестнадцатеричных цифр, разделенных дефисами. Для большинства файловых систем Linux UUID генерируется автоматически при их форматировании. Для просмотра UUID раздела, который мы только что отформатировали, используйте команду blkid (ее можно запустить без прав суперпользователя), как показано в листинге 13. Идентификаторы UUID обладают большей уникальностью по сравнению с метками и особенно полезны при использовании устройств с горячей заменой, например, USB-накопителей. Листинг 13. Просмотр идентификатора UUID с помощью blkid
Теперь мы заново отформатируем наш раздел ext3, но уже в файловой системе XFS. В дистрибутиве Fedora 12 используется расширение SELinux (Security Enhanced Linux), поэтому с помощью параметра -i следует указать больший размер индексного дескриптора (inode) вместо значения по умолчанию 256. Рекомендуемое значение – 512. Заметьте, что если программа форматирования XFS обнаруживает в разделе уже существующую файловую систему, она предупреждает вас об этом. Также обратите внимание на то, что в процессе форматирования разделу был назначен другой идентификатор UUID. Листинг 14. Создание файловой системы XFS
С помощью опции -L и имени можно задать метку для файловой системы XFS. Для добавления метки к существующей файловой системе XFS используется команда xfs_admin с опцией -L. Для просмотра метки используется командаxfs_admin с опцией -l. В отличие от файловых систем ext2, ext3 и ReiserFS, метки файловой системы XFS ограничены 12 символами. Создание файловой системы ReiserFS Файловая система ReiserFS создается с помощью команды mkfs с опцией -t reiserfs или с помощью командыmkreiserfs. ReiserFS не поддерживает расширение SELinux и постепенно замещается файловой системой Resier4. С помощью опции -l (или опции –label с указанием имени) можно задать метку для файловой системы ReiserFS. Для просмотра существующей метки файловой системы ReiserFS или добавления новой используется командаreiserfstune. Метки файловой системы ReiserFS ограничены 16 символами. Файловая система ReiserFS может быть не включена по умолчанию в дистрибутив, поэтому для ее использования может потребоваться установить на компьютере дополнительный пакет ReiserFS. Дополнительную информацию вы можете найти на man- или info-страницах. Создание файловой системы vfat Теперь создадим файловую систему FAT32 (vfat) на разделе /dev/sda9. Листинг 15. Создание файловой системы vfat
Идентификаторы UUID для файловых систем vfat короче по сравнению с обычными UUID, поэтому степень их уникальности ниже. Если вместо UUID вы хотите использовать метку, воспользуйтесь командой dosfslabel. Метки для разделов DOS ограничены 11 символами. В начало Теперь с помощью команды mkswap создадим в разделе /dev/sda4 область подкачки, как показано в листинге 16. Листинг 16. Создание раздела подкачки
Обратите внимание на то, что последние версии команды mkswap показывают сгенерированный идентификатор UUID. В отличие от обычных файловых систем, разделы подкачки не монтируются. Вместо этого они активизируются командойswapon. Автоматическая активация разделов подкачки выполняется в сценариях запуска при загрузке Linux. В начало Другие инструменты и файловые системы В этом разделе мы рассмотрим инструменты и файловые системы, которые не входят в программу экзамена LPI. Здесь приводится очень краткий обзор некоторых инструментов и файловых систем, которые могут вам встретиться. Инструменты для работы с разделами Многие дистрибутивы Linux содержат команды cfdisk и sfdisk. Команда cfdisk обладает расширенным графическим интерфейсом по сравнению с fdisk, включая функции библиотеки ncurses, как показано на рисунке 1. Команда sfdiskпредназначена для разработчиков, и ее можно использовать в сценариях. Используйте эту команду, только если вы уверены в том, что делаете. Рисунок 1. Использование команды cfdisk Другой популярный инструмент для работы с таблицей разделов – это программа parted, которая может изменять и форматировать разделы различных типов, а также создавать и удалять их. Поскольку команда parted не может изменять размер разделов NTFS, то для этой цели можно использовать команду ntfsresize. Команда qtparted имеет графический интерфейс на базе инструментария Qt и обладает всеми функциями parted и ntfsresize. Команда gparted – это еще один графический инструмент для работы с разделами, разработанный для среды GNOME. Эта команда использует библиотеку GTK+GUI. Интерфейс gparted изображен на рисунке 2. Дополнительную информацию о командах qtparted и gparted вы можете найти в разделе Ресурсы . Поскольку эти пакеты могут быть не включены в дистрибутив по умолчанию, то может потребоваться их отдельная инсталляция. Рисунок 2. Использование команды gparted Многие дистрибутивы позволяют разбивать диск на разделы, а иногда сжимать существующие разделы NTFS или FAT32 на этапе инсталляции. Руководство по инсталляции вы можете найти в документации вашего дистрибутива. Диспетчер логических томов (Logical Volume Manager, LVM) для Linux позволяет объединять несколько физических устройств хранения в единую группу томов. Например, можно добавить раздел в существующую группу томов, вместо того, чтобы пытаться выделить непрерывное дисковое пространство, необходимое для вашей файловой системы. RAID (Redundant Array of Independent Disks) – это технология, обеспечивающая надежное хранение данных с использованием недорогих дисков, стоимость которых гораздо меньше по сравнению со стоимостью дисков для систем высокого уровня. Существует несколько различных типов дисковых RAID-массивов, которые могут быть реализованы как на аппаратном, так и на программном уровне (в Linux поддерживаются оба типа). Помимо файловых систем рассмотренных в этой статье, существуют и другие файловые системы. Journaled File System (JFS), разработанная IBM и в настоящее время используемая в корпоративных серверах этой компании. Она создана для использования в серверных средах с высокой пропускной способностью. Эта файловая система доступна для использования в Linux и включена в некоторые дистрибутивы. Для создания файловой системы JFS используется команда mkfs.jfs. Файловая система btrfs (B-Tree file system), изначально разработанная корпорацией Oracle и доступная по лицензии GPL. Это новая файловая система, использующая механизм копирования при записи (Copy-On-Write, COW), реализует усовершенствованные функции обеспечения отказоустойчивости, восстановления и администрирования. Эта файловая система может отсутствовать в вашем дистрибутиве, поэтому для поддержки btrfs вам может потребоваться установить дополнительный пакет, например btrfs-progs. Существуют и другие файловые системы, например, cramfs, которая часто используется во встраиваемых системах. Научиться
|
||||||||||||||||
Так же в этом разделе:
|
||||||||||||||||
![]() |
||||||||||||||||
|
||||||||||||||||
|