Разметка диска с XFS и LVM

September 2012 · 3 minute read

Эту схему применяю как на серверах, так и на десктопах, кроме разве нетбуков. Организация ФС в юниксе удобна сама по себе с её схемой включения файловых систем в общее дерево директорий. По сравнению drive letters куда меньше мороки. LVM добавляет ещё больше удобств устраняя привязку размеров разделов к размеру диска: добавляем в LVM ещё один диск и создаём себе разделы («тома» по LVM-ному), не заботясь о том насколько они совпадают с размерами физических дисков — часть раздела LVM может разместить на одном диске, часть на другом.

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

Если говорить о ресайзе (изменении размера) разделов LVM, то очевидно, что на разделе размещена какая-нибудь файловая система и она также должна поддерживать ресайз, желательно с минимумом сложностей. Когда я впервые разбирался с LVM и выбирал подходящую для ресайза ФС остановился на XFS. Критерием выбора была её возможность ресайза без отмонтирования, на живой системе, на которую например в это время может вестись запись файлов. На то время это была единственная ФС с такой возможностью. С выходом 2.6.(не помню какой минорной версии) такую же функцию добавили в extfs, но я уже привык к xfs и серверах использую именно её в паре с LVM, на десктопе LVM+ext4 (хотя и xfs тоже, так как ресайз в ней очень быстрая операция). Особенно удобен ресайз без отмонтирования на серверах, когда нужно срочно добавить место на ФС не останавливая работу использующих её программ, например срочно увеличить раздел под базу данных. Можно даже увеличить раздел рутового раздела, без перезапуска сервера и всяких ухищрений с загрузкой LiveCD и пр.

В ресайзе xfs есть ограничение: можно увеличить размер, но нельзя его уменьшить. Размер может только расти. Поначалу это меня напрягало, но потом заметил, что надобность в уменьшении разделов возникает очень редко. Особенно, если при установке системы выделять места по минимуму, оставляя свободный пул блоков в LVM незадействованным. А потом по мере надобности, смотря какая ФС быстрее отъедает место — увеличивать её. Удаление требовалось только в одном случае: свободное место в LVM исчерпано, а добавить его к какой-то ФС понадобилось. Но как ни странно, такая ситуация возникает реже, чем можно предположить, во всяком случае на серверах под вебпроекты, с которыми я в основном имел дело. А вот на десктопе эту проблему теперь решает ext4, с ресайзом в обе стороны. В принципе и на сервере ext4 ничего не мешает использовать, но у меня к XFS личные предпочтения ввиду других её интересных фич, о которых как-нибудь позже под настроение.

Подробности? Вот тут доходчиво про работу LVM: http://xgu.ru/wiki/LVM, а про ресайз ищи магические слова xfs_growfs и resize2fs.