|
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).
|