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

Можно получить нормальную систему 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 (опционально: см. ниже)

Конечно, вышеупомянутые количества только приблизительные руководящие принципы. Все зависит от того, как планируется использовать систему.

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

Система точек монтирования позволяет добавлять диски по мере необходимости. Например, если кончилось место, и Вы добавили диск, скажем, 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 <32M /dev/sda2 2 2 168 346859 83 Linux native /dev/sda3 169 169 231 130851 82 Linux swap /dev/sda4 232 232 1009 1615906 5 Extended /dev/sda5 232 232 398 346828 83 Linux native /dev/sda6 399 399 1009 1269016 83 Linux native /dev/sdb1 1 1 509 2114355 83 Linux native /dev/sdb2 510 510 1019 2118540 83 Linux native

Первый раздел, /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 обновит таблицу разделов в памяти и перейдет к следующему шагу процесса установки.