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

8

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

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

  • Основной раздел 1 ГБ смонтирован как / boot
  • Основной раздел 16 ГБ смонтирован как /
  • 16 ГБ расширенного раздела, смонтированного в качестве подкачки (сервер имеет 8 ГБ памяти, и по крайней мере он скоро не увеличится)
  • 52 ГБ расширенного раздела, смонтированного как / var
  • 16 ГБ расширенного раздела, смонтированного как / var / log
  • 30 ГБ расширенного раздела, смонтированного как / usr
  • 5 ГБ расширенного раздела, смонтированного как / tmp
  • 10 ГБ расширенный раздел монтируется как / home

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

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

crazybyte
источник
8
Я не собираюсь публиковать это как ответ, но ... я перекусывал достаточно раз, когда перебивал, что я большой поклонник использования как можно меньшего количества разделов. Обоснование такого разделения системы Linux выглядит довольно устаревшим.
Боден
6
Почему бы не использовать LVM и расширять файловые системы по мере необходимости?
Кристиан Чиупиту
2
Как LVM является точкой отказа?
Аарон Браун
3
Я думаю, что вы разделили, лично. Кроме того, я бы пошел с LVM. Он готов к производству и либо будет сидеть там вечно, либо спасет ваш бекон позже.
pboin
2
Так что я собираюсь использовать это.
crazybyte

Ответы:

10

Две вещи:

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

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

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

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

Swoogan
источник
нет своп тогда? Если бы вы использовали swap, вы бы поместили это в LVM или как отдельный основной раздел?
шарлатан-кихот
Да, я бы использовал своп, и я бы положил его в LVM.
Swoogan
Я посмотрел в LVM и немного поиграл с ним. Это позволяет удивительно гибко настраивать систему. Спасибо, Сууган!
crazybyte
1

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

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

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

thehatter
источник
0

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

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

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

Фил Холленбек
источник
Ну, я не знаю, что программное обеспечение сервера SIP будет использовать или создавать много временных файлов или больших временных файлов, но, как вы сказали, лучше быть в безопасности, чем сожалеть. Кроме того, не будет много ведения журнала со стороны сервера. Некоторые данные, такие как CDR или файлы базы данных, будут находиться в другом каталоге в / var, и они могут быть довольно большими, поэтому я решил, что они должны иметь большой размер. Я посмотрю на него, чтобы убедиться, что пространство для / tmp и / var / log достаточно велико, а также я точно буду использовать правильный поворот файла журнала. Спасибо за совет!
crazybyte
0

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

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

Satanicpuppy
источник
Конечно, мониторинг будет обязательным, чтобы избежать проблем.
crazybyte
0

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

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

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

шарлатан
источник