Разметка жёсткого диска при установке linux

Менеджер томов и статическая разбивка

Менеджер томов (LVM2) — прослойка между файловой системой и железом. Он позволяет менять размер разделов, создавать и удалять разделы. Я скептически отношусь к нему и использую только статическую разметку диска. В защиту своей точки зрения могу привести несколько доводов против использования LVM:

  1. У меня не возникает потребности менять размеры разделов каждый день.
  2. Лишняя прослойка сказывается на скорости обращения к диску.
  3. Мне хватает статической разметки.

Последние версии соляриса (а теперь linux-а и BSD) позволяют устанавливать систему на разделы с ZFS. С помощью ZFS можно менять размеры разделов и делать снапшоты.

Зачем же может потребоваться делить диск на разделы?

  • Чтобы защитить данные.
  • Использовать разные файловые системы.
  • Иметь возможность отмонтировать раздел.
  • Использовать различные параметры монтирования для разных разделов(ro, nodev, nosuid, noexec)
  • Размещать их на разных жестких дисках.

/ — Корень

Этот раздел должен присутствовать обязательно.
При отсутствии других разделов на нём будут храниться все системные и пользовательские файлы. Это надо учитывать при определении его размера. Обычно производитель дистрибутива даёт рекомендации о минимальном размере корневого раздела.

Swap

Файл подкачки или своп нужен для размещения страниц памяти, которые в данный момент не используются. Своп можно сделать как отдельным разделом так и положить в файл на любой раздел(файл под своп можно создать с помощью утилиты dd). Первый вариант, конечно предпочтительней.

Рекомендуемый размер свопа равен удвоенному размеру оперативной памяти. В своп складывается информация из оперативной памяти при переходе в спящий режим.

Если вы не используете спящий режим, не запускаете тяжёлых приложений и у вас много оперативной памяти, можно уменьшить размер свопа или вообще отключить его.

Boot

Этот раздел помещается в начало диска. Причём его можно вообще не монтировать при загрузке или монтировать с опцией ro.
Размер ядра ~1.5-2M, так что 15-20M под этот раздел будет достаточно.
В качестве файловой системы рекомендуется ставить ext2.

Home

Раздел с домашними директориями пользователей /home можно выделить из соображений безопасности(монтировать его с опциями noexec, nosuid, nodev) или для увеличения надёжности системы.

Также можно использовать один раздел /home для нескольких операционных систем на одной машине.
Размер этого раздела определяется в соответствии с потребностями пользователей.

Var

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

А, например на машине с gentoo при компиляции OpenOffice-а требуется до пяти гигабайт свободного места в /var/tmp.
Размер этого раздела будет зависеть от выполняемой системой задачи.

Opt

При использовании стороннего софта, требующего много места на диске, можно вынести /opt на отдельный раздел и ставить этот софт в него. Это также повышает надёжность системы(поломка этой софтины никак не скажется на основной системе).

Usr

Здесь хранятся файлы пользователей, документация, разные иконки и прочее барахло. Есть любители отделить и этот раздел.

Tmpfs

Информацию в разделах /tmp /var/tmp /var/lock не обязательно хранить на диске.
В них разделах находятся временные файлы. При монтировании их в tmpfs всё содержимое будет размещено в памяти или в свопе. Дополнительно можно для этих разделов указать опции монтирования: noexec, nodev, nosuid, что повысит безопасность системы.

Другие разделы

Можно создать раздел с информацией не относящейся к основной системе или примонтировать раздел с другого жёсткого диска. Пример: /mnt/pron или /mnt/anime.

Fstab

Информация о файловых системах, точках монтирования и опциях содержится в файле /etс/fstab, или /etc/vfstab в солярисе.
подробнее об опциях монтирования можно узнать из справки man mount
о формате файла — man fstab.

Утилиты

Разметку диска обычно проводят при установке системы с помощью программы установщика.
Если при установке было оставлено неразмеченное место или возникла необходимость поменять разметку можно воспользоваться следующими утилитами:

  • fdisk
  • cfdisk
  • format — в солярисе
  • parted

Заключение

Несколько способов разметки диска:

Для десктопа:

swap     2 x ram_size
/            10G
/home - всё оставшееся место
/boot     20M   (noauto,noatime)
swap     2 x ram_size
/            10G
/home    по усмотрению   (noatime,noexec,nodev)
/tmp, /var/tmp, /var/lock - в tmpfs (noexec,nodev)

Для сервера:

/            10G
swap     2 x ram_size
/var       10G