Русскоязычная документация по Ubuntu. LVM — это просто! Добавить новый диск в том lvm

На моем домашнем сервере Linux установлен диск на 250 ГБ. Я только что купил новый 250 ГБ SATA-диск, и я хочу добавить новый диск в мой существующий том LVM, чтобы увеличить его размер до 500 ГБ. Как добавить диск в LVM и расширить объем LVM в операционной системе Linux?

Управление томами Linux (LVM) создает простой в использовании уровень поверх физических дисков. Вы можете комбинировать несколько дисков и создавать логические тома хранилища. Это обеспечивает конкретные преимущества, такие как:

  1. Никаких ограничений на размер диска;
  2. Увеличена пропускная способность диска
  3. Объемы зеркалирования для критически важных бизнес-данных;
  4. Снимки тома;
  5. Легкое резервное копирование и восстановление с использованием моментальных снимков;
  6. Простое перемещение данных;
  7. Изменение размеров пулов хранения (добавление или удаление дисков) без обязательного переформатирования дисков.
В этом учебном пособии показано, как сделать разбиение на разделы, форматирование и добавление нового диска в том LVM в Linux. Для демонстрационной цели я использую Ubuntu VM, но команды остаются такими же для «голого железа» или любой другой технологии виртуализации, такой как KVM, Xen, VMware и т. д.

Внимание : Будьте осторожны с lvm / mkfs.ext4 и другими командами, а также с именами устройств, т.к. если имя устройства задано неверно, это может уничтожить все данные. Соблюдайте осторожность и всегда держите полные резервные копии.

Шаг 1 – Узнать информацию о существующих LVM

Управление хранилищем LVM разделено на три части:

  1. Физические тома (ФТ(PV)) – фактические (например, /dev/sda, /dev,sdb, /dev/vdb и т.д.)
  2. Группы томов (ГТ(VG)) – физические тома объединяются в группы томов. (например, my_vg = /dev/sda + /dev/sdb .)
  3. Логические тома (ЛТ(LV)) – группа томов, в свою очередь, делится на логические тома (например, my_vg делится на my_vg/data, my_vg/backups, my_vg/home, my_vg/mysqldb и т.д.)
Введите следующие команды, чтобы узнать информацию о каждой части.

Как отобразить информацию о физических томах (pv)

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

Итак, в настоящее время мой LVM включает физический том (фактический диск), называемый /dev/vda5 . Чтобы просмотреть подробную информацию о свойствах, введите:

$ sudo pvdisplay

Примеры возможных выводов данных:

Из вышеуказанного вывода ясно видно, что наша группа томов с именем ubuntu-box-1-vg сделана из физического тома с именем /dev/vda5 .

Как отобразить информацию о LVM группе томов (vg)

Введите любую из следующих команд vgs/vgdisplay vgs , чтобы просмотреть информацию о группах томов и их свойствах:

$ sudo vgdisplay

Примеры возможных выводов данных:

Как отобразить информацию о LVM логическом томе (lv)

Введите любую из следующих команд lvs command / lvdisplay , чтобы просмотреть информацию о группах томов и их свойствах:

$ sudo lvdisplay

Примеры возможных выводов данных:

Моя группа томов ubuntu-box-1-vg разделена на два логических тома:

  1. /dev/ubuntu-box-1-vg/root – корневая файловая система;
  2. /dev/ubuntu-box-1-vg/swap_1 – пространство для свопинга.
Основываясь на приведенных выше командах, вы можете получить базовую идею о том, как LVM организует устройство хранения в физических томах (PV), группах томов (VG) и логических томах (LV):

Шаг 2 – Узнайте информацию о новом диске

Вам нужно добавить новый диск на свой сервер. В этом примере для демонстрационной цели я добавил новый диск, который имеет размер 5GiB. Для того чтобы узнать информацию о запуске новых дисков:

$ sudo fdisk –l

$ sudo fdisk -l | grep "^Disk /dev/"

Примеры возможных выводов данных:

Другой вариант – сканировать все видимые устройства для LVM2:

$ sudo lvmdiskscan

Примеры возможных выводов данных:

/dev/ram0 [ 64.00 MiB] /dev/ubuntu-box-1-vg/root [ 37.49 GiB] /dev/ram1 [ 64.00 MiB] /dev/ubuntu-box-1-vg/swap_1 [ 2.00 GiB] /dev/vda1 [ 487.00 MiB] /dev/ram2 [ 64.00 MiB] /dev/ram3 [ 64.00 MiB] /dev/ram4 [ 64.00 MiB] /dev/ram5 [ 64.00 MiB] /dev/vda5 [ 39.52 GiB] LVM physical volume /dev/ram6 [ 64.00 MiB] /dev/ram7 [ 64.00 MiB] /dev/ram8 [ 64.00 MiB] /dev/ram9 [ 64.00 MiB] /dev/ram10 [ 64.00 MiB] /dev/ram11 [ 64.00 MiB] /dev/ram12 [ 64.00 MiB] /dev/ram13 [ 64.00 MiB] /dev/ram14 [ 64.00 MiB] /dev/ram15 [ 64.00 MiB] /dev/vdb [ 5.00 GiB] 2 disks 18 partitions 0 LVM physical volume whole disks 1 LVM physical volume

Шаг 3 – Создание физических томов (pv) на новом диске под названием /dev/vdb

Введите следующую команду:

$ sudo pvcreate /dev/vdb

Примеры возможных выводов данных:

Physical volume "/dev/vdb" successfully created

Теперь выполните следующую команду для проверки:

$ sudo lvmdiskscan –l

Примеры возможных выводов данных:

WARNING: only considering LVM devices /dev/vda5 [ 39.52 GiB] LVM physical volume /dev/vdb [ 5.00 GiB] LVM physical volume 1 LVM physical volume whole disk 1 LVM physical volume

Шаг 4 – Добавление недавно созданного физического тома (pv) с именем /dev/vdb в существующий логический том (lv)

Введите следующую команду для добавления физического тома /dev/vdb в группу томов «ubuntu-box-1-vg».

Менеджер логических томов (LVM англ . Logical Volume Manager ) - предоставляет собой дополнительный уровень абстракции между физическими/логическими дисками (привычными разделами, с которыми работает fdisk и аналогичные программы) и файловой системой. Это достигается путём разбивки изначальных разделов на небольшие блоки (экстенты , обычно 4-32 МБайт ) и объединения их в единый виртуальный том, точнее группу томов (volume group ), которая далее разбивается на логические тома (logical volume ). Для файловой системы логический том представлен как обычное блочное устройство, хотя отдельные экстенты тома могут находиться на разных физических устройствах (и даже сам экстент может быть распределён подобно RAID). LVM увеличивает гибкость файловой системы, однако, являясь просто промежуточным слоем, не отменяет ограничения и использование других слоёв. То есть, по-прежнему нужно создавать и изменять разделы, форматировать их.

Создание.

# pvcreate /dev/sdb1 /dev/sdb2 //создание физического тома (physical volume) # vgcreate volgroup00 /dev/sdb1 //создание группы томов (volume group) # vgextend volgroup00 /dev/sdb2 //добавление нового раздела в группу томов # pvdisplay /dev/sdb2 //отображение атрибутов физического тома # lvcreate -L20G -ntest01 volgroup00 //создание логического тома с именем test размером 20Гб

Размер тома можно создавать по количеству экстентов, их число в группе томов определяется через vgdsplay :

# lvcreate -l 10000 volgroup00 -n test02

Теперь когда логический том создан над ним можно выполнять теже действия как и с обычным разделом, т.е. его можно форматировать, монтировать, переносить информацию и проч.

# mkreiserfs /dev/volgroup00/test01 //форматирование логического тома под ReiserFS # mount /dev/volgroup00/test01 /mnt/lvmtest //монтирование логического тома # cp -a /etc/ /mnt/lvmtest //копирование

Сопровождение LVM.

Увеличение размера логического тома

После увеличения логического тома, необходимо увеличить размер файловой системы. Для каждой ФС свой метод. Причем в каждом случае есть свои нюансы:
Перед изменением размера ФС Ext2 необходимо отмонтировать раздел (размер Ext3/Ext4 изменяется на лету).
Ext4 увеличивается только средством resize2fs . В fsadm свои методы.
Увеличивать размер файловых систем Reiserfs можно как в смонтированном , так и в размонтированном состоянии.
Размер файловой системы XFS можно увеличить только в смонтированном состоянии. Кроме того, утилите в качестве параметра нужно передать точку монтирования, а не имя устройства.

# lvextend - L+ 4G / dev/ volgroup00/ test01 //увеличение логического тома на 4Гб # resize2fs / dev/ volgroup00/ ext //расширение Ext2/Ext3/Ext4 или второй вариант через fsadm (в некоторых источниках пишут про e2fsadm, у себя ее не нашел). # fsadm - l resize / dev/ volgroup00/ ext 2G //увеличение логического тома Ext2/Ext3, с расширением ФС. На сенятбрь 2009 Ext4 пока не поддерживается # resize_reiserfs - f / dev/ volgroup00/ reiser //расширение ReiserFS # xfs_growfs / mnt/ lvm/ xfs //расширение XFS # btrfsctl - r + 2g / mnt/ lvm/ btrfs/ //расширение Btrfs или # btrfsctl - r + 2g - A / dev/ volgroup00/ btrfs //расширение Btrfs

# lvextend -L+4G /dev/volgroup00/test01 //увеличение логического тома на 4Гб # resize2fs /dev/volgroup00/ext //расширение Ext2/Ext3/Ext4 или второй вариант через fsadm (в некоторых источниках пишут про e2fsadm, у себя ее не нашел). # fsadm -l resize /dev/volgroup00/ext 2G //увеличение логического тома Ext2/Ext3, с расширением ФС. На сенятбрь 2009 Ext4 пока не поддерживается # resize_reiserfs -f /dev/volgroup00/reiser //расширение ReiserFS # xfs_growfs /mnt/lvm/xfs //расширение XFS # btrfsctl -r +2g /mnt/lvm/btrfs/ //расширение Btrfs или # btrfsctl -r +2g -A /dev/volgroup00/btrfs //расширение Btrfs

Уменьшение размера логического тома

Логические тома также могут быть уменьшены в размере. В первую очередь необходимо уменьшить размер файловой системы, и только после этого уменьшать размер логического тома. В обратной последовательности можно потерять данные. Также есть некоторые нюансы:
Перед изменением размера файловую систему необходимо отмонтировать.
При изменении размера Ext2/Ext3 resize2fs ’у указывается ее новый размер.
Уменьшить XFS и JFS невозможно.
Уменьшить Btrfs можно на лету, но лучше не рисковать.

# resize2fs /dev/volgroup00/ext2 500m //указание нового размера для ФС Ext2/Ext3 # fsadm -l resize /dev/volgroup00/ext3 200M //указание нового размера для ФС Ext2/Ext3 # resize_reiserfs -s-1G /dev/volgroup00/reiserfs //уменьшение ФС Reiserfs # btrfsctl -r -2g -A /dev/volgroup00/btrfs //уменьшение ФС Btrfs # lvreduce -L-1G /dev/volgroup00/test01 //уменьшение логического тома

Переименование логического тома

# vgchange -a n /dev/volgroup02 //отключение логических томов в группе-жертве # vgmerge volgroup01 volgroup02 //поглощение группы volgroup02 группой volgroup01

Разделение группы томов

# vgsplit volgroup01 volgroup02 /dev/sdb1 //выделение новой группы томов volgroup02 которая разместится на физическом томе /dev/sdb1

Изменение размера физического тома. Есть несколько нюансов:
Увеличение размера физического тома LVM, производится после увеличения раздела программами типа cfdisk/fdisk
Уменьшение тома следует проводить после уменьшения файловых систем и логических томов, иначе возможна порча данных

# [b]pvresize /dev/sda1 //увеличение физического тома # [b]pvresize –setphysicalvolumesize 40G /dev/sda1 //уменьшение физического тома

Создание снимков (Snapshots)

Снимок это доступная только для чтения копия другого тома. При создании снимков необходимо убедиться что запущен dmeventd . При создании снимков с XFS ее предвариетльно надо заморозить – xfs_freeze .

# lvcreate -L600M -s -n var-backups /dev/volgroup00/var //создание тома var-backup, как копии тома var # mount /dev/volgroup00/var-backup /mnt/backup //последующее монтирование снимка

Создание зеркала (Mirrors)

Зеркала используются для повышения отказоустойчивости и повышения уровня сохранности информации. Для создания зеркала необходимо 3 физических тома, 2 для зеркала и 1 для журнала. Рекомендуется использовать физические тома размещенные на разных носителях. Использование физических томов с одного носителя сводит на ноль целесообразность использования зеркала, т.к. в случае аппаратного сбоя зеркало оказывается бесполезным. При создании зеркал необходимо убедиться что запущен dmeventd

# pvcreate /dev/sda5 /dev/sdb1 /dev/sdc1 //создаем физический том # vgcreate mirror00 /dev/sda5 /dev/sdb1 /dev/sdc1 //создаем группу mirror00 # lvcreate -L 5G -n volume00 -m 1 mirror00 //создаем зеркальный том volume00

просмотр информации о логических томах, процент Copy должен достигнуть 100%

# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert volume00 mirror00 mwi- a- 5.00G volume00_mlog 6.17

# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert volume00 mirror00 mwi-a- 5.00G volume00_mlog 6.17

проверка использования устройств в созданном зеркале

# lvs - a - o + devices LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices volume00 mirror00 mwi- a- 5.00G volume00_mlog 100.00 volume00_mimage_0(0 ) , volume00_mimage_1(0 ) [ volume00_mimage_0] mirror00 iwi- ao 5.00G / dev/ sda5(0 ) [ volume00_mimage_1] mirror00 iwi- ao 5.00G / dev/ sdb1(0 ) [ volume00_mlog] mirror00 lwi- ao 4.00M

# lvs -a -o +devices LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices volume00 mirror00 mwi-a- 5.00G volume00_mlog 100.00 volume00_mimage_0(0),volume00_mimage_1(0) mirror00 iwi-ao 5.00G /dev/sda5(0) mirror00 iwi-ao 5.00G /dev/sdb1(0) mirror00 lwi-ao 4.00M

# vgextend volgroup01 /dev/sdc1 /dev/sdd1 //добавление новых физических томов в группу # lvconvert -m 1 /dev/volgroup01/volume-new //преобразование обычного тома в зеркальный

Удаление томов и групп

Логические тома перед удалением должны быть отмонтированы.

# vgreduce volgroup00 /dev/sdb1 //удаление физического тома из группы # lvremove /dev/volgroup00/test01 //удаление логического тома # vgremove volgroup00 //удаление группы томов # pvremove /dev/sdc1 //удаление физического тома

На днях пришлось менять диски на сервере CentOS 6.7. Старые диски хоть и рабочие еще, но с нагрузкой не справлялись. Поэтому раскошелились и купили SSD диски такой же емкости, как и старые. Но т.к. стоимость 1 Гб на SSD диске намного дороже, то посмотрев на размер /var (180 Гб) и / (корневой раздел) 300 Гб, само собой напросилось решение увеличить размер / за счет уменьшения размера /var. Идея, конечно, хорошая, но раньше я никогда таким не баловался, поэтому провел выходные на форумах, проверил сначала все на виртуальной машине без raid, потом подумал, что на моем сервере работает софтовый raid1 и сделал тестовый стенд (на старый комп поставил CentOS 6.7 с двумя дисками в программном raid1) и проверил все на нем, потом уже выполнил повторно на рабочем сервере. Но все же волнительно было, чего уж. Итак, поехали!

Совет: если вы раньше никогда не развлекались изменениями разделов, никогда не пробуйте это делать на рабочем компьютере.

Итак, есть система из двух дисков, объединенных в raid1 (зеркало).

Разбивка примерно такая:

/dev/sda:
/dev/sda1 200 Мб, /dev/md0
/dev/sda2 480 Гб, /dev/md1

/dev/sdb:
/dev/sdb1 200 Мб, /dev/md0
/dev/sdb2 480 Гб, /dev/md1

/dev/md0 отдан под /boot

На /dev/md1 тома LVM:
/dev/VolGroup/LogVol00 swap 2 Гб
/dev/VolGroup/LogVol01 /var 180 Гб, ext4
/dev/VolGroup/LogVol02 / 300 Гб, ext4

Для чего я привел пример разбивки? Чтобы вы обратили внимание, что мы в дальнейшем ни разу не будем ресайзить тома на устройствах /dev/sdXY. Мы все изменения разделов будем проводить только с логическими томами LVM!

Задача: изменить размер /var до 30 Гб и отдать все освободившееся место в / (корень). Файловая система обоих разделов ext4. Система CentOS 6.7.

Шаг 1: уменьшаем /var

В моем случае (софтовый raid1) я сначала проверил на всякий случай, что все диски подключены и ошибок нет (cat /proc/mdstat).

Я не был уверен, что размонтировать /var (umount /var) в рабочем режиме хорошая мысль, поэтому загрузился с LiveCD CentOS в Rescue Mode (можно было войти в single mode и без LiveCD).

Проверяем доступность физического тома LVM:

# pvscan
PV /dev/md1 VG VolGroup lvm2

Проверяем доступность групп томов:

# vgscan
Reading all physical volumes. This may take a while...
Found volume group "VolGroup" using metadata type lvm2

Активируем логические тома:

Смотрим логические тома:

# lvscan
ACTIVE "/dev/VolGroup/LogVol01" inherit
ACTIVE "/dev/VolGroup/LogVol00" inherit
ACTIVE "/dev/VolGroup/LogVol02" inherit

Можно посмотреть подробности тома /dev/VolGroup/LogVol01 (он у нас /var):

# lvdisplay /dev/VolGroup/LogVol01

а можно и не смотреть.

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

Отмонтируем том, который у нас /var и который будет уменьшать:

# umount /dev/VolGroup/LogVol01

Выполняем проверку файловой системы тома:

# fsck.ext4 /dev/VolGroup/LogVol01

Команда должна пройти без ошибок.

Выполняем проверку на наличие ошибок (-f - force):

# e2fsck -f /dev/VolGroup/LogVol01

Сначала уменьшаем размер файловой системы тома:

resize2fs -p /dev/VolGroup/LogVol01 30G

Внимание: здесь "30G" - это размер, который мы хотим задать для файловой системы, а не на который мы хотим уменьшить файловую систему.

И только после этого изменяем размер тома LVM:

# lvreduce -L 30G /dev/VolGroup/LogVol01

Получили сообщение об успешном завершении.

Теперь можно и не монтировать обратно раздел, а сразу перезагрузиться и проверить, что все ок, система загружается, df -h выдает размер /var равным 30 Гб.

На CentOS после загрузки до входа в систему появилось сообщение от SELinux, который должен переиндексировать изменения. Ок. Это заняло какое-то время и система сама перезагрузилась. После этого я вошел в систему и убедился, что все ок. Только после этого я перешел ко второму шагу (который оказался намного быстрее и проще), а именно увеличению корневого раздела путем добавления к нему всего доступного свободного места на физическом томе LVM. Заупстите pvscan и посмотрите, в выводе команды будет указано, есть доступное место (это плюс-минус то, что было занято раньше под /var). Теперь мы это свободное место добавим к / (корню).

Шаг 2: увеличиваем размер тома LVM (который у нас /) без перезагрузки

Да, вы не очитались. Чтобы увеличить размер тома LVM нам не придется загружаться в single mode (или через LiveCD в Rescue mode).

На всякий случай, чтобы не перепутать, какому тому вы хотите отдать свободное место, выполните cat /etc/fstab и lvscan, убедитесь, что раздел / (корень) - это /dev/VolGroup/LogVol02, а не что-то иное;)

# lvextend -l+100%FREE -r

Именно так, без пробелов между -l (это маленькая L) и +100%FREE. Заметьте, я не стал указывать, на сколько точно я хочу увеличть размер тома. В данной ситуации мне это было не нужно и чтобы не гадать, сколько конкретно надо добавить Гбайт, я просто указал, чтобы было добавлено все, что можно. man lvextend для ознакомления с вариациями -L+100G ;) Опция -r указывает на то, чтобы был выполнен ресайз файловой системы после увеличения логического тома. Без этой опции команды было бы две:

# lvextend -l+100%FREE /dev/VolGroup/LogVol02
# resize2fs /dev/VolGroup/LogVol02

После успешного завершения я бы перезагрузился и проверил, что все ок.

Естественно, все вышеописанное может дать сбой на любом этапе, хотя бы из-за сбоя электропитания. Поэтому если данные на изменяемых разделах хоть как-то важны, вы должны иметь их копию.

Все вышеперечисленное верно для CentOS. Для Ubuntu вроде бы все то же самое. Думаю (не знаю) что для всех современных Linux все команды такие же.

21.08.2017 10:48 bzzz

System Administration

Что такое LVM?

LVM расшифровывается как Logical Volume Manager. Я не буду давать официальных определений, а расскажу кратко своими словами. LVM - это дополнительный уровень абстрации дискового пространства. Находится этот уровень между файловой системой и физическим диском. LVM схож с software RAID. В этой самой абстракции есть 3 элемента: группа томов (Volume Group, сокр. VG), физический том (Physical volume, сокр. PV) и логический том (Logical Volume, сокр. LV). Можно создать несколько групп томов. В каждую группу томов нужно добавить физические тома. Физическими томами являются разделы диска. После добавления физических томов, можно добавить логические тома. А на логических томах уже можно создать файловую систему. Всё это очень удобно, особенно на сервере.

Как можно использовать LVM?

Если использовать LVM, то можно упрастить обслуживание сервера. Можно создать много разделов с разными файловыми системами, можно монтировать файловые системы с разными флагами (например, запретить исполнение файлов), можно очень быстро и просто расширить размер раздела, если на нем заканчивается место. Конечно, дополнительный слой между диском и файловой системой снижает скорость чтения и записи. За всё надо платить. Я использую LVM, чтобы удобно управлять дисковым пространством виртуальных машин. Обычно, в качестве виртуального диска используется обычный файл. Во-первых, это неудобно, потому что в KVM нет механизма для снятия моментальных слепков виртуального диска (snapshots), а копировать даже несколько гигабайт долго, и виртуальную машину придется остановить. Во-вторых, если файл виртуального диска хранится в файловой системе, то мы получим дополнительные задержки, связанные с чтением и записью этого файла. Поэтому в качестве виртуального диска я использую логические тома LVM.

Краткий справочник команд

Создать группу томов:
  1. vgcreate vg_virt /dev/sda1 /dev/sdb1
Инициализация физического тома:
  1. pvcreate /dev/sda2
Добавление физического тома в группу томов:
  1. vgextend vg_virt /dev/sda2
Создание нового логического тома размером 10Гб:
  1. lvcreate -L10G -n lv_ubuntu_vm vg_virt
Для логических томов можно задавать имена, которые несут смысловую нагрузку. Это намного удобнее работы с именами вида sdxx.
Для того чтобы увеличить логический том, можно указать конечный размер тома, а можно указать размер, на который требуется увеличить том.
  1. lvextend -L12G /dev/vg_virt/lv_ubuntu_vm
  2. lvextend -L+3G /dev/vg_virt/lv_ubuntu_vm
И, конечно, после этой операции нужно увеличить размер и самой файловой системы.
  1. resize2fs /dev/vg_virt/lv_ubuntu_vm
Удаление логического тома:
  1. lvremove /dev/vg_virt/lv_ubuntu_vm
Создание снимка (snapshot) c логического тома:
  1. lvcreate --size 2G --snapshot --name snapshot_ubuntu_vm /dev/vg_virt/lv_ubuntu_vm
Снимки логических томов делаются очень быстро, они очень удобны. Снимок это что-то вроде дополнительного слоя, который хранит в себе все изменения логического тома. Снимок не хранит файлы, которые не были изменены с момента создания снимка. Поэтому размер занятого места на снимке тома зависит от количества изменений. Если удалить том, с которого был сделан снимок, то снимое тоже будет удален. И, конечно, операции со снимком тома намного медленнее, чем с самим томом.
А чтобы создать копию логического диска, то есть полность его клонировать, можно воспользоваться простой утилитой dd.
  1. sudo dd if=/dev/vgroup1/lvolume1 of=/dev/vgroup1/lvolume_copy
Естественно, логические тома должны существовать.

Менеджер логических томов (Logical Volume Manager) - менеджер логических томов операционных систем GNU/Linux и OS /2. Она позволяет создавать поверх физических разделов (или даже неразбитых винчестеров) логические тома, которые в самой системе будут видны как обычные блочные устройства с данными (т.е. как обычные разделы). Основные преимущества LVM в том, что во-первых одну группу логических томов можно создавать поверх любого количества физических разделов, а во-вторых размер логических томов можно легко менять прямо во время работы. Кроме того, LVM поддерживает механизм снапшотов, копирование разделов «на лету» и зеркалирование, подобное RAID -1.

Создание и удаление LVM

Для LVM существует три группы утилит, предназначенных для работы с физическими томами (pv*), логическими группами (lg*) и логическими томами (lv*). Так, команда pvcreate создает физические тома, команда pvscan - сообщает об наличествующих, а команда pvdisplay выводит о них полную информацию. А тройки команд vgcreate, vgscan, vgdisplay и lvcreate, lvscan, lvdisplay проделывают то же для групп томов и логических томов, соответственно.

Удаление LVM (или отдельных его частей, например, логических томов или групп томов) происходит в обратной последовательности их создания:

    отмонтируем разделы (umount)

    lvdisplay. удалить логические тома (lvremove)

    vgdisplay. удалить группы томов (vgremove) # vgremove vz

    pvdisplay. удалить ненужные физические тома (pvremove) # pvremove /dev/sda3

Создание LVM

    Создать физический том (physical volume) на разделе sda3: # pvcreate /dev/sda3 # pvdisplay

    На физическом томе создаём группу томов, с именем vz: # vgcreate -s 32M vz /dev/sda3

    Команда vgcreate запускается с именем группы в качестве первого аргумента и имени файла устройства раздела - как аргумента второго. Имя группы - произвольно, в путях к файлам устройств физических томов при использовании devfs должна применяться полная нотация (как это вывела команда pvscan). По умолчанию тома нарезаются на физические блоки extent"ы размером 4 Мбайт. При желании иметь другой размер блока - это можно явно задать опцией -s ##m. Рекомендуется использовать extent"ы в 32 Мбайт, в этом случае максимальный размер любого из будущих логических томов ограничивается величиной 2 терабайта, если же остановиться на умолчальном extent"е, предел тома составил бы 256 Гбайт.

    Создание логического тома или томов (аналог нарезания на разделы физического жесткого диска). Создадим два раздела tmp размером 10Гб и раздел rest, который займет все оставшееся пространство группы томов vz: # lvcreate -l 10G -n tmp vz # lvcreate -l 100%FREE -n rest vz

    Отформатируем получившиеся логические тома: # mkfs.ext4 /dev/vz/tmp # mkfs.ext4 /dev/vz/rest

Интернет