Gentoo Logo

1.  Общие сведения о блочных устройствах

Блочные устройства

Мы достаточно подробно рассмотрим аспекты работы с дисками в Gentoo Linux и Linux вообще, включая файловые системы, разделы и блочные устройства. Позже, когда вы уже разберетесь с вводом-выводом на диск и файловыми системами мы поможем вам с разметкой диска на разделы и файловые системы для вашей установки Gentoo Linux.

Для начала давайте познакомимся с блочными устройствами. Наиболее известным блочным устройством, вероятно, является устройство, представляющее собой первый SCSI диск в Linux системе, и известное как /dev/hda.

Блочные устройства, аналогичные приведенным примерам, представляют собой абстрактный интерфейс к диску. Это позволяет пользовательскому ПО использовать эти блочные устройства для обращения к дискам не беспокоясь, к какому типу они принадлежат: IDE, SCSI или какому-то еще. ПО может адресовать место на диске, как набор смежных 512-байтных блоков с произвольным доступом.

Разделы и slices

Не смотря на то, что теоретически возможно использовать весь диск для размещения вашей Linux системы, этого почти никогда не случается на практике. Вместо этого все большое блочное устройство (диск) разбивается на меньшие, более удобные для обращения, блочные устройства. Для всех систем они называются разделами. Другие архитектуры используют похожую технологию, называемую slices.

1.  Разработка схемы разделения диска

Сколько и какого размера?

Количество разделов очень сильно зависит от используемого ПО. Например если в вашей системе зарегистрировано большое количество пользователей, вероятно вы захотите, чтобы /home находился отдельно для увеличения безопасности и упрощения создания резервных копий. Если вы устанавливаете Gentoo в качестве почтового сервера, то /var должен находиться на отдельном разделе, т. к. вся почта хранится в /var. Правильный выбор файловой системы для разделов позволит увеличить производительность вашей системы. Игровые серверы должны иметь отдельный раздел с /opt, т. к. большая часть ПО для их работы устанавливается в этот каталог. Причина выделения на собственный раздел аналогична для /home: безопасность и резервные копии. Определенно стоит оставить побольше места для /usr т.к. помимо того, что здесь хранится большинство приложений, одно дерево Portage занимает около 500 МБ, не считая архивов с исходными кодами, размещенных внутри дерева.

Как вы можете видеть, все зависит от ваших целей. Наличие отдельных разделов или томов имеет следующие преимущества:

  • Вы можете выбрать наиболее подходящую файловую систему для каждого раздела или тома.
  • Вы не столкнетесь с нехваткой места на диске для всей системы, например если какое-нибудь неправильно работающее приложение постоянно производит запись на раздел или том.
  • В случае необходимости проверка ФС займет меньше времени, т. к. проверка разных разделов может выполняться параллельно (однако еще больший выигрыш по времени дает использование нескольких физических дисков).
  • Безопасность системы может быть улучшена если некоторые разделы будут смонтированы в режиме read-only (только для чтения), nosuid (setuid бит игнорируется), noexec (бит запуска игнорируется) и т.д.

Однако, создание множества разделов имеет один большой минус: при неправильной настройке вы можете получит систему в которой много свободного места на одном разделе и полная его нехватка на другом. Также существует ограничение, в размере 15 штук на возможное количество разделов для дисков SCSI и SATA.

1.  Использование fdisk в HPPA для создания разделов

Используйте fdisk для создания необходимых разделов:

Листинг 1.1: Разделение диска

# fdisk /dev/sda

Компьютеры HPPA используют стандартные таблицы разделов DOS. Чтобы создать новую таблицу, просто задействуйте команду o.

Листинг 1.1: Создание табицы разделов DOS

# fdisk /dev/sda

Command (m for help): o
Building a new DOS disklabel.

Для PALO (начальный загрузчик HPPA) для работы необходим специальный раздел. Для ээтого вам необходимо создать в начале диска раздел размером не меньше 16 МБ. Тип раздела должен быть f0 (Linux/PA-RISC boot).

Важно: Если вы проигнорируете это и продолжите без специального раздела PALO, ваша система перестанет любить вас и не сможет загружаться. Если ваш диск больше 2 ГБ, также проверьте, что загрузочный раздел находится в первых 2 ГБ диска. Иначе PALO не сможет прочитать ядро за пределами 2 ГБ.

Листинг 1.1: Простая схема разделов по умолчанию

# cat /etc/fstab
/dev/sda2    /boot   ext3    noauto,noatime   1 1
/dev/sda3    none    swap    sw               0 0
/dev/sda4    /       ext3    noatime          0 0

# fdisk /dev/sda

Command (m for help): p

Disk /dev/sda: 4294 MB, 4294816768 bytes
133 heads, 62 sectors/track, 1017 cylinders
Units = cylinders of 8246 * 512 = 4221952 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1           8       32953   f0  Linux/PA-RISC boot
/dev/sda2               9          20       49476   83  Linux
/dev/sda3              21          70      206150   82  Linux swap
/dev/sda4              71        1017     3904481   83  Linux

Теперь, когда разделы созданы, вы можете продолжить с создания файловых систем.

1.  Создание файловых систем

Введение

Разделы созданы, настало время разместить файловые системы на них. Если вам безразлично, какую ФС использовать и вы вполне довольны файловой системой, используемой нами в этой Настольной книге по-умолчанию, вы можете перейти к разделу Размещение файловых систем на разделе. Если нет, то продолжайте чтение и узнайте больше о доступных для использования файловых системах...

Файловые системы?

Доступно несколько файловых систем. ext2, ext3, ReiserFS и XFS признаны стабильным для архитектуры HPPA. Поддержка других еще экспериментальна.

ext2 — это проверенная временем и родная для Linux файловая система, но она не обладает средствами журналирования метаданных, что при повседневном использовании означает, что проверка целостности во время запуска системы может оказаться весьма продолжительной. Сегодня существует достаточно широкий выбор ФС нового поколения, так называемых журналируемых файловых систем, которые могут быть проверены на целостность очень быстро и по этому более предпочтительны нежели их не журналируемые собратья. Журналируемая ФС позволяет избежать долгих задержек при старте системы, если при том ваша файловая система оказалась в нестабильном состоянии.

ext3 — это журналируемая версия ext2. Она обладает средствами журналирования метаданных для быстрого восстановления наряду с другими режимами ведения журнала, такими как журналирование всех данных и упорядоченное ведение журнала данных. ext3 — это очень хорошая и надежная ФС. У нее есть дополнительная возможность индексации через хэшированные B-деревья, что позволяет повысить производительность практически в любой ситуации. Вы можете включить индексирование, добавив -O dir_index к команде mke2fs. Подводя итог, можно сказать, что ext3 — превосходная ФС.

ReiserFS — это ФС, основанная на так называемых B*-деревьях. Она обладает очень хорошей производительностью и сильно (иногда в 10—15 раз) превосходит ext2 и ext3 при работе с файлами малого размера (размером менее 4 КБ). ReiserFS также очень хорошо масштабируется и обладает средствами журналирования. Начиная со времени выхода ядра версии 2.4.18, ReiserFS признана стабильной и пригодной для использования как в системах общего назначения, так и в системах с большой нагрузкой, такой как создание больших файловых систем, использованием множества файлов малого размера, файлов очень большого размера и каталогов, содержащих десятки тысяч файлов.

XFS — это файловая система, обладающая наряду со средствами ведения журнала хорошим набором дополнительных возможностей, оптимизирована для хорошей масштабируемости. Мы рекомендуем ее применение только в Linux-системах с высококлассными SCSI и/или оптоволоконными дисками и оборудованными источниками бесперебойного питания. Из-за того, что XFS очень агрессивно кеширует данные в памяти, очень вероятна ситуация, когда неправильно спроектированная программа (не обладающая достаточной осторожностью при записи файлов на диск, но таких мало) может потерять большой объем информации при неожиданном отключении питания.

JFS — это высокопроизводительная журналируемая файловая система, разработанная корпорацией IBM. Она недавно получила статус готовой для применения в промышленности. Так как история ее применения еще мала, то трудно сказать что-то определенное о ее стабильности, плюсах и минусах.

Размещение файловых систем на разделе

Для создания файловой системы на разделе или томе существуют утилиты для каждого доступного типа:

Файловая система Команда
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs

К примеру, для создания загрузочного раздела (/dev/hda2 в нашем примере) с ФС ext2 и корневого раздела (/dev/sda4 в нашем примере), вы должны выполнить следующие команды:

Листинг 1.1: Размещение ФС на разделе

# mke2fs /dev/sda2
# mke2fs -j /dev/sda4

Теперь разместите файловые системы на вновь созданных разделах (или логических томах).

Активация раздела подкачки

mkswap — команда, используемая для инициализации раздела подкачки:

Листинг 1.1: Создание сигнатуры раздела подкачки

# mkswap /dev/sda3

Для активации раздела подкачки используется swapon:

Листинг 1.1: Активация раздела подкачки

# swapon /dev/sda3

Создайте и активируйте раздел подкачки командой, описаной выше.

1.  Монтирование

Теперь, когда разделы созданы и файловые системы размещены настало время смонтировать эти разделы. Используйте команду mount. Не забудьте предварительно создать необходимые каталоги для монтирования каждого раздела. В этом примере мы создаем точку монтирования и монтируем корневой раздел:

Листинг 1.1: Монтирование разделов

# mount /dev/sda4 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda2 /mnt/gentoo/boot

Примечание: Если вы хотите разместить /tmp на отдельном разделе, не забудьте изменить права доступа к этому каталогу после монтирования: chmod 1777 /mnt/gentoo/tmp. В этом каталоге также размещается /var/tmp.

Нам также необходимо будет смонтировать ФС proc (виртуальный интерфейс ядра) в каталог /proc. Но для начала надо разместить необходимые нам файлы на разделах.

Переходите к разделу (Подготовка установочных файлов Gentoo).

Обновлено 2 августа 2005

Исходный документ обновлен 17 октября 2011

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.