Описание
LVM (свежая версия LVM2) - это система управления дисковым пространством, абстрагирующаяся от физических устройств. Она позволяет эффективно использовать и легко управлять дисковым пространством. LVM обладает хорошей масштабируемостью, уменьшает общую сложность системы. У логических томов, созданных с помощью LVM, можно легко изменить размер, зашифровать, скопировать, переместить, а их названия могут нести большую смысловую нагрузку, в отличие от традиционных /dev/sda, /dev/hda...
Как это выглядит
LVM позволяет объединить несколько физических партиций в единую группу томов (или несколько групп). Внутри этой группы, независимо от количества входящих в нее физических партиций, можно создавать логические тома (logical volumes).
Проще говоря внутри LVM-партиций (pv), объединенных в одну группу (vg) вы можете создать сколько нужно логических томов (lv), причем размер их можно будет менять динамически внутри группы даже не отмонтируя тома!
Наглядно эту цепочку можно представить так:
Жесткий диск -> Физические партиции -> Группа томов -> Логическая партиция -> Файловая система
Жесткий диск разбивается на Физические партиции (hda3, hd5), они помечаются как pv (команда pvcreate), потом они все объединяются в логическую Группу томов vg (volume group) и все их место становится доступным местом внутри этой группы. Далее в группе уже создаются логические тома lv (logical volume), разделяющие между собой пространство внутри vg (Группы томов), они будут представлять собой устройства монтирования для /home, /usr и т.п. Затем Логическая партиция форматируется в конечную файловую систему (reiserfs, ext3), и монтируется в систему. Эти логические тома можно изменять в размере внутри группы, а можно расширить место в самой группе, добавив туда еще несколько физических партиций. Также потом эти тома можно зеркалировать, переносить, делать бекапы, шифровать и многое другое.
Зачем это нужно
Позже по мере работы можно добавлять новые физические партиции (отформатированные под LVM). То есть к примеру при покупке нового винчестера или создании нового раздела на старом - его можно будет отформатировать под LVM и подключить к уже существующим томам. Место для этих томов увеличится и размер любого из томов (или сразу нескольких) можно будет изменить.
Разбиение на много логических томов полезно как для защиты от переполнения (при переполнении одного раздела - вся система не становится, а продолжает работать), так и для безопасности (к примеру /tmp подмонтировать как noexec, а /etc к примеру как ro).
Более того, при LVM вы совершенно можете не заботиться о размере раздела, т.к. его можно изменить в любое время, а еще можно подключать новое "свободное место" для этих разделов даже с другого физического носителя по типу RAID-систем. А внутри создавать уже логические тома на любимой для вас файловой системе(ext2, ext3, reiserfs и пр.).
Пример работы с LVM
Загрузка модуля
modprobe dm-mod
Подготовка партиций
Подготовка физических партиций hda3 и hda6 для работы в LVM2:
pvcreate /dev/hda3 /dev/hda6
(физические разделы должны существовать и иметь тип 8E)
Создание Группы томов
Создаем группу томов с именем vg, и включаем туда физическую партицию hda3
vgcreate vg /dev/hda3
Теперь группа vg содержит ровно столько места, сколько имеет hda3
Расширение группы томов
Добавить физическую партицию hda6 к примеру к уже существующей группе vg можно так:
vgextend vg /dev/hda6
Теперь группа vg содержит уже суммарное место разделов hda3 и hda6.
Вообще авторы LVM не советуют подключать и расширять группы без надобности. Они советуют разбить винчестер на много небольших партиций (к примеру 160ГБ на 8 разделов по 20ГБ). И подключать их в группы по мере необходимости в увеличении тома, т.к. увеличить раздел всегда проще чем уменьшить его. Посему и логические тома (logical volumes) лучше начинать с малых размеров, а при необходимости - подключать новые партиции и увеличивать размер томов.
Создание логических томов
Создать логические тома для разделов к примеру:
/home 2G
/opt 2G
/tmp 1G
можно командами:
lvcreate -L2G -nhome vg
lvcreate -L2G -nopt vg
lvcreate -L1G -ntmp vg
В результате позже появятся устройства /dev/vg/home, /dev/vg/opt, /dev/vg/tmp, которые можно будет уже форматировать в файловые системы.
Увеличение размера
Увеличение размера тома
Увеличить к примеру раздел /var можно будет командой
lvextend -L+1G /dev/vg/var
если конечно вам позволяет место. Узнать о свободном месте можно командами pvs, vgs. Увеличение размера уже после отформатирования можно будет делать даже неотмонтируя устройства. Для этого надо будет собрать пакет для работы с reiserfs (или reiser4).
Увеличение размера файловой системы
После увеличения размера логического тома, следует увеличить размер файловой системы:
для ext3:resize2fs -f /dev/vg/var
Уменьшение размера
Уменьшить размер значительно сложнее чем увеличить. По этому-то и рекомендуется изначально делать все разделы маленькими, а потом их увеличивать.
Уменьшение размера файловой системы
Тут нет online-изменения, как при увеличении. Для уменьшения размера придется файловую систему отмонтировать:
umount /dev/vg/usr
Внимание! Ни в коем случае не используйте umount -f или umount -l, если система говорит что раздел занят! Это может повредить данные при изменении размера. Лучше подождите пока он освободиться, переведите систему в readonly (mount -o remount,rw /dev/vg/var), или даже перезагрузитесь.
Затем необходимо уменьшить саму файловую систему (рекомендуется сделать бекап, обеспечить бесперебойное питание, и точно знать что свободного места больше, чем размер желаемого уменьшения).
resize_reiserfs -s-2G /dev/vg/usr
Этот процесс достаточно долгий, зависит от размера и количества файлов на файловой системе.
Уменьшение размера тома
Теперь уменьшаем сам том:
lvreduce -L-2G /dev/vg/usr
Все. Файловую систему можно примонтировать обратно:
mount -treiserfs /dev/vg/usr /usr
После уменьшения размера рекомендуется делать проверку fsck файловой системы.
Поиск существующих томов
Для поиска существующих томов (при подключении новых, или перезагрузке), можно воспользоваться командами:
vgscan
vgchange -a y
vgmknodes vg
успешно скопировано с : http://belgorod.lug.ru/wiki/index.php/LVM
Комментариев нет:
Отправить комментарий