С виртуализацией все же имеет смысл использовать несколько точек монтирования?

15

В 2013 году имеет ли смысл по-прежнему иметь несколько точек монтирования в новом образе Linux, или же выделение всего пространства для / имеет больше смысла?

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

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

Ответы:

17

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

Со многими виртуальными машинами вы все равно захотите разделить IO. Возможно, вы захотите, чтобы ваши базы данных располагались на отдельных шпинделях, и единственный способ добиться этого - создать отдельную точку монтирования для расположения вашей базы данных. Помимо баз данных, это обеспечивает более гибкую гибкость в будущем, если вы перерастете свой оригинальный дизайн.

Короче говоря, да, есть все еще веские причины для этого в 2013 году.

MDMarra
источник
Не будет ли машина все еще падать, даже если / var (или / tmp) все равно заполнится?
лук репчатый
2
@onionjake Нет, не обязательно. Но они потерпят крах, если /заполнятся.
ewwhite
Спасибо за сообщение о выходе из-под контроля логов. Эти конкретные виртуальные машины используют SAN, поэтому я считаю, что IO уже распределен, и в этой конкретной ситуации меня это не беспокоит.
Джереми Маллин
В дополнение к этому, если вы хотите, чтобы одна виртуальная машина охватывала несколько пулов VMFS в ESXi, вам придется использовать несколько виртуальных дисков (которые для виртуальной машины выглядят как физические диски). Вы все еще можете объединить их в одну точку монтирования с LVM, если действительно хотите, но, на мой взгляд, это плохая практика.
Пол Гир
5

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

Всего 2 или 3, особенно с одним, который варьируется по размеру. Это зависит от того, что вы используете. Я бы сказал просто / (относительно стабильно) и / var (меняется). В зависимости от операционной системы и геометрии диска может потребоваться / boot. Вероятно, / tmp - это монтирование tmpfs, установленное установщиком.

Изменяющиеся (в основном / var, но это могут быть просто / var / log и / var / lib / mysql и т. Д.) Тома, о которых вам следует беспокоиться и планировать расширение. Поэтому, если возможно, используйте lvm и т. Д., Чтобы упростить изменение размера.

johnshen64
источник
1
Я лично использую LVM, и загрузка должна быть в отдельном разделе, а не в той группе томов, которую я считаю (если вы используете устаревшую версию grub).
4

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

Я не фанат виртуальных машин с одной или несколькими точками монтирования (если они не одноразовые). Я отношусь к виртуальным машинам так же, как к физическим серверам. Выравнивание разделов с некоторыми из Стандартов Иерархии Файловой системы Linux все еще имеет смысл с точки зрения логического разделения исполняемых файлов, разделов данных, временного хранения и хранения журналов. Это также облегчает ремонт системы. Это особенно верно для виртуальных машин и серверов, полученных из шаблона.

(Кстати, я не люблю LVM на виртуальных машинах ... Планируйте лучше !! )

В моих системах я стараюсь сделать следующее:

  • / как правило, маленький и не растет много.
  • /boot предсказуемо по размеру, а рост контролируется частотой обновлений ядра.
  • /tmpзависит от приложения и среды, но может иметь соответствующий размер. Мониторинг отдельно помогает измерять ненормальное поведение и защищает остальную часть системы.
  • /usr Должен быть предсказуемым, содержать исполняемые файлы и т. Д.
  • /varрастет, но объем оттока данных может быть меньше. Приятно иметь возможность измерять это отдельно.
  • И раздел роста. В данном случае это так /data, но если бы это была система баз данных, это может быть /var/lib/mysqlили /var/lib/pgsql... Обратите внимание, что это другое блочное устройство /dev/sdb. Это просто еще один VMDK на этой виртуальной машине, поэтому его размер можно изменить независимо от VMDK, содержащего реальные разделы ОС.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              12G  2.5G  8.8G  23% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sda1             291M  131M  145M  48% /boot
/dev/sda7             2.0G   68M  1.9G   4% /tmp
/dev/sda3             9.9G  3.5G  5.9G  38% /usr
/dev/sda6             6.0G  892M  4.8G  16% /var
/dev/sdb1             360G  271G   90G  76% /data

Разделение некоторых из этих разделов значительно упрощает выявление тенденций и обнаружение аномального поведения; например, дамп памяти 4GB /var, процесс, который исчерпывает /tmp,

Обычный введите описание изображения здесь

Аномальные. Внезапное повышение /varбыло бы нелегко обнаружить, если бы использовался один большой /раздел. введите описание изображения здесь


Недавно мне пришлось применить набор параметров и атрибутов монтирования файловой системы (nodev, nosuid, noexec, noatime, nobarrier) для защищенного шаблоном виртуальной машины. Разделение было абсолютным требованием для этого, потому что некоторые разделы требовали определенных настроек, которые не могли быть применены глобально. Еще одна точка данных.

ewwhite
источник
2

Конечно, у нескольких точек монтирования есть свои преимущества, виртуализированный сервер или нет.

Но с виртуализацией вы, вероятно, также используете шаблоны виртуальных машин, верно? А ваша система мониторинга, такая как Nagios (с NConf?) Также поддерживает шаблоны? Если это так, то вам нужно пройти этот ментальный боевой пункт только один раз.

Вернуться к теме.

Я использовал , чтобы разделить свои системы таким образом: /, /home, /usr, /var, /tmp(и , возможно , некоторые другие точки для данных монтирования), но это было излишним и хлопот. В наше время простой образ ОС с единственным /, возможно с отдельным, /var- это путь для меня; затем, если виртуальному серверу требуется больше места для хранения данных, я даю для него еще один образ диска и монтирую его там, где это необходимо.

Янне Пиккарайнен
источник
Как вы обнаруживаете проблемы, скажем, /optили /tmpпри настройке одного раздела?
ewwhite
Если сервер начинает быстро поглощать свое дисковое пространство, что-то вроде этого du -m --max-depth=4 / | sort -nr | head -n 30 | lessудивительно эффективно. И в контролируемой. контролируемая среда, сколько потенциальных мест у вас есть для такого рода вещей, в любом случае? /var/log, /tmp, /opt/*/log, Возможно , что - то еще? Не слишком сложно.
Янне Пиккарайнен
1

Для файловых серверов я также склонен монтировать /homeтом на своем собственном разделе / ​​диске и использовать noexecопцию при монтировании. Паранойя, но не позволяет пользователям запускать файлы из своих домашних папок.

Кроме того, я склонен размещать /bootтом на зеркале RAID 1 на всех дисках, но опять-таки я придерживаюсь старой практики, что пока не вижу недостатка

Канадский Люк
источник
1
Вопрос был о виртуальных серверах, поэтому немного о / boot на RAID 1 не применимо. Но это определенно хорошая идея на физических серверах.
Пол Гир