Какой тип ФС и тип разметки лучше для сервера на линуксе?
Всем доброго дня, считаю себя более/менее продвинутым линуксоидом но неожиданно столкнулся с необходимостью совета более опытных:
Захотел сделать линукс сервер, хочу на Убунте, для создания контроллера домена Active Directory, и потом ввести виндовые компы в этот домен.
Неожиданно встала задача - какой тип разметки и какую файловую систему для такого сервера лучше выбрать? обычную, т.е. не lvm разметку или все же лучше lvm?
Какую ФС - ext4 или btrfs?
Понятно что работать при любой разметке и ФС будет но в дальнейшем могут возникнуть подводные камни из за непродуманного создания сервера чего нехотелось бы
Продумывание того, в чем все равно не разбираешься - это разновидность прокрастинации.
Если понятно, что будет работать при любой разметке - нечего городить огород без необходимости. Самому же потом разгребать косяки, и уж лучше пусть они будут из тех, с которыми сталкиваются 90% админов, чем модно-молодежными-хрен-найдешь-спеца.
btrfs - она конечно не так хорошо отлажена как ext4 но у нее есть отличный плюс перекрывающий минусы а именно
btrfs snapshot - в случае аварии при обновление и тд и тп ты просто загружаешься, и при старте системы выбираешь снепшот для отката состояния.
И если на ВПС то это нафиг не нужно, то на дидикейт это просто сказка-какая-то. https://losst.ru/obzor-ext4-vs-btrfs-vs-xfs
Если уж смотреть в сторону btrfs, то почему бы не ZFS? Да, при установке проблем будет больше (стоковое ядро её не умеет), зато потом - та же сказка что и с btrfs, только ZFS уже давно как используется в продакшене и имеет репутацию надежной FS.
Nordman99, гыгы ты не понимаешь
Разница между снепшот на программом или на уровне файловой системы.
Это не инкриментиные снимки файлов, это инкрементные снимки FS
Опять же готовое решение вшитое в коробку.
Только вот возможно ли накатить btrfs в lvm? Если ставил Убунту с созданием lvm то она туда всегда ext4 накатывала без выбора, можно правда потом отдельно самому создать lvm и проверить что туда можно накатить, но не пробовал
Nordman99, rsync делает копии файлов, а не снапшоты. Снапшоты в файловой системе с их крутой поддержкой делаются моментально с использованием концепции CoW (copy-on-write) и место расходуют только на отличающиеся варианты блоков.
Nordman99, вручную можно сделать что угодно. Но какой смысл использовать lvm, если zfs/btrfs сами умеют пулы, сабволумы, рейды и прочее, причём намного удобнее?
Михаил, Юзал как то раньше BTRFS, с Opensuse, нескажу что профессионально - просто разметил под систему и хомяка в BTRFS, поставил и забыл, т.е. никаких проблем и аварий не возникало, просто все работало и все, но после того как познакомился с lvm то он меня очень обрадовал - система даже незнает на каком она носителе и что её вдруг перенесли с одного носителя на другой, всё это ей по барабану, логический волум в порядке и все, но чтото тут и везде говорят что с BTRFS/ZFS lvm ненужен, они сами всё это умеют, то есть как это они сами это всё умеют, они работают по принципу LVM чтоли и с ними LVM ненужен?
Nordman99, про BTRFS не скажу, а у ZFS используется концепция пула. То есть вы берете в общем-то что угодно: целые диски, разделы дисков и даже файлы (что удобно для экспериментов) и создаете из них пул. Пул может быть опять же построен как угодно: чередование (stripe), зеркалирование (mirror), разные варианты рейдов. Например, из четырех дисков можно построить две пары зеркал и объединить их в stripe.
По вкусу добавляете диск для кэша на чтение (обычно SSD) и zil на запись.
Тут же находится сжатие, дедупликация, шифрование.
В любой момент в пул можно добавить новые диски, увеличив его объем (а если диски в зеркале - то заменить на диски большего объема). Единственное ограничение - уменьшать пул нельзя.
Собственно все. ZFS сама разложит данные по пулу. Дальше поверх пула создается dataset (сколько нужно), ему назначается квота (если нужно) и точка монтирования.
И какую роль при всех этих возможностях будет выполнять LVM?
ну как вам сказать. Сейчас вот на кластере виртуализации крутится около 200 виртуалок. Под очень разные задачи. Примерно 195 из них - развернуты из шаблонов, которые ставились инсталляторами соответствующих систем обычно в режиме минимальной установки, все остальное по умолчанию.
Поправить распределение дисков во время работы - это совсем не проблема.
А вот на нескольких машинах - да, действительно. Там кастомная конфигурация дисков, разделов... Но это очень редко.
А по домен контроллер ничего особенно то и не надо на самом деле....
А по домен контроллер ничего особенно то и не надо на самом деле....
Ну это да, но мало ли что потом захочется накрутить, а инсталляторы это смотря какой в каком дистре они подробно интересуются зачем ОСь ставишь, в Убунте обычно по умолчанию вообще один раздел ext4 под всю систему создается кроме бута, но вы вообще имеете в виду гипервизор
Виртуалка под задачу. Т.е. домен контроллер - одна виртуалка. Захочется сайтик навернуть - вторая виртуалка. Еще почту развернуть - третья виртуалка. Поверьте, жить станет проще....
Отсутствие lvm при необходимости расширения ФС приведет к старинному решению - монтирование разделов в точки монтирования (ну то есть в /usr монтируем /dev/sdb1, в /var - /dev/sdb2 etc). Это вполне себе решение обкатанное тысячами инсталляций, но у него есть существенный недостаток - для его реализации нужно останавливать сервер на все время копирования /usr, /var etc на новые расположения.
Если останов сервера некритичен - можно lvm не использовать. Я в свое время дико натрахался с этим расширением ФС на FreeBSD (где lvm нет - ну по крайней мере в 9.1-RELEASE не было) поэтому на линухе lvm - это просто что-то с чем-то.
Вот тоже и я думаю плюсы LVM - можно гибко при работающей системе делать lvm`ными разделами всё что угодно и они не привязаны к физическому носителю, но насколько мне известно на lvm можно накатить только EXT4 так?
Nordman99, Почему? Насколько я понял - любую ФС. После создания тома lvm - у тебя просто нулевый неформатированный раздел, я правда не пробовал на него ничего другого никогда кроме ext4, но за просто так можно было бы попробовать форматнуть даже в fat32 :)
Михаил, Когда работал на FreeBSD, слышал множество откликов про ее прожорливость к ресурсам и "не рекомендованность" в прод. Сам не проверял - времени особо не было. Nordman99, Для начала лучше обзоры почитать, сравнительные тесты. Ну и традиционно, файлухи от FreeBSD поддерживает чуть более чем никакой софт для работы с разделами (он обычно знает сто тыщ вариантов ФС от линуха, но про ФС от FreeBSD говорит unknown filesystem :) )
Nordman99,
ext4 - если важна максимальная совместимость. Вероятно в паре с lvm (но реального опыта с lvm не имею, только игрался на виртуалке).
zfs - если хочется использовать все возможные "фишки" (снепшоты, сжатие, управление томами и т.д.)
Рекомендовал бы ZFS без вопросов, но есть крупный недостаток: не входит в состав стокового ядра. То есть, при необходимости загрузиться с LiveCD/LiveUSB начинаются "танцы с бубном". Поэтому лучше всего иметь собственный LiveCD с модифицированным ядром, в которое вкручена поддержка ZFS. Такое, например, легко сделать на базе ArchLinux. Отмечу что в интернетах пишут что LiveCD Ubuntu умеет ZFS (то есть Canonical собрали для своего дистрибутива ядро с поддержкой ZFS. Как они обошли лицензию - понятия не имею). Но на практике я убунту не ставил, так что не знаю.
Поэтому лучше всего иметь собственный LiveCD с модифицированным ядром, в которое вкручена поддержка ZFS
это несложно сделать - скачивается нужный дистр линуха для Live CD/USB, дальше утилитами unetbootin (не пробовал), или Rufus нарезать на флешку как обычно когда надо сделать установочную флешку с той лишь разницей что в руфусе надо выбрать Persistence USB, и потом загрузившись с этой флешки система считает что она на этой флешке уже установлена для работы - все изменения с системой на флешке и остаются, хочешь работай хочешь ядро обновляй или проги из репов ставь - всё останется и будет в системе на флешке при следующей загрузке (Unetbootin и Rufus - это через винду, можно и в линухе с помощью mkusb)
Михаил, Ой, внезапно, да? Крутая-раскрутая файлуха, вот только когда начинаешь пытаться ее реально применить - оказывается, ее в ведре нет, то есть при загрузке на поломатом сервере, когда тырнета нет и в наличии только LiveDVD неведомо какой - проще будет тырнет починить. А потом оказывается, она еще и "идеологически" несовместима с линухом, то есть прикручиваться будет силами отдельных энтузиастов.
Это не значит, что она плоха. Это значит, что в момент падения сервера, когда ты и так на взводе, ты пальцы сгрызешь с досады, когда обнаружится, что нужно сделать что-то и немеделнно, но файлуха не монтируется из-за отсутствия поддержки zfs.
CityCat4, я не понимаю с чего у вас пригорает. Я ровно это же самое написал про недостатки ZFS.
Это всего лишь означает что администратор сервера должен учитывать данную особенность ZFS и заранее иметь rescue kit, чтобы без вот этого "LiveDVD неведомо какой" (на крайний случай уметь использовать данный LiveDVD чтобы быстро изготовить другой с поддержкой ZFS)
Учитывая что ZFS применяется в энтерпрайзе (причем именно в сочетании с Linux, а не Solaris/FreeBSD) - эти риски вполне возможно нивелировать, если подходить к вопросу грамотно.
CityCat4, Ext4 всем хорош кроме одного - заканчиваются айноды и тютю, надо заморачиваться создавать новые разделы, на одном из серваков уже близок к этому - придется смотреть в сторону BTRFS