Какую стратегию вы предпочитаете для настольных компьютеров и / или серверов при разделении нового системного диска (ов) для UNIX?
Пожалуйста, укажите структуру разделов диска, формат (ы) и параметры файловой системы, точки монтирования, уровни RAID, группы и тома LVM, шифрование и любые другие соответствующие настройки.
Я поклонник LVM для такого рода проблем. Вам просто нужно немного места для / boot (я использую около 100 МБ). В сочетании с файловыми системами, которые могут динамически расти и сжиматься (или, по крайней мере, расти), вам больше никогда не придется думать о небольших разделах.
На своем рабочем столе я использую LVM с XFS в качестве файловой системы для всех разделов. Я создаю как можно меньше и позволяю им расти, поскольку мне нужно больше места.
Если это Linux, создайте отдельный / boot.
Для других вариантов Unix я обычно рекомендую разделы для / и / var, данные обычно монтируются в / u001, / u002 и т. Д.
Раньше существовала необходимость в сильном разбиении, поскольку дисковое пространство было ограничено, и вы не хотели, чтобы один заполненный раздел приводил к остановке всей системы. Благодаря значительно увеличенному хранилищу, доступному сегодня, а также множеству доступных вариантов изменения размера и виртуализации, потребность во многих разделах IMO снизилась. Это в сочетании с тем фактом, что перемещать объекты сложно, когда у вас много разделов, означает, что если вы можете обойтись меньшими затратами, сделайте это.
Свопинг как 2xRAM не имеет смысла, если у вас, скажем, 32 ГБ памяти. Так что помните, что «правила» на самом деле являются руководящими принципами, и некоторые из них просто не имеют смысла в свете более нового оборудования, доступного сейчас.
Есть две очень веские причины для разбиения, помимо типа FS:
Не допускайте перелива из приложения, влияющего на функциональность системы. Если ваше приложение заполняется /usr
, тогда полезно оставить немного места на /var
чтобы позволить системе продолжить работу и записать журналы.
Джаудер сказал выше, что это сводится на нет сегодняшним размером жестких дисков - я не думаю, что это строго верно. Наши диски могут быть больше, но объем передаваемых нами данных постоянно увеличивается. Не нужно успокаиваться.
Варианты крепления. Вы можете более тщательно определить, какие разрешения должен принимать каждый раздел. Например, рекомендуется не разрешать запускать файлы, особенно suid, из /tmp
поскольку это распространенный вектор атаки для компьютеров, обслуживающих веб-приложения. Если вы не используете тюрьмы, вы не должны ожидать увидеть узлы устройств где-либо, кроме /dev
. И так далее.
например.
/ noatime
/tmp noatime,nodev,nosuid,noexec
/var noatime,nodev,nosuid
/usr noatime,nodev
/home noatime,nodev,nosuid
Планирование хорошей структуры разделов во многом зависит от фактического знания того, как вы собираетесь использовать систему. Любой случайный совет, не учитывающий то, что делает система, не принесет особой пользы.
Все модные файловые системы могут быть полезны при случае, но если вам нужна стабильная система, может быть лучше просто придерживаться «стандартной» файловой системы (например, ext3), если у вас нет очень веской причины использовать что-то еще.
RAID - это хорошо, я всегда использую RAID1 на всех своих персональных компьютерах, потому что слишком много жестких дисков вышли из строя.
Шифрование с чем-то вроде dm-crypt хорошо, если ваша система - портативное устройство, имеет важные данные или вы просто параноик.
При планировании перегородок очень полезно хорошо разбираться в таких вещах, как Стандарт иерархии файловой системы и если / как выбранный вами unix отклоняется от стандарта.
С помощью LVM может значительно упростить изменение вашего мнения в будущем и настройку разделов без перезагрузки., а его способность создавать моментальные снимки может быть очень простой для создания хороших резервных копий. Используйте LVM и не выделяйте сразу все свое пространство.
Разбиение физических дисков
Начать минимум с 2-х дисков:
#1 100MB, ID=83 (Linux), Boot Flag ON #2 Remaining, ID=FD (Linux Raid Auto)
Раздел 100 МБ предназначен для тома / boot. Я оставляю это на всех моих дисках (даже не загружаемых), чтобы обеспечить гибкость, так что позже любой диск можно будет включить для загрузки. ЕСЛИ диски не совпадают по размеру или у вас нечетное число (500 ГБ, 250 ГБ x 2), разделите разделы диска 500 ГБ для соответствия меньшим дискам.
RAID
Использование разделов 100 МБ на sda
и sdb
создать том RAID1 (зеркальный) для /boot
. Это становится md0
.
md0 /boot 100MB Ext2
Не беспокойтесь об использовании экзотической ФС в / boot, это того не стоит.
Оставшееся пространство можно настроить разными способами. Я выбираю RAID10 (зеркало / полоса) с использованием блоков 64 КБ и «2 удаленных копии» для скорости. Это дает вам большую гибкость для постепенного обновления приводов в дальнейшем. Другой вариант - сделать RAID5 / 6. Однако доступное пространство будет ограничено самым маленьким разделом, и НЕ используйте разделы с одних и тех же устройств. Назовите новые массивы RAID md1
, md2
, и так далее.
LVM
Возьмите все RAID-массивы, кроме md0
, и поместите их в одну группу томов LVM с именем lvm_vg0
. Если у вас есть тома RAID5 и RAID10, вероятно, лучше не объединять их, но я думаю, это не повредит.
Разметьте VG0 для оставшихся системных креплений. Помните, что при необходимости относительно легко добавить больше места, поэтому эти числа могут быть несколько консервативными.
lvm_vg0-root / 8GB Ext3/ReiserFS (core distro files) lvm_vg0-home /home 20+GB Ext3/ReiserFS (user data, documents) lvm_vg0-data /data 60+GB XFS (media, large files, vm's)
Имейте в виду, что файловые системы XFS нельзя сжать. Кроме того, возможно, не поддерживается сжатие корневого тома в сети.
Обновление Если вы когда-нибудь захотите поменять диски на диски большего размера, у вас есть несколько вариантов. Самый простой - добавить диски парами или более и добавить новые массивы RAID в текущую группу LVM VG.
Другой вариант - добавить один диск, который> = к сумме текущего пространства. Например, если у вас есть два устройства по 100 ГБ в RAID10, вы можете добавить новое устройство на 200 ГБ и зеркалировать его, используя два старых устройства. Это более подвержено ошибкам, но будет работать.
Если нужно, md#
устройства можно удалить из LVM VG без потери данных. Это можно сделать, если имеется достаточно свободного места LVM для перемещения всех используемых блоков LVM из md#
устройство другим. LVM может использовать только пространство, которое не было назначено LV, поэтому пустая файловая система не считается «свободным» пространством.
Я просто запускаю рабочие станции Linux. Я использую файловую систему ext3, и ее размеры в некоторой степени зависят от размера дисков, больше с разделами на больших дисках. Они примерно в том порядке, в котором они появляются в таблице разделов:
На рабочих станциях моей жены в университете, у которых есть два диска по 750 ГБ, мы создали, в дополнение к вышеупомянутому, дюжину разделов ~ 100 ГБ на различных дисках, все они смонтированы в / data / N, где N было числом от 1 до 12. Она использует их для хранения данных для своих различных исследовательских проектов.
используйте noatime на всех дисках (если у вас нет причин не делать этого) Я монтирую / tmp в tmpfs, хотя это может быть не так хорошо на сервере, я бы сделал отдельный раздел и смонтировал его nodev, nosuid, noexec, noatime . Я всегда использую ext2 для / boot, поэтому мне не нужно беспокоиться об изменении файлов fs, что может повлиять на мою способность загружаться с grub. ext4 во всем остальном, я использую journal = data on / home, что, вероятно, немного замедляет работу (так как у него нет Dealloc), но я никогда не терял данные с journal = data и был немного последним / лучшим шлюха, иногда моя система зависает, и мне приходится делать ее полную перезагрузку (потому что я пробовал что-то вроде kms и нашел ошибку).
Вау, хороший вопрос. Я занимался серфингом в поисках идеального ответа на этот вопрос для новичков.
Лично у меня 50 МБ / boot ~ 8 ГБ /, а остальное идет в / home, хотя это далеко не идеально. Мне нужно изучить альтернативные файловые системы, в настоящее время я использую ext3, но я слышал много хороших отзывов о других файловых системах, например, XFS.
Я обычно также создаю файловый контейнер для / tmp просто, чтобы в будущем я мог быть более гибким с ним.