Мы достаточно подробно рассмотрим аспекты работы с дисками в Gentoo Linux и Linux вообще, включая файловые системы, разделы и блочные устройства. Позже, когда вы уже освоитесь с дисками и файловыми системами, мы проведем вас через процесс настройки разделов и файловых систем для установки Gentoo Linux.
Для начала, давайте познакомимся с
Подобные блочные устройства представляют собой абстрактный интерфейс к диску. Прикладные программы могут использовать их для обращения к дискам, не беспокоясь, к какому типу те принадлежат: IDE, SCSI или какому-то еще. Программы могут просто обращаться к накопителю, как к набору смежных 512-байтных блоков с произвольным доступом.
Хотя теоретически для размещения системы Linux диск можно использовать целиком,
так почти никогда не делают на практике. Вместо этого большое физическое
блочное устройство разбивают на меньшие блочные устройства, более удобные для
обращения. В архитектуре
Существуют разделы трех типов:
На установочном компакт-диске для архитектуры
Если вам не интересно заниматься разработкой схемы для своей системы, можно воспользоваться схемой, используемой в этой книге:
Раздел | Файловая система | Размер | Описание |
---|---|---|---|
Если вам интересно узнать, какого размера должны быть разделы, и сколько их
вам вообще может потребоваться, то читайте дальше. В противном случае
приступайте к созданию разделов, описанному в главе
Количество разделов очень сильно зависит от назначения системы. Например, если
у вас много пользователей, вам, скорее всего, захочется отделить
Как видите, все зависит от ваших целей. Наличие отдельных разделов или томов имеет следующие плюсы:
Однако, у создания множества разделов есть один большой минус: при неправильной настройке можно получить систему, в которой много свободного места на одном разделе, и совершенно нет на другом. Кроме того, на дисках SCSI и SATA возможно создание не более 15 разделов.
Для примера мы покажем разбиение диска объемом 20ГБ, используемого в демонстрационном ноутбуке (с веб-сервером, почтовым сервером, средой Gnome и т.д.):
$ 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% <not mounted>(свободное место для будущего использования: 2 ГБ)
Раздел
В следующих разделах описывается, как разбить диск в соответствии с примерной схемой, описанной ранее, а именно:
Раздел | Описание |
---|---|
Эту схему вы можете изменять по своему усмотрению.
# fdisk /dev/hda
После запуска
Command (m for help):
Нажмите
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 (для которых в графе «System» указано «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.
Доступно несколько файловых систем. ext2 и ext3 признаны стабильными для архитектуры amd64. jfs и reiserfs могут работать, но требуют дополнительного тестирования. Если вы любите риск, то можете попробовать не поддерживаемые файловые системы.
ext2 — испытанная файловая система Linux, в которой отсутствуют средства журналирования метаданных. Поэтому ее рядовая проверка при запуске может быть очень долгой. Сегодня существует довольно много журналируемых файловых систем нового поколения, целостность которых проверяется очень быстро, и поэтому обычно есть смысл использовать их. Журналируемые файловые системы позволяют избежать долгих задержек при запуске, когда состояние файловой системы неустойчиво.
ext3 — это журналируемая версия ext2, где для ускорения восстановления появилось журналирование метаданных, а также другие режимы, наподобие полного или упорядоченного журналирования данных. ext3 — очень хорошая и надежная файловая система. В ней есть дополнительная возможность индексации через хэшированные сбалансированные деревья (b-tree), что в большинстве случаев обеспечивает высокую скорость.
ReiserFS — файловая система, построенная на B*-деревьях. У нее очень хорошая скорость, и она намного (часто в 10-15 раз) быстрее ext2 и ext3 при работе с маленькими файлами (менее 4КБ). ReiserFS также великолепно масштабируется; в ней есть средства журналирования. 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 (виртуальный интерфейс
ядра) в каталог
Переходите к разделу