Мы достаточно подробно рассмотрим аспекты работы с дисками в Gentoo Linux и Linux вообще, включая файловые системы, разделы и блочные устройства. Позже, когда вы уже разберетесь с вводом-выводом на диск и файловыми системами мы пошагово поможем вам с разметкой диска на разделы и файловые системы для вашей установки Gentoo Linux.
Для начала давайте познакомимся с
Блочные устройства, аналогичные приведенным примерам, представляют собой абстрактный интерфейс к диску. Это позволяет пользовательскому ПО использовать эти блочные устройства для обращения к дискам не беспокоясь, к какому типу они принадлежат: IDE, SCSI или какому-то еще. ПО может адресовать место на диске, как набор смежных 512 байтных блоков с произвольным доступом.
Не смотря на то, что теоретически возможно использовать весь диск для
размещения вашей Linux системы, этого почти никогда не случается на практике.
Вместо этого все большое блочное устройство (диск) разбивается на меньшие,
более удобные для обращения блочные устройства. На архитектуре x86 они
называются
Существуют разделы трех типов:
На инсталляционном компакт-диске для х86 предоставляется поддержка для EVMS и LVM2. Использование EVMS и LVM2 увеличивает гибкость при создании разделов. В ходе установки мы сфокусируемся на "обычных" разделах, но забывать о поддержке EVMS и LVM2 не стоит.
Если вы не хотите заниматься разработкой схемы для вашей системы, вы можете воспользоваться схемой, которую мы используем в этой книге:
Раздел | Файловая система | Размер | Описание |
---|---|---|---|
Если вам интересно знать какого размера должны быть разделы, а равно как и
сколько их вообще вам потребуется продолжайте чтение. В противном случае
начинайте создание разделов и переходите к главе
Количество разделов очень сильно зависит от используемого ПО. Например если в
вашей системе зарегистрировано большое количество пользователей, вероятно вы
захотите, чтобы
Как вы можете видеть все зависит от ваших целей. Наличие отдельных разделов или томов имеет следующие плюсы:
Однако создание множества разделов имеет один большой минус: при неправильной настройке вы можете получит систему в которой много свободного места на одном разделе и полная его нехватка на другом. Также существует ограничение, в размере 15 штук на возможное количество разделов для дисков SCSI и SATA.
В качестве примера мы покажем диск объемом 20 Гб, используемый в составе демонстрационного лэптопа (с установленными веб сервером, почтовым сервером, средой Гном, ...):
$ df -h Filesystem Type Size Used Avail Use% Mounted on /dev/hda5 ext3 509M 132M 351M 28% / /dev/hda2 ext3 5.0G 3.0G 1.8G 63% /home /dev/hda7 ext3 7.9G 6.2G 1.3G 83% /usr /dev/hda8 ext3 1011M 483M 477M 51% /opt /dev/hda9 ext3 2.0G 607M 1.3G 32% /var /dev/hda1 ext2 51M 17M 31M 36% /boot /dev/hda6 swap 516M 12M 504M 2% <не смонтирован>(Свободное пространство для будущего использования: 2 Гб)
Раздел, содержащий
Следующая часть описывает создание примерной схемы разделения диска, описанной ранее:
Раздел | Описание |
---|---|
Измените эту схему в соответствии с вашими пожеланиями.
# fdisk /dev/hda
Запустив
Command (m for help):
Type
Command (m for help): p Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders Units = cylinders of 15120 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 14 105808+ 83 Linux /dev/hda2 15 49 264600 82 Linux swap /dev/hda3 50 70 158760 83 Linux /dev/hda4 71 2184 15981840 5 Extended /dev/hda5 71 209 1050808+ 83 Linux /dev/hda6 210 348 1050808+ 83 Linux /dev/hda7 349 626 2101648+ 83 Linux /dev/hda8 627 904 2101648+ 83 Linux /dev/hda9 905 2184 9676768+ 83 Linux Command (m for help):
Конкретно этот диск разбит на семь Linux разделов (следует из того, что в списке отмечено как "Linux") и один раздел подкачки (в списке отмечен как "Linux swap").
Сначала мы удалим все существующие разделы с диска. Введите
Command (m for help): d Partition number (1-4): 1
Раздел будет отмечен для удаления. Он больше не будет отображаться если вы
введете
Теперь, подразумевая что вы действительно хотите удалить все разделы на вашей
системе, поочередно вводите
Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System Command (m for help):
Теперь, когда мы очистили таблицу разделов хранящуюся в памяти, настало время создавать разделы. Мы будем использовать схему разделения диска из нашего примера, о чем мы говорили ранее. Естественно не следуйте этим инструкциям если не хотите получить таблицу разделов идентичную нашей!
В первую очередь мы создадим маленький загрузочный раздел. Введите
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-3876, default 1):(Нажмите ввод) Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M
Теперь, когда вы введете
Command (m for help): p Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hda1 1 14 105808+ 83 Linux
Нам необходимо сделать этот раздел загружаемым. Введите
Давайте теперь создадим раздел подкачки. Чтобы сделать это введите
Command (m for help): p Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 14 105808+ 83 Linux /dev/hda2 15 81 506520 82 Linux swap
Ни и наконец, давайте создадим корневой раздел. Чтобы сделать это введите
Command (m for help): p Disk /dev/hda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 14 105808+ 83 Linux /dev/hda2 15 81 506520 82 Linux swap /dev/hda3 82 3876 28690200 83 Linux
Чтобы сохранить все сделанные изменения и выйти из
Command (m for help): w
Теперь, когда созданы все разделы перейдем к
Разделы созданы, настало время разместить файловые системы на них. Если вам
безразлично, какую ФС использовать и вы вполне довольны файловой системой,
используемой нами в этом Руководстве по-умолчанию, вы можете перейти к разделу
Ядро Linux поддерживает различные файловые системы. Мы расскажем о ext2, ext3, ReiserFS, XFS и JFS как о наиболее часто применяемых ФС в Linux-системах.
ext2 - это проверенная временем и родная для Linux файловая система, но она не обладает средствами журналирования метаданных, что при повседневном использовании означает, что проверка целостности во время запуска системы может оказаться весьма продолжительной. Сегодня существует достаточно широкий выбор ФС нового поколения, т.н. журналируемых файловых систем, которые могут быть проверены на целостность очень быстро и по этому более предпочтительны нежели их не журналируемые собратья. Журналируемая ФС позволяет избежать долгих задержек при старте системы и уменьшает риск порчи файловой системы.
ext3 - это журналируемая версия ext2. Она обладает средствами журналирования метаданных для быстрого восстановления наряду с другими режимами ведения журнала, такими как журналирование всех данных и упорядоченное ведение журнала данных. ext3 - это очень хорошая и надежная ФС. У нее есть дополнительная возможность индексации через хэшированные b-деревья, что позволяет повысить производительность практически в любой ситуации. Подводя итог, можно сказать, что ext3 - превосходная ФС.
ReiserFS - это ФС, основанная на т.н. B*-деревьях. Она обладает очень хорошей производительностью и сильно (иногда в 10-15 раз) превосходит ext2 и ext3 при работе с файлами малого размера (файлами, размером менее 4k). ReiserFS также очень хорошо масштабируется и обладает средствами журналирования. Начиная со времени выхода ядра версии 2.4.18, ReiserFS признана стабильной и пригодной для использования как в системах общего назначения, так и в системах с большой нагрузкой, такой как создание больших файловых систем, использованием множества файлов малого размера, файлов очень большого размера и каталогов, содержащих десятки тысяч файлов.
XFS - это файловая система, обладающая наряду со средствами ведения журнала хорошим набором дополнительных возможностей, оптимизированна для хорошей масштабируемости. Мы рекомендуем ее применение только в Linux-системах с высококлассными SCSI и / или fibre-channel дисками и оборудованными источниками бесперебойного питания. Из-за того, что XFS очень агрессивно кеширует данные в памяти, очень вероятная ситуация, когда неправильно спроектированная программа (не обладающая достаточной осторожностью при записи на файлов диск, но таких мало) может потерять большой объем информации при неожиданном отключении питания.
JFS - высокопроизводительная журналируемая файловая система производства IBM. Она только недавно получила статус готовой для применения в промышленности. Так как история ее применения еще мала, то трудно сказать что-то определенное о ее стабильности, плюсах и минусах.
Для создания файловой системы на разделе или томе существуют утилиты для каждого доступного типа:
Файловая система | Команда |
---|---|
К примеру, для создания загрузочного раздела (
# mke2fs /dev/hda1 # mke2fs -j /dev/hda3
Теперь разместите файловые системы на вновь созданных разделах (или логических томах).
# mkswap /dev/hda2
Для активации раздела подкачки используется
# swapon /dev/hda2
Создайте и активируйте раздел подкачки, используя команды, приведенные выше.
Теперь, когда разделы созданы и файловые системы размещены настало время
смонтировать эти разделы. Используйте команду
# mount /dev/hda3 /mnt/gentoo # mkdir /mnt/gentoo/boot # mount /dev/hda1 /mnt/gentoo/boot
Нам также необходимо будет смонтировать ФС proc (виртуальный интерфейс ядра) в
каталог
Переходите к разделу