LAMER. Linux Administration Made Easy Russian

       

Разделение на разделы жесткого диска


Можно получить нормальную систему Linux на одном разделе. Кстати, такой подход проще, но иногда нужно все же несколько разделов.

Диск имеет смысл поделить на четыре раздела для основных файловых систем (root, /usr, /home и swap).

Во-первых, это может уменьшить время, требуемое, чтобы выполнить проверки файловой системы, потому что эти проверки могут быть выполнены параллельно. (Между прочим, НИКОГДА не выполняйте fsck на смонтированной файловой системе!!! Вы будете сожалеть о том, что случится с ней после такой проверки, но будет уже поздно. Исключительная ситуация: если файловая система смонтирована в режиме только для чтения, тогда безопасно делать такое.) К тому же, проверять несколько разделов проще: если известно о проблеме в разделе /home, я просто размонтирую его, проверю и смонтирую снова (а вот в случае с одним разделом придется грузиться с rescue diskette в однопользовательском режиме).

Во-вторых, определенные разделы можно смонтировать только для чтения, что иногда полезно.

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

Этот небольшой факт может быть большым плюсом. Например, если корневой раздел так разрушен, что Вы не можете загружаться, Вы можете загружаться со спасательного набора дискет, смонтировать корневой раздел и скопировать с него все, что еще копируется, (или восстановить с копии; см. главу 8 о резервировании и восстановлении), на другой раздел, например, /home, снова перезагрузится с emergency boot disk, ввести “mount root=/dev/hda3” (если Ваша временная корневая файловая система находится на третьем разделе hda) и загрузить полностью функциональный Linux. Затем Вы можете выполнить fsck для несмонтированного разрушенного корневого раздела (замечание переводчика: мне известен сисоп, который специально создает такой резервный корневой раздел именно на случай, когда система взорвется).

Я имею личный опыт катастроф с файловыми системами и очень рад тому, что ущерб был минимален, благодаря правильному разделению на разделы.


Наконец, Linux позволяет поставить в другие разделы другие ОС (например, Windows 95/98/NT, BeOS или что хотите), и создать dual- (или triple-, ...) загрузку системы. Обычно, хотят иметь по крайней мере один отдельный раздел для каждой операционной системы. Linux включает приличный менеджер начальной загрузки (LILO на Intel-основанных системах, MILO на Alpha и SILO на Sparc), который позволяет Вам определять, которую операционную систему Вы хотите загружать при включении питания по умолчанию (вероятно, Linux, правильно?).

Вы должны выделить разделы диска согласно Вашим потребностям. В моем опыте на платформах Intel, Альфа и Sparc, для довольно загруженной системы, я нашел, что следующая схема работает вполне нормально.

Дано:

Данный диск X Mb/Gb (например, 2 Gb) (Или больше чем один диск с общей емкостью в X Mb/Gb)



Посчитаем:

(swap) примерно двойная RAM (например, 64 Mb RAM требует 128 Mb swap) / (root) около 10% от доступного (например, 200 Mb) /home около 20% от доступного (например, 400 Mb) /usr все, что осталось (например, 1272 Mb)

/var (опционально: см. ниже) /boot (опционально: см. ниже) /archive (опционально: см. ниже)
Конечно, вышеупомянутые количества только приблизительные руководящие принципы. Все зависит от того, как планируется использовать систему.

Ниже описаны разные файловые системы, что, возможно, даст Вам хорошие идеи по поводу того, чему сколько выделить:



  • / (root) используется для хранения временного каталога, образа ядра, загрузчика, важных системных программ и библиотек. Здесь же хранятся протоколы, почта пользователей, задания на печать и временные RPM-файлы. Тип раздела обязательно 83 (Linux native).

    /usr должен быть самым большым разделом, потому что большинство двоичных файлов, требуемых Linux, также как все локальное программное обеспечение, некоторые протоколы и все исходники будут здесь. К тому же, по умолчанию здесь хранятся web-страницы, Squid-кэш и ресурсы Samba, хотя все это можно переместить куда-нибудь еще. Тип раздела обязательно 83 (Linux native).



    / home может быть небольшим, если пользователи не имеют shell-доступа. Если пользователи имеют web-страницы, раздел надо сделать побольше. Тип раздела обязательно 83 (Linux native).

    (swap) Linux обеспечивает работу с виртуальной памятью, для создания большего количества памяти RAM, чем ее реально установлено в системе. Раздел свопа используется с RAM, чтобы выполнить это. Как правило, раздел свопа по крайней мере вдвое превосходит RAM.

    Если Вы имеете больше чем один физический жесткий диск в системе, Вы можете создавать много разделов свопа. Это может улучшить эффективность подкачки, пользуясь преимуществом параллельного дискового доступа. Например, с 256 Mb RAM и с четырьмя дисками, я вероятно создал бы четыре раздела свопа по 128 Mb каждый. Таким образом, получится для 256 Mb RAM 512 Mb свопа (а всего 768 Mb доступной виртуальной памяти, что уже солидно). Тип раздела обязательно 82 (Linux swap).

    Замечание: Есть общее неправильное представление, что Linux имеет ограничение размера свопа в 128 МБ. Это было истинно в прошлом, но в современных версиях Linux размер зависит от архитектуры (например, Intel системы могут иметь размер свопа до 2 Gb). Подробности можно получить командой ``man mkswap''.
    /var (опционально). Раздел / (root) может быть разделен и более глубоко. Каталог /var используется для хранения почты, заданий на печать протоколов, обработки блокировки и т.д. Проблема в том, что при поступлении большого количества почты (например), корневой раздел быстро заполнится, что может привести к проблемам (например, система рухнет?), особенно если временный каталог находится тоже на нем. Наличие /var на собственном разделе может помочь избежать таких проблем. Тип раздела обязательно 83 (Linux native).

    /boot (optional) В некоторых обстоятельства (типа системы, установленной в программной конфигурации RAID) может быть необходимо иметь отдельный раздел, чтобы загрузить Linux. Этот раздел позволит загрузиться и затем загрузить любые драйверы, которые требуются, чтобы читать другие файловые системы. Размер раздела может быть всего пара МБ; я рекомендую приблизительно 10 МБ (что должно дать Вам участок памяти, чтобы сохранить ядро, начальный образ RAMDISK, и, возможно, еще резервное ядро или два). Тип раздела обязательно 83 (Linux native).



    /archive (optional) Если Вам некуда девать место, может пригодиться каталог для архивов /archive. Его можно использовать для хранения всяких архивов перед их сбросом на стриммер, пердоставления к ним доступа через samba file services, да мало ли для чего еще! Тип раздела можно задать 83 (Linux native), или какой угодно, если раздел должен быть доступен из других систем. Например, 6 (DOS 16-bit >=32M) для доступа из систем Microsoft.



Система точек монтирования позволяет добавлять диски по мере необходимости. Например, если кончилось место, и Вы добавили диск, скажем, sda6, то можно смонтировать его как /usr/local и передать на него все данные из каталога /usr/local. Но система и приложения как работали, так и будут работать: им совершенно все равно, где это /usr/local находится реально.

Вот как созданы разделы у меня на Intel-системе (dual boot, Windows 95 и Linux):

Device Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 254 1024096+ 6 DOS 16-bit >=32M /dev/hda2 255 255 782 2128896 5 Extended /dev/hda5 255 255 331 310432+ 83 Linux native /dev/hda6 332 332 636 1229728+ 83 Linux native /dev/hda7 637 637 749 455584+ 83 Linux native /dev/hda8 750 750 782 133024+ 82 Linux swap

Первый раздел, /dev/hda1, файловая система DOS, используется для альтернативной системы (Windows 95). Занимает 1 Gb.

Второй раздел, /dev/hda2, является физическим разделом (“extended”) который охватывает остальное место на диске. Это используется только для размещения оставшихся логических разделов. (может быть до 4 физических разделов на диске; в моем случае я требовал больше чем 4 раздела, следовательно я был должен использовать логическую схему для выделения остальных разделов).

Разделы с третьего по пятый, /dev/hda5, /dev/hda6 и /dev/hda7, отформатированы в файловой системе ext2fs, и использованы как файловые системы для / (root), /usr и /home соответственно.

Наконец, шестой раздел, /dev/hda8, используется под своп.

Другой пример: машина на Alpha с двумя жесткими дисками (sole boot, только Linux):

Device Boot Begin Start End Blocks Id System /dev/sda1 1 1 1 2046 4 DOS 16-bit
<


Первый раздел, /dev/sda1, DOS-раздел, используется для хранения MILO boot loader. Платформа Alpha имеет немного другой метод загрузки, чем система Intel, следовательно Linux сохраняет информацию начальной загрузки в разделе FAT. Этот раздел только должен быть как можно меньше, в данном случае 2 Mb.

Второй раздел, /dev/sda2, ext2, использован для раздела / (root).

Третий раздел, /dev/sda3, использован для свопа.

Четвертый раздел, /dev/sda4, является разделом “extended” (см. предыдущий пример).

Пятый и шестой разделы, /dev/sda5 и /dev/sda6, отформатированы в файловой системе ext2 и соответственно использованы для /home и /usr.

Седьмой раздел, /dev/sdb1, тоже ext2fs, использован для /archive.

Восьмой и последний раздел, /dev/sdb2, тоже ext2fs, использован для /archive2.

После выделения разделов надо записать информацию о них на диск. После этого программа установки Red Hat обновит таблицу разделов в памяти и перейдет к следующему шагу процесса установки.

Назад Оглавление Вперед
Booting Linux Installation Program Локальное оглавление Setting up Swap Space

Содержание раздела