Разбиение дисков и инсталляция Linux на LVM (часть 2).
Владимир Холманов (fmfm AT symmetron.msk.ru)
Части Первая, Вторая, Третья.
1. Сравнение схем разбиения дисков "три на одном" и "с логикой на двух".
Посмотрим, как выглядит разбиение дисков при инсталляции Linux на три раздела на одном диске. Схема может выглядеть примерно так.
hda1 hda5 hda6
---- ---- ----
| | |
| | |
| | |
| | |
| | |
boot swap1 root
| | |
| | |
ext2 swap ext3
А теперь схема для инсталляции Linux на два диска с логическими томами.
И несколько примечаний.
Вместо того чтобы делить дисковое пространство под вынесенные из корня файловой системы, на дисках hda и hdc создается по одному разделу "на всё остальное" из расчета, сколько не жалко. Командой fdisk оба раздела помечены как тип 8e.
Имена "LIN", "tomhome", "tomusr", "tomopt", "tomvar" условны, вы можете присваивать имена логическим уровням значимые для вашей инсталляции (в конкретном случае в файле /etc/fstab имена разделов следует записывать как /dev/LIN/tomhome или /dev/LIN/tomusr ...).
Не существует технических ограничений для перемещения на логику корневой файловой системы. Но делать этого не стоит, в этом случае процессы загрузки и восстановления в случае сбоя критически усложняются. На диске hdc есть симметричный к корневому раздел (помечен как none). Моё мнение: место "чистому" корневому каталогу на soft-raid-зеркале с файловой системой ext3. Но это за рамками статьи.
В этом примере подбор типов файловых систем скорее демонстрирует то, что LVM прозрачен для их драйверов, т.е. драйверы файловых систем не знают, с чем они фактически взаимодействуют. Подумайте, стоит ли заводить "файловый зоопарк" или определиться с одним типом журналируемой fs для нагруженных приложениями файловых систем.
2. Терминология LVM.
VG (volume group) - центральное звено LVM. Группу томов можно понимать как банк дисковых ресурсов. Вкладчиками такого банка является физика, а заёмщиками логика. Все команды для этого уровня именуются vgxxxxx.
PV (physical volume). Под физическим томом следует понимать обычное блочное устройство - целый диск, раздел на диске и т.п. Все команды для этого уровня именуются pvxxxxx.
LV (logical volume). На логических томах фактически размещаются файловые системы. Все команды для этого уровня именуются lvxxxxx.
PE (physical extent). Каждый физический том "нарезан" на части (по умолчанию 4 Mb). Это минимальный размер дискового ресурса, с которым может оперировать VG (вы можете динамически менять размеры логических томов на величину, строго кратную PE).
LE (logical extent). Как и для физики, но взгляд с противоположной стороны (их взаимосвязь называется mapping).
3. Режимы mapping.
Имеется возможность выбрать одну из двух стратегий mapping:
1. Linear (линейный) mapping напрямую соединяет диапазон LE с областью последовательных PE.
2. Striped mapping имеет дело не только со связыванием LE и PE, но и с чередующимися между физическими разделами chunks. Считается, что такая стратегия позволяет увеличить производительность logical volume. Разумеется, чередующиеся chunks должны находится на разных scsi или разных ide-master дисках. При этом администрирование логики усложняется, гибкость инсталляции во многом теряется, а отказ любого диска создаст проблему всему логическому тому. Планируя переход от схемы 3 раздела на одном диске на четыре симметричных на двух со striped логикой, запаситесь tmp диском или выполните backup на внешние носители.
Raid tools поддерживают как массивы с избыточностью (жёсткие конструкции повышенной надежности, например, raid1 и raid4/5), так и массивы без избыточности. Об LVM можно сказать, что технологии псевдо-raid выделены в отдельный класс и для них созданы утилиты, по максимуму использующие повышенную гибкость таких конструкций. И ещё. Складывается впечатление, что не следует смешивать linear и striped в одной VG (реализация LVM позволяет иметь на одной машине несколько VG). Если решите использовать обе стратегии, создайте для них изолированные группы.
4. Snapshots.
Замечательное средство, обеспеченное LVM - snapshots. Это позволяет администратору создавать новое дополнительное блочное устройство, при этом логический том просматривается в двух ракурсах - "замороженном" на определенный момент времени и текущем. При этом алгоритм функционирования расположенной на томе файловой системы становится похожим на тот, что используется в файловых системах, "заточенных" под микросхемы флэш-памяти (примером может служить JFFS2 для linux). Размер snapshots следует рассчитывать исходя из скорости обновлений и времени "заморозки". Такой режим может эффективно использоваться для резервного копирования логического тома в непротиворечивом состоянии без закрытия приложений, модернизирующих хранящиеся на нем данные. По окончанию резервного копирования администратор удаляет snapshots. Требование - кратковременно закрыть приложения в момент создания snapshots (а затем открыть доступ к тому) и повторное кратковременное закрытие доступа в момент удаления snapshots. В итоге, общее время простоя сервера ничтожно мало по сравнению со временем резервного копирования.
5. Чем придётся пожертвовать?
Вопрос важный. Выигрывая в одном, неизбежно проигрываешь в другом. Как удобство использования влияет на общую производительность? Тестирование (сравнивались физика и linear логика) показало следующее. Перенос файловых систем с физики на логику на скорости операций I/O не отразился. Другое дело, такой перенос для всех типов тестируемых файловых систем (ext3, reiserfs, xfs) повысил нагрузку на процессор примерно на 10% - 15%. Тесты не претендовали на академичность и могут дать иной результат на другом железе, но некоторое представление о предмете дают. Общий вывод такой: подбор файловых систем более критичен для производительности, чем переход с физики на логику. Интересно было бы видеть результаты тестов для striped логики.
6. Логические тома и файловые системы.
Как уже говорилось, LVM прозрачен для драйверов файловых систем. С другой стороны, а все ли файловые системы в одинаковой мере способны извлекать выгоду от расположения на логике? Интересно знать ответы на следующие вопросы. Способна ли файловая система расширяться - усекаться? До какой степени от первоначального размера можно расширить - усечь файловую систему, не волнуясь за последствия? Позволяет ли файловая система менять свой размер без размонтирования и остановки работающих приложений? Попытка дать ответы на эти вопросы для файловых систем ext2/3, reiserfs, xfs будет предпринята в следующей статье.
Части Первая, Вторая, Третья.