Домашняя страница Ерёмина Антона (frenzon)

 

UBUNTU: разметка жесткого диска

Варианты разметки носителя информации для установки linux



Предполагается, что у нас на жестком диске не имеется никаких там "Виндофсоф". Иначе стратегия разметки немного меняется, хотя принципы остаются теми же. Я рассчитываю это для рабочей тачки, а не для сервера, где желательно сделать несколько по-другому. Для удобства условимся, что имеем винт с размером не менее 80 Гб, а ОЗУ - 500 Мб. В противном случае, значения размеров партиций я бы предложил другие. Слова партиция и раздел - это синонимы.

Вариант 1 - простой
Все ясно из названия. Подобный вариант предлагают, наверное все современные дистрибутивы при установке для "совсем новичков". И это справедливо. Ведь есть всего 2 раздела: swap - это раздел подкачки, и / - это корневой раздел где располагается все остальное, включая домашний каталог и прочее. Подобную разметку я использую в виртуальных машинах - быстро и удобно. Разделы на диске - Primary.

SWAP - 500Mb
/ - Все остальное пространство

Вариант 2 - оптимальный
Очень выгодный вариант разметки. Все четко и оптимально. Все разделы Primary. На мой взгляд, это лучшее решение, если нам не сильно принципиален высокий уровень безопасности системы.

/ - 5-10 Gb
SWAP -500Mb
/Home - все остальноу пространство (nodev, noexec)

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

Вариант 3 - безопасный.
Если имеется постоянный выход в интернет (например по выделенной линии), тогда бы я сделал разделов больше. И связанно это, прежде всего, с точки зрения безопасности. Как ни крути, а машины под Линуксом так же подвержены атакам и взлому "из вне", разве что вирусов я пока не встречал. Поэтому, предлагается такая схема:

primary /boot 20Mb ro
primary swap 500 Mb
extended / 5-10Gb
logical /tmp 1-2 Gb (nodev, nosuid, noexec)
logical /var/log 500 Mb (noexec)
primary /home Остальное (nodev, noexec)

Для разделов я указал еще параметры монтирования. Их можно задать во время установки Ubuntu, но предпочтительно прописать или изменить в файле /etc/fstab. На мой взгляд, это гораздо удобнее.

/boot
В этом разделе размещаются статические файлы: образы ядра, конфиги, рамдиски и загрузчик. Основной смысл отдельного монтирования - сделать его "только для чтения". Это исключает всякую возможность каким-либо вирусам либо троянским программам, прописаться в загрузчике для автоактивации при загрузке системы. Я считаю этот шаг достаточно эффективной мерой по защите своей системы.

Значение параметра: ro — доступ только для чтения.

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

# mount -o remount,rw /boot

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

# mount -o remount,ro /boot

Не забываем "выходить" из каталога перед операциями перемонтирования, иначе система ругнется на это.

Для этого раздела оптимально использовать ext2 файловую систему, так как обращение загрузчика производится без помощи ОС, а журналирование здесь не нужно.

/swap

На счет файла подкачки не все так однозначно. Существуют различные мнения по поводу размера swap-раздела, в зависимости от размера оперативки. Как я понял, то в ноутбуках имеет смысл делать swap-раздел размером с оперативку, так как в режиме "засыпания" ноут должен скинуть всю свою оперативную память на жесткий диск.

Где-то я встречал рекомендации, что достаточно делать swap-раздел в половину от объема ОЗУ. В таком варианте я работал довольно долго, и хочу отметить, что он вполне приемлем для работы. Однако, в связи с появлением возможности использования виртуальных машин типа QEMU и Virtual Box, такого расчета раздела подкачки оказывается недостаточно.

При использовании большого объема ОЗУ все немного иначе. Есть утверждение, что при использовании ОЗУ в 2 Гб и более, swap-раздел не нужен вообще. С этим трудно спорить, и я сделал бы также (при наличии такого количества памяти). Но, повторюсь, что для ноутбуков раздел подкачки - вещь актуальная.

Вывод: каждый решает сам, но в данном случае используем вариант расчета swap-раздела, когда он равен объему оперативки.

/ (корневой раздел)
Какие-то специальные параметры монтирования этого раздела, я обычно не задаю. Система сама прописывает в файле /etc/fstab следующее:

defaults,errors=remount-ro

Это означает, что подключение происходит с параметрами по умолчанию, а в случае каких-либо ошибок (которые, например, могут возникнуть при загрузке Дебиана), данный раздел будет подмонтирован в режиме "только для чтения". Что меня вполне устраивает.

Файловую систему, я обычно применяю ext3, т.к. журналирование здесь очень даже не помешает.

/tmp
Это каталог хранения временных файлов, и после перезагрузки он должен быть пустым.
Смысл его выноса на отдельную партицию, это исключить дыру в безопасности системы.
Именно поэтому накладываем ограничения в виде nodev, nosuid, noexec. Значения параметров:

* nodev - не позволяет создавать и использовать на этой файловой системе файлы символьных или блочных устройств
* nosuid — на этой файловой системе не действует бит suid (исполнение программы от имени её владельца, а не запустившего её пользователя)
* noexec — запрет запуска с этой файловой системы (однако, скрипты всё равно можно будет запустить командой bash скрипт.sh)

а счет опции noexec бывали случаи, что некоторый софт (как я понял - не очень корректно написанный) требует возможности запуска с этой файловой системы, поэтому тут нужно пробовать. Я бы рекомендовал после завершения инсталляции всех необходимых программ в системе попробовать включить эту опцию (помним, что это делается в файле /etc/fstab) и поработать в ней. В случае каких-то проблем в работе, отключить ее (удалить с /etc/fstab и перегрузиться, например) и снова попробовать работать. В общем в таком ключе. Еще раз отмечу, что эта опция очень важный момент в безопасности системы.

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

/var/log
Многие советуют подключать как отдельную партицию и сам каталог /var, но я ограничился лишь этим каталогом, т.к. считаю, что это важнее с точки зрения безопасности, но так же не охота создавать на своем десктопе "гирлянду" из разделов. Это пришло, наверное, от серверов, т.к. при сбоях или DoS атаках размер журналов может резко увеличиваться, тем самым переполняя этот раздел. И если он не вынесен в отдельный раздел, т.е. находится в разделе /(корневом), то его переполнение может заблокировать всю систему целиком. А так - ничего страшного не произойдет, разве что ошибки о невозможности создания журнала.

Значения параметра:
noatime - при каждом доступе (в том числе чтении) к файлу в inode обновляется время последнего доступа к файлу, что требуется крайне редко, при использовании этой опции это обновление производиться не будет. Важность установки опции noatime в том, что она устраняет необходимость операции записи в файловую систему для файлов, которые просто читаются. Так как запись "дорогая" операция, то ее отсутствие может существенно улучшить эффективность системы.

Для него наилучшим решением будет файловая система reiserfs с опциями noexec, nodev, noatime.

/home
Вот пример строчки из моего файла /etc/fstab:

/dev/sda3 /home ext3 nodev,noexec 0 2

Значения параметров монтирования приведены выше. Однако, если мы не устанавливаем параметр noexec, то nosuid - очень желателен.

Файловую систему, наверное имеет смысл делать reiserfs, однако у меня это ext3: как-то так повелось исторически, а переделывать я не стал.

Заключение
По поводу размещения файловых систем на диске, скажу лишь следующее: /boot лучше разместить в самом начале жесткого диска. За ним желательно разместить раздел подкачки /swap. Начало диска физически располагается на внешней стороне цилиндра. Поэтому при свопировании, головкам жесткого диска не придется совершать лишние движения при работе с данными, в результате - за один оборот головка охватывает большую поверхность. Ну а остальное - на ваше усмотрение.

автор: astrolon (http://astrolon.at.ua/)


Создан 27 мар 2010



  Комментарии       
Имя или Email


При указании email на него будут отправляться ответы
Как имя будет использована первая часть email до @
Сам email нигде не отображается!
Зарегистрируйтесь, чтобы писать под своим ником