Необходимые условия для расширения диска по этой инструкции:
1. Убедиться что разметка диска сделана "классически", с расширенным разделом, пример:
root@ubuntu:~# fdisk -l | grep /sda
Disk /dev/sda: 5 GiB, 5368709120 bytes, 10485760 sectors
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 10483711 9482242 4.5G 5 Extended
/dev/sda5 1001472 10483711 9482240 4.5G 8e Linux LVM
Раздел sda2 помечен как Extended, что и соответствует расширенному разделу.
2. Убедиться что используется LVM для системного тома и свап партиции:
root@ubuntu:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root ubuntu-vg -wi-ao---- 3.52g
swap_1 ubuntu-vg -wi-ao---- 1.00g
root@ubuntu:~# cat /etc/fstab
/dev/mapper/ubuntu--vg-root / ext4 errors=remount-ro 0 1
/dev/mapper/ubuntu--vg-swap_1 none swap sw 0 0
Порядок действий:
Получить локальную консоль (SSH/VIClient)
Получить рут шел:
sudo bash
Установить пакет sg3-utils:
apt-get -y install sg3-utils
yum -y install sg3_utils
Сохранить текущий листинг разделов на случай нештатной ситуации:
fdisk -l > ~/fdisk-pre.txt
Создать снапшот ВМ для отката.
Добавить дополнительный диск необходимого объёма для временной миграции.
Убедиться, что диск виден системой (/dev/sdb):
root@ubuntu:~# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 Dec 15 01:32 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 15 01:32 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 15 01:32 /dev/sda2
brw-rw---- 1 root disk 8, 5 Dec 15 01:32 /dev/sda5
brw-rw---- 1 root disk 8, 16 Dec 15 01:43 /dev/sdb
Создать PV на sdb:
root@ubuntu:~# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
Расширить VG на sdb:
root@ubuntu:~# vgextend ubuntu-vg /dev/sdb
Volume group "ubuntu-vg" successfully extended
Проверка:
root@ubuntu:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 ubuntu-vg lvm2 a-- 4.52g 0
/dev/sdb ubuntu-vg lvm2 a-- 8.00g 8.00g
Выполнить перемещение содержимого sda5 на sdb:
root@ubuntu:~# pvmove /dev/sda5 /dev/sdb
/dev/sda5: Moved: 0.0%
/dev/sda5: Moved: 67.6%
/dev/sda5: Moved: 100.0%
Удалить sda5 из VG:
root@ubuntu:~# vgreduce ubuntu-vg /dev/sda5
Removed "/dev/sda5" from volume group "ubuntu-vg"
Проверка:
root@ubuntu:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 lvm2 --- 4.52g 4.52g
/dev/sdb ubuntu-vg lvm2 a-- 8.00g 3.48g
Удалить заголовки LVM с sda5:
root@ubuntu:~# pvremove /dev/sda5
Labels on physical volume "/dev/sda5" successfully wiped
Запустить fdisk на том /dev/sda (без подразделов!), получить список разделов (p):
root@ubuntu:~# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 5 GiB, 5368709120 bytes, 10485760 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x606c6da3
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 10483711 9482242 4.5G 5 Extended
/dev/sda5 1001472 10483711 9482240 4.5G 8e Linux LVM
Удалить расширенные разделы (d, номер раздела):
Command (m for help): d
Partition number (1,2,5, default 5): 5
Partition 5 has been deleted.
Command (m for help): d
Partition number (1,2, default 2): 2
Partition 2 has been deleted.
Удалить основной раздел (d):
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
Создать новый основной раздел нужного размера (n, p, ENTER, +1G):
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-10485759, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759): +1G
Created a new partition 1 of type 'Linux' and of size 1 GiB.
Проверка (p):
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 2099199 2097152 1G 83 Linux
Создать новый основной раздел на весь оставшийся объём (n, 2, ENTER, ENTER):
Проверка (p):
Command (m for help): p
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 10485759 8386560 4G 83 Linux
Записать таблицу разделов и выйти (w):
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
Выполнить обновление таблицы разделов через partprobe либо выполнить перезагрузку:
root@ubuntu:~# partprobe
Создать заголовки LVM на sda2:
root@ubuntu:~# pvcreate /dev/sda2
Physical volume "/dev/sda2" successfully created
Расширить VG на sda2:
root@ubuntu:~# vgextend ubuntu-vg /dev/sda2
Volume group "ubuntu-vg" successfully extended
Выполнить перемещение содержимого с sdb на sda2:
root@ubuntu:~# pvmove /dev/sdb /dev/sda2
/dev/sdb: Moved: 0.0%
/dev/sdb: Moved: 63.6%
/dev/sdb: Moved: 100.0%
#######
Если будет сообщение о недостатке экстентов, то на целевом диске недостаточно места под новый раздел:
Insufficient free space: 1157 extents needed, but only 1023 available
Unable to allocate mirror extents for pvmove0.
Failed to convert pvmove LV to mirrored
В этом случае нужно удалить текущий снапшот, добавить необходимое место на основной диск, выполнить обновление SCSI устройств:
root@ubuntu:~# rescan-scsi-bus.sh -s
Scanning SCSI subsystem for new devices
Searching for resized LUNs
RESIZED: Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
0 new or changed device(s) found.
1 remapped or resized device(s) found.
[2:0:0:0]
0 device(s) removed.
Проверка:
root@ubuntu:~# fdisk -l | grep sda
Disk /dev/sda: 6 GiB, 6442450944 bytes, 12582912 sectors
/dev/sda1 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 10485759 8386560 4G 83 Linux
Пересоздать том в таблице разделов (d, 2, n, p, 2, ENTER, ENTER, w):
root@ubuntu:~# fdisk /dev/sda
Command (m for help): p
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 2099199 2097152 1G 83 Linux
/dev/sda2 2099200 10485759 8386560 4G 83 Linux
Command (m for help): d
Partition number (1,2, default 2): 2
Partition 2 has been deleted.
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (2099200-12582911, default 2099200):
Last sector, +sectors or +size{K,M,G,T,P} (2099200-12582911, default 12582911):
Created a new partition 2 of type 'Linux' and of size 5 GiB.
Command (m for help): w
Выполнить обновление таблицы разделов через partprobe либо выполнить перезагрузку:
root@ubuntu:~# partprobe
Расширить PV:
root@ubuntu:~# pvresize /dev/sda2
Physical volume "/dev/sda2" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
Проверка:
root@ubuntu:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 ubuntu-vg lvm2 a-- 5.00g 5.00g
/dev/sdb ubuntu-vg lvm2 a-- 8.00g 3.48g
Повторить миграцию экстента:
root@ubuntu:~# pvmove /dev/sdb /dev/sda2
/dev/sdb: Moved: 0.0%
/dev/sdb: Moved: 63.6%
/dev/sdb: Moved: 100.0%
####
Удалить sdb из VG:
root@ubuntu:~# vgreduce ubuntu-vg /dev/sdb
Removed "/dev/sdb" from volume group "ubuntu-vg"
Проверка:
root@ubuntu:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 ubuntu-vg lvm2 a-- 5.00g 488.00m
/dev/sdb lvm2 --- 8.00g 8.00g
Удалить заголовки LVM с sdb:
root@ubuntu:~# pvremove /dev/sdb
Labels on physical volume "/dev/sdb" successfully wiped
При возможности - провести перезагрузку, чтобы убедиться в работоспособности системы.
Удалить снапшот, удалить дополнительный том.
- 66 Користувачі, які знайшли це корисним
Схожі статті
Powered by WHMCompleteSolution