Содержание
Измениене размера LVM томов
Подготовка
VMWare
Зайдя в свойства виртуальной машины:
- Выбираем нужный жесткий диск
- Изменяем размер, до желаемого объема
- Нажимаем кнопку Ок
ProxMox
- Выбираем виртуальную машину, и открываем раздел Hardware
- Находим нужный диск и выделяем его.
- Вверху нажимаем кнопку Resize disk
Откроется окно, где необходимо ввести количество гигабайт, на которые желаем увеличить диск.
Проверка доступного пространства на диске
После увеличения размера диска необходимо, проверить, что система увидела доступное место. Для этого выполним команду:
fdisk -l
Вывод в моем случае был таким:
[root@lvm2 askadmin]# fdisk -l Диск /dev/sda: 35 GiB, 37580963840 байт, 73400320 секторов Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Тип метки диска: dos Идентификатор диска: 0xe51a470c Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип /dev/sda1 * 2048 2099199 2097152 1G 83 Linux /dev/sda2 2099200 41943039 39843840 19G 8e Linux LVM Диск /dev/mapper/rl-root: 17 GiB, 18249416704 байт, 35643392 секторов Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Диск /dev/mapper/rl-swap: 2 GiB, 2147483648 байт, 4194304 секторов Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Как можно видеть по первой же строчке вывода - система увидела добавленные мной 15ГБ (диск изначально был 20ГБ).
Если же автоматически система не обнаружила добавленное место - может потребоваться запустить сканирование дисков вручную.
Выполнить это можно командой:
echo 1 > /sys/block/sda/device/rescan
Изменение размера раздела на диске
Для изменения размера потребуется выполнить следующие шаги:
- Необходимо переразметить диск. Для этого выполним следующую команду
fdisk /dev/sda
Мы войдем в меню утилиты fdisk для работы с дисками. Вывод будет примерно такимДобро пожаловать в fdisk (util-linux 2.32.1). Изменения останутся только в памяти до тех пор, пока вы не решите записать их. Будьте внимательны, используя команду write. Команда (m для справки):
- Введем p и нажмем Enter. Это позволит просмотреть текущие разделы на диске:
Команда (m для справки): p Диск /dev/sda: 35 GiB, 37580963840 байт, 73400320 секторов Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Тип метки диска: dos Идентификатор диска: 0x512fa909 Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип /dev/sda1 * 2048 2099199 2097152 1G 83 Linux /dev/sda2 2099200 41943039 39843840 19G 8e Linux LVM
В моем случае разделов 2 и нас интересует только тот, который помечен как Linux LVM.
- вводим d: <note warning>Команда сообщит об удалении раздела - не пугайтесь, данные сохранятся.</note>
Команда (m для справки): d Номер раздела (1,2, default 2): 2 Раздел 2 был удален. Команда (m для справки):
- Теперь создаем новый раздел введя команду n:
Команда (m для справки): n Тип раздела p основной (1 первичный, 0 расширеный, 3 свободно) e расширенный (контейнер для логических разделов)
После чего система придложит выбрать тип раздела, жмем p:
Выберите (по умолчанию - p):p
Далее выбираем номер раздела (можно просто нажать Enter система присвоит номер раздела по умолчанию:
Номер раздела (2-4, default 2):
На вопросах о первом и последнем секторах тоже жмем Enter:
Первый сектор (2099200-73400319, default 2099200): Последний сектор + число секторов или + размер{K,M,G,T,P} (2099200-73400319, default 73400
Система сообщит, что создан новый раздел и что он подписан, как LVM_member
Создан новый раздел 2 с типом 'Linux' и размером 34 GiB. Partition #2 contains a LVM2_member signature. Do you want to remove the signature? [Y] Да/[N] Нет: n
Жмем N и двигаемся дальше.
- Далее преобразуем раздел в LVM. Для этого последовательно вводим t, затем номер раздела (у меня 2) и тип тома в шестнадцатиричной системе (для LVM 8e:
Команда (m для справки): t Номер раздела (1,2, default 2): 2 Шестнадцатеричный код (введите L для получения списка кодов): 8e Тип раздела 'Linux' изменен на 'Linux LVM'.
Появится сообщение, что Тип раздел успешно изменен.
- После всего этого записываем внесенные изменения w:
Команда (m для справки): w Таблица разделов была изменена. Синхронизируются диски.
- И выходим из консоли q:
Команда (m для справки): q [root@lvm askadmin]#
На этом этап по увеличению тома завершен и переходим к расщирению VG (Volume Group).
Расширение Physical Volume
Выполним команду:
pvdisplay
Как можем видеть из вывода этой команды, система считает, что Physical volume все еще 19ГБ
--- Physical volume --- PV Name /dev/sda2 VG Name rl_lvm PV Size <19,00 GiB / not usable 3,00 MiB Allocatable yes (but full) PE Size 4,00 MiB Total PE 4863 Free PE 0 Allocated PE 4863 PV UUID PvruJt-UxaO-aZZw-U8Gr-glJ5-rE6c-C250A8
Для расширения воспользуемся командой:
pvresize /dev/sda2
Получаем примерно следующий вывод:
Physical volume "/dev/sda2" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized
Что говорит о том, что все прошло успешно. Для подтверждения вводим снова pvdisplay и получаем следующий вывод:
[root@lvm askadmin]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name rl_lvm PV Size <34,00 GiB / not usable 2,00 MiB Allocatable yes PE Size 4,00 MiB Total PE 8703 Free PE 3840 Allocated PE 4863 PV UUID PvruJt-UxaO-aZZw-U8Gr-glJ5-rE6c-C250A8
Как видим размер physical volume изменился. Теперь если введем команду vgdisplay получим следующий вывод:
[root@lvm askadmin]# vgdisplay --- Volume group --- VG Name rl_lvm System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size <34,00 GiB PE Size 4,00 MiB Total PE 8703 Alloc PE / Size 4863 / <19,00 GiB Free PE / Size 3840 / 15,00 GiB VG UUID qzwYbY-VF4p-Ak9S-eRSP-Ubhv-QldK-AjY1T3
Как видим нам стало доступно 15ГБ, которые мы можем потратить для изменения размера любого Logical Volume
Увеличиваем Logical Volume
Выполним команду lvdisplay, чтобы отобразить все доступные логические тома:
[root@lvm askadmin]# lvdisplay --- Logical volume --- LV Path /dev/rl_lvm/root LV Name root VG Name rl_lvm LV UUID FS01Q8-wg6U-SC4t-jcqX-JZF1-5DET-1eyAr1 LV Write Access read/write LV Creation host, time lvm, 2022-04-06 13:51:05 +0700 LV Status available # open 1 LV Size <17,00 GiB Current LE 4351 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 --- Logical volume --- LV Path /dev/rl_lvm/swap LV Name swap VG Name rl_lvm LV UUID YFtfnn-4N9F-IcCr-P4oS-OI8S-jdl2-3pvGfi LV Write Access read/write LV Creation host, time lvm, 2022-04-06 13:51:06 +0700 LV Status available # open 2 LV Size 2,00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1
Как видим у меня в системе 2 Logical Volume (root и swap)
В данном выводе нас в первую очередь интересуют строки LV Path, в которых указан путь к устройству.
Теперь для изменеия размера LV мы воспользуемся командой lvextend:
[root@lvm askadmin]# lvextend -L +5GiB /dev/rl_lvm/root Size of logical volume rl_lvm/root changed from <17,00 GiB (4351 extents) to <22,00 GiB (5631 extents). Logical volume rl_lvm/root successfully resized.
Как видим сообщение гласит, что изменение размера прошло успешно.
Так же можно использовать команду со строчно l и указать расширяемый объем в блоках или процентах:
[root@lvm askadmin]# lvextend -l +30%FREE /dev/rl_lvm/root Size of logical volume rl_lvm/root changed from <22,00 GiB (5631 extents) to <25,00 GiB (6399 extents). Logical volume rl_lvm/root successfully resized.
Расширение файловой системы XFS
Если проверить доступное место в системе, то мы увидим, что несмотря на все проделанное root остался 16ГБ.
[root@lvm askadmin]# df -h Файловая система Размер Использовано Дост Использовано% Cмонтировано в devtmpfs 1,9G 0 1,9G 0% /dev tmpfs 1,9G 0 1,9G 0% /dev/shm tmpfs 1,9G 8,6M 1,9G 1% /run tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup /dev/mapper/rl_lvm-root 17G 1,8G 16G 11% / /dev/sda1 1014M 252M 763M 25% /boot tmpfs 374M 0 374M 0% /run/user/1000
Это произошло потому, что файловая система все еще покрывает только 16ГБ пространства на диске. Нам необходимо «растянуть» файловую систему.
Для этого выполним следующую команду:
xfs_growfs /
Получим следующий вывод:
meta-data=/dev/mapper/rl_lvm-root isize=512 agcount=4, agsize=1113856 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=4455424, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 4455424 to 6552576
Теперь проверяем доступное место в системе:
[root@lvm askadmin]# df -h Файловая система Размер Использовано Дост Использовано% Cмонтировано в devtmpfs 1,9G 0 1,9G 0% /dev tmpfs 1,9G 0 1,9G 0% /dev/shm tmpfs 1,9G 8,6M 1,9G 1% /run tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup /dev/mapper/rl_lvm-root 25G 1,9G 24G 8% / /dev/sda1 1014M 252M 763M 25% /boot tmpfs 374M 0 374M 0% /run/user/1000
Как видим корневой раздел увеличился до 24ГБ, что и требовалось.
Расширение ext4
Для расширения файловой системы используем команду:
resize2fs /dev/sdb1
Получим примерно следующий вывод:
resize2fs 1.45.6 (20-Mar-2020) Filesystem at /dev/sdb1 is mounted on /srv/nav; on-line resizing required old_desc_blocks = 13, new_desc_blocks = 19 The filesystem on /dev/sdb1 is now 39321344 (4k) blocks long.