Назад | Перейти на главную страницу

Мысли о структуре файловой системы сервера Linux

Мне интересно, и я уверен, что многие также задаются вопросом, какая структура файловой системы будет лучшей или, по крайней мере, оптимальной для сервера на базе GNU / Linux. Я знаю, что общего макета нет, потому что макеты различаются в зависимости от того, чего хочет достичь конечный пользователь, поэтому я сузлю свой вопрос до очень конкретной реализации. Назначение сервера - сервер SIP-телефонии среднего размера. Схема файловой системы, которую я придумал, следующая:

Полный размер жесткого диска - 146 ГБ.

Я поместил подкачку посередине, учитывая, что это позволит ускорить доступ, сделал большой раздел var, потому что будет много переменных данных, таких как файлы базы данных. Я переместил / var / log и / tmp в другой раздел, чтобы убедиться, что они заполнены, они не приведут к отключению всей системы, и переместил / usr также, чтобы сделать его доступным только для чтения, если есть необходимость в такая мера. Я сделал небольшой / домашний раздел, потому что количество пользователей будет небольшим, поэтому нет необходимости в большом пространстве для хранения домашних каталогов.

Есть много аргументов за и против этого макета, я полагаю, и мне любопытно (пытаюсь понять мнение более опытных или более мудрых, чем я) о том, о чем думают другие: хорошо ли эта фрагментация и порядок с учетом быстрого доступа (что вот почему я ставлю своп почти посередине) безопасность и сохранность данных? Есть предположения? Спасибо!

Две вещи:

  1. / boot должен быть примерно 256 МБ, 512 МБ, если вы действительно хотите быть в безопасности. Сколько ядер вам действительно нужно?
  2. Из любви к [вставьте здесь божество] используйте LVM

В основном я буду использовать:

  • Первый основной раздел 256 МБ / загрузка (ext2)
  • Второй основной раздел как физический том (PV) в LVM
  • Логический объем /
  • Логический том / главная
  • Логический том / usr (необязательно)
  • Логический том / tmp (необязательно, предпочитайте жесткий диск ssd)
  • Логический том / var (необязательно, предпочитайте жесткий диск SSD)
  • Подкачка логического тома (2 * RAM && <= 4 ГБ)

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

Определенно стоит создать что-то вроде того, что вы выложили, но я бы подумал об использовании LVM и расширении ваших разделов по мере необходимости.

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

О, и 1 ГБ для / boot? В зависимости от вашего дистрибутива вам действительно не нужно больше нескольких сотен мегабайт ...

Я в целом согласен с вашим подходом к разделению диска на несколько файловых систем. Я не уверен, действительно ли размещение подкачки посередине что-то для вас делает. Я бы сосредоточился на том, чтобы все разделы были достаточно большими для поставленных задач. Например, каков риск того, что ваши 16 ГБ / var / log будут заполнены? На стандартном сервере Linux должно быть достаточно места для журналов, но специализированный сервер может создавать файлы журналов гораздо большего размера в зависимости от использования.

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

Моя основная рекомендация - использовать такой подход для размеров файловых систем, но сконцентрироваться на надлежащем мониторинге и ротации файлов журнала, чтобы гарантировать, что вы не заполните эти критические файловые системы / tmp и / var / log.

Сам я, наверное, не стал бы так сильно расколоть; у вас будут проблемы, если какой-либо конкретный раздел заполнится, и вы сделали это так, что у вас есть ~ 6, которые могут заполниться и вызвать проблемы, и это новая система, поэтому вы действительно не знаете, уверен, где пространство станет тесным.

Убедитесь, что вы настроили оповещения, когда становится мало свободного места.

Я бы не стал выделять раздел на 30 ГБ для / usr. 16 ГБ - разумный размер для / и / usr вместе взятых; дайте корневому разделу 20-30 ГБ, если вам действительно нужна комната.

У меня нет большого опыта работы с LVM, но с вашим предложенным использованием это имеет смысл.

Похоже, сначала вам следует выполнить пробную установку, чтобы точно выяснить, какие требования к пространству будут необходимы для базовой системы и программного обеспечения. Особенно, если вы будете избегать LVM-решения. Как только вы это сделаете, у вас будет гораздо более четкое представление о размерах ваших разделов / и / usr. должен быть. Затем вы можете настроить размеры разделов, чтобы максимально увеличить доступное пространство для областей, в которых вы ожидаете, что они потребуются - / var, / var / log и / tmp.