Сколько и какие разделы я должен создать для сервера Linux?

15

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

Но сколько разделов я должен создать при сборке Linux? Какой размер я должен установить для каждого раздела?

Наконец, но не в последнюю очередь, какие разделы я должен иметь на отдельном диске (я думаю о / home, / var, возможно, на более быстром диске и т. Д.) И какие разделы я могу разделить на одном диске?

paulgreg
источник
1
Сколько у вас дисков? Вы ожидаете, что это число изменится со временем? Это универсальная коробка или универсальная? Один пользователь или мульти? Все эти вещи имеют значение.
pjz
Вопрос больше об общем назначении, но все же для серверов.
Полгрег

Ответы:

17

Планирование хорошей структуры разделов в значительной степени зависит от фактического знания того, как вы собираетесь использовать «сервер». Любой случайный совет, который не использует реальные услуги, которые будут предоставлены, не будет особенно полезным.

Например, если это окно на основе debian, которое будет использоваться для mysql, вам могут потребоваться отдельные разделы для /, / var и / var / lib / mysql.

Это будет файловый сервер с большим количеством общего хранилища? Возможно, вам понадобятся разделы /, / home и / srv.

Для коробки, в которой работает только squid, вы можете выбрать раздел для / и один раздел на быстром диске для катушки squid.

Поскольку вы планируете свои разделы, очень полезно иметь хорошее представление о стандарте иерархии файловой системы, и если / как выбранный вами дистрибутив отличается от стандарта.

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

Zoredache
источник
1
Лучший ответ на данный момент.
Приостановлено до дальнейшего уведомления.
Отличный ответ ... и рекомендация о том, что структура зависит от предполагаемого использования, и что LVM - хороший путь.
RickMeasham
Смотрите больше информации о значении разделения здесь. serverfault.com/questions/61284/sell-partitioning-to-me
Zoredache
Я даже не знал , что там был Filesystem Hierarchy Standard. Спасибо за упоминание этого.
Джо Интернет
8

Я всегда создаю эти разделы, а с прошлого года всегда на LVM:

/       - a few Gig
/usr    - 24 Gig and mostly empty
/var    - 4 Gig works for me, YMMV
/home   - depends on how many users you will have

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

и я иногда создаю эти разделы:

/boot   - even 1 Gig is way more than enough

Причина в том, что не всегда возможно загрузиться с раздела RAID или LVM. Таким образом, /bootможет быть простой раздел ext3, позволяющий /быть более продвинутым.

Если у меня будет большое количество больших файлов, я иногда буду создавать специальный раздел для этих больших файлов, чтобы файловая система могла быть настроена для эффективного хранения больших файлов. Некоторые люди, если они будут обслуживать NFS с сервера, создают отдельный раздел для своих общих ресурсов NFS или даже отдельный раздел для каждого общего ресурса NFS. Это зависит от ваших потребностей.

Почему ЛВМ? Как я уже упоминал в ответах в других местах, но забыл упомянуть здесь, это намного облегчает изменение вашего мнения позже и расширение раздела. Это уже спасло мою задницу.

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

Эдди
источник
7

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

  1. Установите минимум два физических диска одинакового размера; для целей этого примера я собираюсь использовать диски SATA емкостью 500 ГБ, но принципы отлично работают с дисками других размеров.

  2. Разбейте каждый диск следующим образом:

    /dev/sda1   500MB
    /dev/sda2   100GB
    /dev/sda3   the rest
    

    Цель состоит в том, чтобы иметь передний изящный раздел объемом 500 МБ, большой раздел в середине для ОС и приложений, а также объем диска сзади для дополнительных данных.

  3. Создайте SW RAID 1 /dev/md0, от, /dev/sda1и /dev/sdb1; построить дополнительные наборы SW RAID 1 /dev/md1и /dev/md2из соответствующих разделов.

  4. Формат /dev/md0как ext3; это будет /boot.

  5. Формат /dev/md1и /dev/md2как LVM физические тома.

  6. Создайте группу томов LVM, vg_systemкоторая содержит /dev/md1.

  7. Создайте соответствующие тома LVM внутри vg_systemдля ваших различных разделов ОС; по крайней мере, вы хотите swap, /varпару ГБ, а /из 10GB или так. ПРИМЕЧАНИЕ : не выделяйте все из vg_system! Когда вы позже решите, что хотите увеличить размер \varили добавить /optили еще что-то, вам понадобится это дополнительное пространство.

  8. Создайте группу томов LVM, vg_dataкоторая содержит /dev/md2.

  9. Создайте тома LVM внутри vg_dataпо желанию; по крайней мере, вам нужен большой размер /home, и вам могут потребоваться дополнительные тома, скажем, для почтовых катушек, баз данных, веб-корней или любых других данных, которые не являются частью ОС. Опять же, не выделяйте все vg_dataпо причинам, аналогичным перечисленным выше.

Преимущества этой стратегии включают следующее:

  • Это терпимо к аппаратным сбоям; любой диск может выйти из строя, не вызывая системный сбой, и если вы инвестируете в контроллер с горячей заменой, вы можете восстановить без простоя.

  • Это перспективный и расширяемый; когда вы приобретаете диски емкостью 2 ТБ через несколько лет, вы можете вставить их в машину, превратить их в другой набор RAID RAID, отформатировать как физический том LVM, добавить в любую группу томов, в которой требуется больше места (вероятно lv_data), затем используйте pvmoveдля переноса данных со старых дисков на новые. Кроме того, крупные обновления ОС могут быть сделаны значительно менее болезненными; если вам нужно переустановить ОС для серьезного обновления (например, Red Hat :(), вы можете сделать это, сохранив домашние каталоги (и почтовые буферы и все остальное, что вы вставили vg_data).

Недостатки этой стратегии немногочисленны; Я полагаю, что это немного сложно, и вы получаете снижение производительности при записи из-за RAID 1. Однако я собираю рабочие станции и автономные серверы в соответствии с этими принципами уже несколько лет, и, как я понимаю, каждый раз, когда я надеваю не собирать машину по этим направлениям, скоро я бы хотел.

-Стив

PS Я должен добавить, что если у вас есть инфраструктура, позволяющая быстро и безболезненно подготовить новую машину, то такая система становится излишней; вместо того, чтобы возиться с RAID-наборами и LVM, просто восстановите машину, если вам нужно что-то изменить.

hakamadare
источник
2

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

/     - main thing
/boot - not that relevant, since cylinder being < 1024 and 
        exotic filesystems are no longer an issue
/home - handy if you upgrade your laptop with each new distro :-)

Для моего последнего обновления я сделал установку с нуля, уничтожив мой /раздел. Это заставило меня подумать, что отдельный раздел /optили /usr/localраздел был бы хорош, избавив меня от хлопот переустановки всего, что я там поместил (java, eclipse ... Мне обычно все равно, какие дистрибутивы упакованы).

agnul
источник
2

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

/ tmp - по тем же причинам, по которым вы создали отдельный раздел / var (ранее у меня было все временное пространство). Я обычно иду с 1-2 ГБ

/ usr / local - позволяет обновлять и очищать / usr по мере необходимости, не удаляя все отдельно установленное программное обеспечение. Размер здесь зависит от того, сколько внешнего программного обеспечения вы устанавливаете. Я обычно использую около 10 ГБ, но нахожу это немного малым в эти дни.

Я всегда делаю / home последней и заполняю ею остаток диска.

В разделе / ​​boot я никогда не увеличивал его до 100 Мб и никогда не сталкивался с проблемами с пространством (в конце концов я очищаю старые ядра). Это действительно может быть очень маленьким.

Также не забудьте про раздел подкачки.

dagorym
источник
1

Для большинства машин я делаю

100MB /boot
1GB * NUMBER_OF_USERS /home
10GB /var/log
10GB /var
REST /

В некоторых случаях это нужно будет переключать, но я довольно непреклонен в том, что пользователи не получают более 1 ГБ места на сервере. Если им нужно больше, они могут использовать / tmp, понимая, что он будет удален через cron ночью.

Глен Солсберри
источник
1

Предполагая, что вы не используете аппаратный RAID там - в Linux я всегда использовал бы LVM поверх RAID. Даже для конфигурации одного диска. Причина в том, что у вас есть возможность добавить больше места для хранения (путем расширения группы LVM) или изменить параметры избыточности (скажем, превратить «странную» конфигурацию raid1 с одним диском в зеркальную или даже RAID10 с некоторыми большими нагрузками).

Чтобы ответить на ваш вопрос, у меня обычно есть что-то похожее на общий сервер. Начиная с 2 дисков (скажем, 1RU Dell), оба разделены как:

  • ~ 100 МБ RAID1 для / boot
  • LVM поверх RAID1 для остальной части диска

Затем мы создаем весь том в виде томов LVM: * / * / var * / tmp * / home * / opt

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

/ home и / tmp в отдельной файловой системе - это всегда хорошая идея; как правило, я не разделяю / выбираю, если не планирую вкладывать в это много вещей. (NFS может быть лучшим вариантом для / opt, если у вас много серверов, для которых требуется один и тот же программный стек)

Короче говоря, используйте LVM для всего, если у вас нет причин не делать этого - у вас есть возможность измениться.

Кроме того, используйте сервер журналов, чтобы журналы не заполняли ваш / var!

Лестер Чунг
источник
0
  • / boot - 128 МБ

Группа томов - rootvg

  • / var - 5 ГБ (зависит от того, используется ли он в качестве почтового сервера. Вы также можете изменить размер, чтобы перехватить основные файлы)
  • / tmp - 2 ГБ
  • / opt - 10 ГБ (используется для программного обеспечения, которое не входит в дистрибутив)
  • / - 6GB - минимум

Volume Group - datavg

  • / дом - отдых

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

setatakahashi
источник