Как использовать LVM
Итак, вот что мы имеем:
Устройство /dev/sda не трогаем, системное. Для других нужд. А вот sdb и sdc объемом 2 и 3 Гб соответственно будем объединять в одну логическую группу.
Шаг 1. Создадим разделы на устройствах
Оба раздела настраиваются аналогично
Важно, чтобы тип раздела был Linux LVM (посмотреть типы можно нажав l после t в консоли fdisk)
Шаг 2. Создаем “Физические диски” Physical Volume
Для этого служит команда pvcreate и указание девайса.
Убедимся, что всё получилось. Просмотреть физические тома можно командой:
Более подробная информация будет показана при команде
Шаг 3. Создаем группу томов (Volume Group)
Создать группу томов из физических томов можно посредством команды vgcreate и указании имени группы, а так же входящих в эту группу устройств (это, кстати, даёт возможность заводить несколько различных групп):
Просмотреть созданные группы можно командой:
Как видим, здесь фиксируется имя группы, количество физических томов, логических томов, атрибуты, виртуальный размер и объем свободного виртуального места. Почему виртуального? Я уже упоминал о том, что размер можно менять динамически “на лету”?
Как и с физическими томами, у группы томов тоже есть команда display:
Шаг 4. Создаем логический раздел (Logical Volume)
Пришло время “резать пирог”, то есть разделять группу томов на разделы по своему усмотрению. Оттяпаем 300 Мегабайт на первый логический том, а 4 с небольшим гигабайта – на второй логический том. Используем команду lvcreate с указанием размера, имени логического тома и имени группы, от которой “откусываем” кусок:
Этой командой мы выделим 300 мегабайт из группы litl_admin, и назовём этот логический том “disk_1”.
Аналогично создадим disk_2 из оставшегося места.
P.S. Для удаления ошибочно созданного объекта используем lvremove с указанием имени группы. Далее в диалоговом режиме удаляем неугодные нам разделы.
Пришла пора разметить файловые системы, чтобы мы могли использовать эти логические тома.
имена могут быть любыми, эти каталоги будут выступать точками монтирования.
Осталось внести изменения в файл /etc/fstab, чтобы эти точки монтировались автоматически.
Допишем наши строки:
устройство, точка монтирования, файловая система, опции монтирования, порядок проверки fsck
У меня это две нижние строки.
Инструкция по изменению раздела
Расширяем раздел в панели управления VDS или Proxmox
Подразумевается, что в панели управления Вы уже расширили пространство жесткого диска и теперь готовы сделать это «программно». Дополнительные объяснения здесь лишние.
Размечаем раздел
Проверяем какой размер раздела «виден» в ОС и как называется раздел:
Из примера видно, что существует жесткий диск /dev/vda уже размером 20GB. На нем есть раздел /dev/vda1, который пока занимает размер в 5GB. Именно эту разницу мы и должны исправить.
Подключаемся к жесткому диску утилитой parted, указывая жесткий диск:
Узнаем каким номером утилита parted обозначила нужный нам раздел:
В примере нужный нам раздел обозначается 1.
Расширяем раздел 1 до 20.5GB (это весь доступный размер):
Где End — это нужный размер раздела.
Выходим из утилиты parted:
На этом этап новой разметки раздела диска закончен.
Физически изменяем размер
Запускаем последнюю команду для применения всех наших действий:
После этого нужно перезапустить наш сервер и пользоваться увеличенным размером диска.
Оставить свой комментарий
Для того, чтобы оставить комментарий, необходимо авторизоваться.
В инструкции рассмотрены сценарии расширения дискового пространства разделов в Linux без потери информации.
Принцип увеличения диска:
- Расширение раздела.
- Изменение размера файловой системы.
В зависимости от типа раздела и файловой системы, действия различаются.
Любая работа с диском несет риск потери информации. Перед началом работ убедитесь в наличие резервных копий ценных данных.
Возможные ошибки
Рассмотрим ошибки, с которыми можно столкнуться при работе с LVM.
Device /dev/sdX excluded by a filter
Данную ошибку можно встретить при попытке инициализировать диск командой pvcreate.
Причина: либо диск не полностью чист, либо раздел не имеет нужный тип.
Решение: в зависимости от типа проблемы, рассмотрим 2 варианта.
а) если добавляем целый диск.
Удаляем все метаданные с диска командой:
wipefs -a /dev/sdX
* где вместо X (или sdX) подсталвляем имя диска.
б) если добавляем раздел.
Открываем диск с помощью команды fdisk:
fdisk /dev/sdX
* где вместо X (или sdX) подсталвляем имя диска.
Смотрим список созданных на диске разделов:
: p
Задаем тип раздела:
: t
Выбираем номер раздела (например, раздел номер 3):
: 3
Командой L можно посмотреть список всех типов, но нас интересует конкретный — LVM (8e):
: 8e
Сохраняем настройки:
: w
Как просто попробовать
Если LVM устанавливается не для дальнейшего использования, а «напосмотреть», то диски и разделы можно заменить файлами. Не понадобятся ни дополнительные диски, ни виртуальные машины. Мы создадим виртуальные накопители и будем с ними работать. Например, можно создать 4 диска по 1 Гбайт, но можно создать другое количество большего или меньшего размера как вам хочется.
Создаем сами файлы, имитирующие устройства:
mkdir /mnt/sdc1/lvm cd /mnt/sdc1/lvm dd if=/dev/zero of=./d01 count=1 bs=1G dd if=/dev/zero of=./d02 count=1 bs=1G dd if=/dev/zero of=./d03 count=1 bs=1G dd if=/dev/zero of=./d04 count=1 bs=1G
Создаем loopback устройства из файлов:
losetup -f --show ./d01 losetup -f --show ./d02 losetup -f --show ./d03 losetup -f --show ./d04
Дальше поступаем так же, как если бы ми создавали LVM на реальных дисках
Обратите внимание на названия loop-устройств — они могут отличаться от приведённых здесь.
pvcreate /dev/loop0 pvcreate /dev/loop1 pvcreate /dev/loop2 pvcreate /dev/loop3 vgcreate -s 32M vg /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3 lvcreate -n first -L 2G vg lvcreate -n second -L 400M vg ...
Клонирование диска
Первым делом мы создаем полную копию нашего диска. Это единственный этап, который может быть выполнен без нюансов на любой из систем, так как он выполняется с помощью утилиты dd.
Смотрим состояние дисков и разделов на текущий момент:
lsblk
Определяемся, с какого диска на какой мы будем выполнять копию
Это может прозвучать банально, но тут важно не перепутать источник диска, с которого клонируется информация и целевой носитель
Выполняем команду:
dd if=/dev/sdx1 of=/dev/sdy1 bs=64K conv=noerror,sync
* Команда выполняет блочное копирование и запускается со следующими параметрами:
- if — источник данных.
- of — куда копировать данные.
- bs — объем блока, который будет читаться и копироваться за раз.
- conv — дополнительные опции. В данном примере noerror — продолжать операцию в случае ошибки чтения данных; sync — копировать все, в том числе и нулевые данные.
* Таким образом, мы клонируем диск или раздел с /dev/sdx1 в /dev/sdy1 (не путаем источник и назначение).
Команда будет выполняться некоторое время. После ее завершения можно снова посмотреть состояние дисков и разделов:
lsblk
При клонировании диска мы должны увидеть, что целевой носитель приобрел такую же разметку.
Следующим шагом настроим загрузчик.
Снапшоты
Одна из важнейших особенностей LVM — это поддержка механизма снапшотов. Снапшоты позволяют сделать мгновенный снимок логического тома и использовать его в дальнейшем для работы с данными.
Примеры использования
LVM активно используется, когда необходим механизм снапшотов. Например, этот механизм крайне важен при бекапе постоянно меняющихся файлов. LVM позволяет заморозить некоторое состояние ФС и скопировать с неё все нужные данные, при этом на оригинальной ФС останавливать запись не нужно.
Также снапшоты можно применить для организации поддержки файловым сервером с Samba механизма архивных копий, об этом в соответствующей статье:
Поддержка архивных копий файлов в Samba
Удаление томов
Если необходимо полностью разобрать LVM тома, выполняем следующие действия.
Отмонтируем разделы:
umount /mnt
* где /mnt — точка монтирования для раздела.
Удаляем соответствующую запись из fstab (в противном случае наша система может не загрузиться после перезагрузки):
vi /etc/fstab
#/dev/vg01/lv01 /mnt ext4 defaults 1 2
* в данном примере мы не удалили, а закомментировали строку монтирования диска.
Смотрим информацию о логичеких томах:
lvdisplay
Теперь удаляем логический том:
lvremove /dev/vg01/lv01
На вопрос системы, действительно ли мы хотим удалить логических том, отвечаем да (y):
Do you really want to remove active logical volume vg01/lv01? [y/n]: y
* если система вернет ошибку Logical volume contains a filesystem in use, необходимо убедиться, что мы отмонтировали том.
Смотрим информацию о группах томов:
vgdisplay
Удаляем группу томов:
vgremove vg01
Убираем пометку с дисков на использование их для LVM:
pvremove /dev/sd{b,c,d}
* в данном примере мы деинициализируем диски /dev/sdb, /dev/sdc, /dev/sdd.
В итоге мы получим:
Labels on physical volume «/dev/sdb» successfully wiped.
Labels on physical volume «/dev/sdc» successfully wiped.
Labels on physical volume «/dev/sdd» successfully wiped.
Как уменьшить размер Ext4
Допустим, нам надо отделить от корневого раздела четыре гигабайта и создать из них другой раздел, например, раздел подкачки. Для этого сначала надо уменьшить размер файловой системы, а затем самого раздела.
Шаг 1. Проверка файловой системы
Перед тем, как уменьшить размер Ext4 надо проверить её на ошибки. Если файловая система смонтирована, размонтируйте её:
Для этого выполните:
Шаг 2. Уменьшение файловой системы
Уменьшение размера файловой системы тоже выполняется с помощью resize2fs. Но теперь утилите надо передать в параметрах новый размер файловой системы. Например, 16 гигабайт:
Размер можно указывать в килобайтах (K), мегабайтах (M) или гигабайтах (G). Теперь вы знаете как изменить размер Ext4. В выводе утилита вы увидите сколько теперь блоков занимает файловая система. Это число надо умножить на 4096 чтобы получить размер файловой системы в байтах. Цифра четыре взята потому что размер одного блока в Ext4 равняется четырём килобайтам. Например, в данном случае это будет 17179869184 байт или 16 гигабайт:
Теперь надо уменьшить размер раздела с помощью parted. Но значение желательно брать чуть больше, для безопасности, потому, что если вы зацепите пространство, где расположена файловая система, то работать с ней вы больше не сможете.
Шаг 3. Уменьшение раздела
Запустите parted и используйте ту же команду resizepart чтобы уменьшить размер раздела:
Затем:
Чтобы закрыть программу выполните:
Уменьшение размера раздела ext2/ext3/ext4
Для уменьшения размера раздела с файловой системой ext2/ext3/ext4 необходимо выполнить те же действия, но в обратном порядке.
Например, уменьшим размер раздела до 100 Мб (главное, чтобы этот размер был больше занятого файлами пространства на разделе).
от монтируем партицию:
выполним проверку партиции:
выполним команду resize2fs указав в качестве параметра размер новой партиции (100 Мб):
Действие команды
Последний сектор выбираем не по-умолчанию, а соответственно новому размеру раздела:
После этого записываем новую таблицу раздела на диск, нажав w:
После этого монтируем раздел обратно:
И проверяем новый размер раздела:
Создание разделов
Рассмотрим пример создания томов из дисков sdb и sdc с помощью LVM.
1. Инициализация
Помечаем диски, что они будут использоваться для LVM:
pvcreate /dev/sdb /dev/sdc
* напомним, что в качестве примера нами используются диски sdb и sdc.
Посмотреть, что диск может использоваться LMV можно командой:
pvdisplay
В нашем случае мы должны увидеть что-то на подобие:
«/dev/sdb» is a new physical volume of «1,00 GiB»
— NEW Physical volume —
PV Name /dev/sdb
VG Name
PV Size 1,00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID rR8qya-eJes-7AC5-wuxv-CT7a-o30m-bnUrWa
«/dev/sdc» is a new physical volume of «1,00 GiB»
— NEW Physical volume —
PV Name /dev/sdc
VG Name
PV Size 1,00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 2jIgFd-gQvH-cYkf-9K7N-M7cB-WWGE-9dzHIY
* где
- PV Name — имя диска.
- VG Name — группа томов, в которую входит данный диск (в нашем случае пусто, так как мы еще не добавили его в группу).
- PV Size — размер диска.
- Allocatable — распределение по группам. Если NO, то диск еще не задействован и его необходимо для использования включить в группу.
- PE Size — размер физического фрагмента (экстента). Пока диск не добавлен в группу, значение будет 0.
- Total PE — количество физических экстентов.
- Free PE — количество свободных физических экстентов.
- Allocated PE — распределенные экстенты.
- PV UUID — идентификатор физического раздела.
2. Создание групп томов
Инициализированные на первом этапе диски должны быть объединены в группы.
Группа может быть создана:
vgcreate vg01 /dev/sdb /dev/sdc
* где vg01 — произвольное имя создаваемой группы; /dev/sdb, /dev/sdc — наши диски.
Просмотреть информацию о созданных группах можно командой:
vgdisplay
На что мы получим, примерно, следующее:
— Volume group —
VG Name vg01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 1,99 GiB
PE Size 4,00 MiB
Total PE 510
Alloc PE / Size 0 / 0
Free PE / Size 510 / 1,99 GiB
VG UUID b0FAUz-wlXt-Hzqz-Sxs4-oEgZ-aquZ-jLzfKz
* где:
- VG Name — имя группы.
- Format — версия подсистемы, используемая для создания группы.
- Metadata Areas — область размещения метаданных. Увеличивается на единицу с созданием каждой группы.
- VG Access — уровень доступа к группе томов.
- VG Size — суммарный объем всех дисков, которые входят в группу.
- PE Size — размер физического фрагмента (экстента).
- Total PE — количество физических экстентов.
- Alloc PE / Size — распределенное пространство: колическтво экстентов / объем.
- Free PE / Size — свободное пространство: колическтво экстентов / объем.
- VG UUID — идентификатор группы.
3. Создание логических томов
Последний этап — создание логического раздела их группы томов командой lvcreate. Ее синтаксис:
lvcreate <имя группы томов>
Примеры создания логических томов:
lvcreate -L 1G vg01
* создание тома на 1 Гб из группы vg01.
lvcreate -L50 -n lv01 vg01
* создание тома с именем lv01 на 50 Мб из группы vg01.
lvcreate -l 40%VG vg01
* при создании тома используется 40% от дискового пространства группы vg01.
lvcreate -l 100%FREE -n lv01 vg01
* использовать все свободное пространство группы vg01 при создании логического тома.
* также можно использовать %PVS — процент места от физического тома (PV); %ORIGIN — размер оригинального тома (применяется для снапшотов).
Посмотрим информацию о созданном томе:
lvdisplay
— Logical volume —
LV Path /dev/vg01/lv01
LV Name lv01
VG Name vg01
LV UUID 4nQ2rp-7AcZ-ePEQ-AdUr-qcR7-i4rq-vDISfD
LV Write Access read/write
LV Creation host, time vln.dmosk.local, 2019-03-18 20:01:14 +0300
LV Status available
# open 0
LV Size 52,00 MiB
Current LE 13
Segments 1
Allocation inherit
Read ahead sectors auto
— currently set to 8192
Block device 253:2
* где:
- LV Path — путь к устройству логического тома.
- LV Name — имя логического тома.
- VG Name — имя группы томов.
- LV UUID — идентификатор.
- LV Write Access — уровень доступа.
- LV Creation host, time — имя компьютера и дата, когда был создан том.
- LV Size — объем дискового пространства, доступный для использования.
- Current LE — количество логических экстентов.
Уменьшение диска образа RAW
Возможно если у вас виртуальная машина работает на LVM существует способ более простой и не надо переносить образ в файловый вариант, но мне не захотелось выполнять более сложные действия с системой LVM.
Воспользуемся командой которая может произвести изменение диска обрезав образ диска raw с конца на нужный размер.
В нашем случае номер виртуальной машины был 112 и нам необходимо уменьшить образ на 50 G:
qemu-img resize /var/lib/vz/images/112/vm-112-disk-0.raw -50G = вывод команды = WARNING: Image format was not specified for '/var/lib/vz/images/112/vm-112-disk-0.raw' and probing guessed raw. Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. qemu-img: warning: Shrinking an image will delete all data beyond the shrunken image's end. Before performing such an operation, make sure there is no important data there. qemu-img: warning: Using the --shrink option will suppress this message. Note that future versions of qemu-img may refuse to shrink images without this option. Image resized.
Как видим образ успешно изменён.
Осталось загрузится c Live-образа и в программе Gparted задействовать все свободное место от диска.
В системе Proxmox после изменения размера диска в разделе вы увидите уже новые параметры а вот в свойствах машины будет стоять старое значение. Возможно необходимо выполнить какое то действие, но в моем случае я переношу диск на раздел LVM и после этого везде будет показываться правильное значение.
Как увеличить диск LVM на ProxMox VE 5.4
Итак приступим. Сперва выключаем нашу виртуальную машину в программе VirtualBox и добавляем место на диске для нашей виртуальной машины.
Меняем размер на 70ГБ:
На картинке внизу мы видим что у нас получился новый размер диска:
Ниже видно что размер диска sda изменился и стал 70G. Но sda3 раздел диска остался старого размера.
1. Настройка размера раздела LVM через Gparted
Вот так это будет смотреться если вы в VirtualBox на нашей виртуальной машине в оптический привод вставите iso образ LinuxMint, загрузитесь с него и посмотрите через программу Gparted. Видно что физический том LVM не изменился:
Сразу скажу если у вас есть возможность запустить GParted как показано выше, то вы можете и отсюда изменить размер sda3 без потерь следующим образом. Выбираете раздел -> sda3 и в меню, затем Edit ->Resize/Move см. ниже:
Смотрим ниже — тянем коричневую полосу до конца чтобы увеличить размер диска proxmox:
Жмем Resize:
Теперь чтоб применить все изменения нажимаем на галочку:
После выключаем виртуальную машину Proxmox, ставим первой загрузку с жесткого диска -> запускаем виртуальную машину и увидим что размер логической группы pve увеличился на 20G. И после в консоли можно добавить нужный нам размер, например, для логического тома data с помощью команды:
Мы добавили 10G для логического тома data.
2. Увеличение размера LVM Proxmox через треминал
Но бывает так что только через консоль есть возможность изменить размер, и желательно это сделать в самой вирт. машине. Давайте рассмотрим этот вариант. Вернемся к тому что мы добавили нашей виртуальной машине свободного места через VirtualBox, И все выглядит вот так:
Если с LiveCD смотреть то вот так это выглядит:
Итак мы загрузили нашу виртуальную машину Proxmox, зашли на нее по ssh, набрали lsblk, увидели новый размер sda = 70G. Теперь через консоль будем менять размер раздела sda3 а с ним и размер логического тома LMV c именем data:
Первое что нужно сделать это поставить программу parted, это консольная версия программы Gparted:
После успешной установки заходим в parted и выбираем наш диск /dev/sda. Прошу не путать именно /dev/sda:
Далее смотрим наши разделы с помощью команды print:
Cверху на картинке видим что размер нашего lvm диска 42.4 GB и его номер 3. Будем его изменять. Наберем команду resizepart 3 и жмем Enter:
Далее пишем 100%FREE это значит что увеличиваем диск до максимально возможного и жмем Enter:
После выполнения можно снова выполнить команду print и мы увидим новый размер нашего LVM тома который стал 74.6GB:
Далее выходим с помощью команды quit и жмем Enter:
Теперь проверим как все это выглядит с помощью команды:
Итак на картинке сверху мы видим что размер sda3 раздела стал 69.5G но при этом сам LVM том data мы увеличить не сможем, а будет выходить ошибка, давайте попробуем все таки увеличить логический том LVM, и проверим:
Мы видим что изменения не применялись т.к. недостаточно свободного места. Если мы загрузимся с LiveCD в нашу виртуальную машину и посмотрим через программу Gparted то увидим следующую картину:
Дело в том что раздел sda3 мы увеличили, но при этом сам LVM физический том остался прежним. Физический LVM том — как следствие и группа LVM занимают старый объем. Чтобы это изменить надо растянуть физический LVM том на все свободное место для этого мы применим команду pvresize /dev/sda3 и жмем Enter:
На нижней картинке размер физического тома изменился мы это видим в сообщении:
Так же мы это заметим если поочередно введем команды pvs (инф. о физических томах), vgs (инф. о группах LVM). А вот vgs (инф. о логических томах) показывает старый объем для data root и swap т. к. нам его еще предстоит изменить.
Вот так теперь отображается в программе Gparted если загрузиться с LiveCD:
Осталось только добавить свободный объем в логический раздел data. Набираем команду:
Наши 20G добавились:
Проверяем изменения вводим поочередно команды:
Видим что для pvs и vgs неизменны параметры, а команда lvs показывает что наш раздел data стал 38.87G мы видим что он увеличился на 20G. Если мы посмотрим предыдущий вывод команды lvs на снимке, то там видно, что логический том data занимает 18.87G:
В вэб интерфейсе нашей машины мы тоже видим изменения в логическом томе data:
Всем спасибо, рад поделиться опытом.
P.S. Все действия лучше отрабатывайте в виртуальной среде, так как всякое бывает…
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Просмотр информации
Разберемся, как получить информацию о дисковых накопителях в системе.
1. Для общего представления дисков, разделов и томов вводим:
lsblk
Мы получим что-то на подобие:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
sda1 8:1 0 1G 0 part /boot
sda2 8:2 0 29G 0 part
sys-root 253:0 0 27G 0 lvm /
sys-swap 253:1 0 2G 0 lvm
sdb 8:16 0 1G 0 disk
vg01-lv01-real 253:3 0 1G 0 lvm
vg01-lv01 253:2 0 1G 0 lvm /mnt
vg01-sn01 253:5 0 1G 0 lvm
sdc 8:32 0 1G 0 disk
vg01-lv01-real 253:3 0 1G 0 lvm
vg01-lv01 253:2 0 1G 0 lvm /mnt
vg01-sn01 253:5 0 1G 0 lvm
vg01-sn01-cow 253:4 0 500M 0 lvm
vg01-sn01 253:5 0 1G 0 lvm
sdd 8:48 0 1G 0 disk
* как видим, команда отображает корневое блочное устройство, какие разделы из него сделаны и в какие логические тома организованы из некоторых из разделов.
2. Получить информацию о проинициализированных для LVM дисков:
Кратко:
pvs
Подробно:
pvdisplay
pvdisplay /dev/sdb
3. Посмотреть информацию о группах LVM.
Кратко:
vgs
Подробно:
vgdisplay
vgdisplay vg01
4. Посмотреть информацию о логических томах можно также двумя способами — краткая информация:
lvs
* команда покажет все логические разделы.
Для более подробной информации о логических томах вводим:
lvdisplay
lvdisplay /dev/vg01/lv01
5. Для поиска всех устройств, имеющих отношение к LVM, вводим:
lvmdiskscan
Создание LVM Linux
Структура LVM состоит из трех слоев:
- Физический том (один или несколько), Physical Volume (PV)
- Группа физических томов, Volume Group (VG)
- Логический том, который и будет доступен программам, Logical Volume (LV)
Перед тем как начинать создание lvm linux необходимо установить нужные для этого инструменты:
Соответственно структуре LVM, нам нужно будет инициализировать физические разделы для LVM, объединить их в группу, а затем создать из этой группы нужные нам логические тома.
Инициализация физических LVM разделов
Сначала определимся с томами, которые будем использовать, допустим это будут /dev/sda6 и /dev/sda7. Инициализировать их для работы LVM можно с помощью команды pvcreate:
Чтобы посмотреть действительно ли были созданы физические тома LVM вы можете использовать команду pvscan:
Также можно посмотреть физические LVM разделы с более подробными атрибутами, такими как размер, общий размер, физический размер, свободное место и т д:
Здесь PE Size — это размер одного блока LVM, по умолчанию он равен четырем мегабайтам, но это значение можно изменить.
Создание группы разделов LVM
Группа томов — это не что иное, как пул памяти, который будет распределен между логическими томами и может состоять из нескольких физических разделов. После того как физические разделы инициализированы, вы можете создать из них группу томов (Volume Group, VG):
С помощью LVM команды vgdisplay вы можете посмотреть созданные группы томов:
Создание логических томов LVM
Теперь все готово, чтобы создать логические LVM разделы. Для этого будем использовать команду lvcreate и создадим логический раздел размером 80 мегабайт, или 20 блоков LVM:
Если вы хотите задать размер в обычных единицах измерения, то необходимо использовать опцию -L. Например, для тех же 80-ти мегабайт:
В качестве приставки для указания размера можно использовать такие буквы:
- B — байты;
- K — килобайты;
- M — мегабайты;
- G — гигабайты;
- T — терабайты.
Посмотреть список доступных логических разделов LVM можно по аналогии с предыдущими разделами с помощью команды lvdisplay:
Теперь, когда раздел создан, мы можем работать с ним как с обычным разделом. Например, отформатируем его в файловую систему ext4, а затем примонтируем в /mnt:
Как видите, монтирование LVM в Linux ничем не отличается от монтирования обычных разделов.
Вообще говоря, LVM разделы могут быть трех типов:
- Линейные разделы (Linear Volume)
- Полосные разделы (Striped Volume)
- Зеркалированные разделы (Mirrored Volume)
Линейные разделы — это обычные LVM тома, они могут быть созданы как их одного, так и нескольких физических дисков. Например, если у вас есть два диска по 2 гигабайта, то вы можете их объединить и в результате получите один раздел LVM Linux, размером 4 гигабайта. По умолчанию используются именно линейные LVM разделы.
Полосные разделы очень полезны при больших нагрузках на жесткий диск. Здесь вы можете настроить одновременную запись на разные физические устройства, для одновременных операций, это может очень сильно увеличить производительность работы системы.
Для этого нужно задать количество полос записи с помощью опции -i, а также размер полосы опцией -l. Количество полос не должно превышать количества физических дисков. Например:
Зеркалированный том позволяет записывать данные одновременно на два устройства. Когда данные пишутся на один диск, они сразу же копируются на другой. Это позволяет защититься от сбоев одного из дисков. Если один из дисков испортится, то разделы LVM просто станут линейными и все данные по-прежнему будут доступны. Для создания такого раздела LVM Linux можно использовать команду:
Удалить LVM раздел
Вы можете не только настроить LVM тома изменяя их размер и атрибуты, но и удалить LVM раздел, если он вам больше не нужен. Это делается с помощью LVM команды lvremove:
Теперь лишний раздел удален.
Изменение размера LVM тома
Вы можете изменять уже созданные разделы LVM увеличивая или уменьшая их размер
Причем неважно есть ли место на физическом диске после этого раздела, если в пуле есть память, вы можете ее использовать для любого раздела. Чтобы изменить размер LVM используйте команду lvextend
Например, LVM увеличим размер диска из 80 до 100 мегабайт:
Также вы можете увеличить размер LVM, использовав знак +:
Точно так же можно выполнить уменьшение LVM раздела с помощью знака -.
Удаление LVM групп и томов
Для удаления LVM томов, используется команда lvremove:
lvremove /dev/test/test1
1 | lvremovedevtesttest1 |
Чтобы удалить группу логических томов, используйте:
# vgremove test
1 | # vgremove test |
Volume group «test» successfully removed
1 | Volume group»test»successfully removed |
Убрать метки с LVM дисков:
# pvremove /dev/vdb /dev/vdc
1 | # pvremove /dev/vdb /dev/vdc |
Labels on physical volume «/dev/vdb» successfully wiped.
Labels on physical volume «/dev/vdc» successfully wiped.
1 |
Labels on physical volume»/dev/vdb»successfully wiped. Labels on physical volume»/dev/vdc»successfully wiped. |