Изменение размера логического тома в Linux не очень сложно и может быть достигнуто с помощью очень простого подхода. Вот обычные шаги:
- Создайте новый раздел на жестком диске.
- Добавьте только что созданный раздел как физический том.
- Добавьте новый физический том в группу томов.
- Назначьте пространство из группы томов логическому тому.
- Измените размер файловой системы.
Но в этом сценарии у вас есть корневая файловая система (как раздел LVM ), смонтированная в расширенном разделе, а не в основном разделе. У вас есть только один основной раздел, который смонтирован в /boot, а все остальное пространство является частью этого расширенного раздела.
Звучит неприятно? Позвольте нам показать вам, как изменить размер LVM внутри расширенного раздела.
Изменение размера раздела LVM внутри расширенного раздела
В этой статье мы используем Linux, установленный на виртуальной машине.
Помните, что с разделами диска следует быть очень осторожными.
Шаг 1. Выключите виртуальную машину и увеличьте размер диска.
Сначала выключите виртуальную машину и увеличьте размер диска. Здесь я увеличил размер disk/dev/sda на 20 ГБ до примерно 40 ГБ. Затем запустите виртуальную машину и перейдите в консоль.
Взгляните на разделы нашего диска.
root@AndreyEx:~# fdisk -l Disk /dev/sda: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders, total 83886080 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 Disk identifier: 0x000a975f Device Boot Start End Blocks Id System /dev/sda1 * 2048 499711 248832 83 Linux /dev/sda2 501758 41940991 20719617 5 Extended /dev/sda5 501760 41940991 20719616 8e Linux LVM
Если вы проанализируете дисковое пространство с помощью команды df , вот что она мне покажет:
root@AndreyEx:~# df -hT Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 989M 4.0K 989M 1% /dev tmpfs tmpfs 201M 716K 200M 1% /run /dev/dm-0 ext4 19G 1.5G 16G 9% / none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup none tmpfs 5.0M 0 5.0M 0% /run/lock none tmpfs 1001M 0 1001M 0% /run/shm none tmpfs 100M 0 100M 0% /run/user /dev/sda1 ext2 236M 40M 184M 18% /boot
Здесь цель состоит в том, чтобы увеличить размер раздела /dev/dm-0, который смонтирован на /dev/sda5.
Позвольте нам также показать текущий статус физических томов, групп томов и логических томов:
root@AndreyEx:~# lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert root AndreyEx-vg -wi-ao--- 18.74g swap_1 AndreyEx-vg -wi-ao--- 1020.00m root@AndreyEx:~# pvs PV VG Fmt Attr PSize PFree /dev/sda5 AndreyEx-vg lvm2 a-- 19.76g 20.00m root@AndreyEx:~# vgs VG #PV #LV #SN Attr VSize VFree AndreyEx-vg 1 2 0 wz--n- 19.76g 20.00m
Всем им выделено около 20 ГБ дискового пространства.
Шаг 2. Начните процесс изменения размера LVM
Вот шаги для изменения размера раздела LVM:
Откройте утилиту fdisk и посмотрите разделы:
root@AndreyEx:~# fdisk /dev/sda Command (m for help): p Disk /dev/sda: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders, total 83886080 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 Disk identifier: 0x000a975f Device Boot Start End Blocks Id System /dev/sda1 * 2048 499711 248832 83 Linux /dev/sda2 501758 41940991 20719617 5 Extended /dev/sda5 501760 41940991 20719616 8e Linux LVM
Удалите расширенный раздел (/dev/sda2) с помощью команды d, которая автоматически удалит базовый раздел LVM, которым является /dev/sda5.
Command (m for help): d Partition number (1-5): 2
Создайте новый раздел снова в расширенном виде, используя команду nсо значениями начального и конечного цилиндров по умолчанию.
Command (m for help): n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): e Partition number (1-4, default 2): Using default value 2 First sector (499712-83886079, default 499712): Using default value 499712 Last sector, +sectors or +size{K,M,G} (499712-83886079, default 83886079): Using default value 83886079 Command (m for help): p Disk /dev/sda: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders, total 83886080 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 Disk identifier: 0x000a975f Device Boot Start End Blocks Id System /dev/sda1 * 2048 499711 248832 83 Linux /dev/sda2 499712 83886079 41693184 5 Extended
Создайте логический раздел (dev/sda5), используя значения начального и конечного цилиндров по умолчанию.
Command (m for help): n Partition type: p primary (1 primary, 1 extended, 2 free) l logical (numbered from 5) Select (default p): l Adding logical partition 5 First sector (501760-83886079, default 501760): Using default value 501760 Last sector, +sectors or +size{K,M,G} (501760-83886079, default 83886079): Using default value 83886079
Переключитесь в экспертный режим, нажав x.
Command (m for help): x
Запустите экспертную команду b, чтобы настроить начало раздела (при этом изменяется размер раздела, а не его конец). Введите начальное значение, которое было перед удалением разделов. Вот он 501760.
Expert command (m for help): b Partition number (1-5): 5 New beginning of data (499713-83886079, default 501760): 501760
Затем наберите r чтобы вернуться в главное меню.
Expert command (m for help): r
Проверьте номер раздела, чтобы убедиться.
Command (m for help): p Disk /dev/sda: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders, total 83886080 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 Disk identifier: 0x000a975f Device Boot Start End Blocks Id System /dev/sda1 * 2048 499711 248832 83 Linux /dev/sda2 499712 83886079 41693184 5 Extended /dev/sda5 501760 83886079 41692160 83 Linux
Теперь измените тип раздела на LVM, нажав команду t и выбрав тип 8e.
Command (m for help): t Partition number (1-5): 5 Hex code (type L to list codes): 8e Changed system type of partition 5 to 8e (Linux LVM)
Нажмите w, чтобы записать все изменения на диск.
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: 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) Syncing disks.
Шаг 3. Внесите вручную изменения в физический и логический том
Запустите команду partprobe, чтобы сообщить ОС об изменениях таблицы разделов:
root@AndreyEx:~# partprobe /dev/sda
Запустите команду lsblk, чтобы увидеть, что размер /dev/sda5 теперь составляет около 40 ГБ (для меня).
root@AndreyEx:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 40G 0 disk ├─sda1 8:1 0 243M 0 part /boot ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 39.8G 0 part ├─AndreyEx--vg-root (dm-0) 252:0 0 18.8G 0 lvm / └─AndreyEx--vg-swap_1 (dm-1) 252:1 0 1020M 0 lvm [SWAP] sr0 11:0 1 1024M 0 rom
Запустите команду df, и вы заметите, что /dev/dm-0 по-прежнему показывает детали старого размера:
root@AndreyEx:~# df -hT Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 989M 4.0K 989M 1% /dev tmpfs tmpfs 201M 716K 200M 1% /run /dev/dm-0 ext4 19G 1.5G 16G 9% / none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup none tmpfs 5.0M 0 5.0M 0% /run/lock none tmpfs 1001M 0 1001M 0% /run/shm none tmpfs 100M 0 100M 0% /run/user /dev/sda1 ext2 236M 40M 184M 18% /boot
То же самое и с физическими томами, группами томов и логическими томами:
root@AndreyEx:~# lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert root AndreyEx-vg -wi-ao--- 18.74g swap_1 AndreyEx-vg -wi-ao--- 1020.00m root@AndreyEx:~# pvs PV VG Fmt Attr PSize PFree /dev/sda5 AndreyEx-vg lvm2 a-- 19.76g 20.00m root@AndreyEx:~# vgs VG #PV #LV #SN Attr VSize VFree AndreyEx-vg 1 2 0 wz--n- 19.76g 20.00m
Здесь вам придется приложить некоторые усилия вручную.
Измените размер физического тома:
root@AndreyEx:~# pvresize /dev/sda5 Physical volume "/dev/sda5" changed 1 physical volume(s) resized / 0 physical volume(s) not resized
Теперь проверьте состояние физического тома и группы томов и убедитесь, что он правильно показывает новый размер:
root@AndreyEx:~# pvs PV VG Fmt Attr PSize PFree /dev/sda5 AndreyEx-vg lvm2 a-- 39.76g 20.02g root@AndreyEx:~# vgs VG #PV #LV #SN Attr VSize VFree AndreyEx-vg 1 2 0 wz--n- 39.76g 20.02g
Аналогичным образом измените размер логического тома:
root@AndreyEx:~# lvextend -l +100%FREE /dev/AndreyEx-vg/root Extending logical volume root to 38.76 GiB Logical volume root successfully resized
Наконец, измените размер файловой системы:
root@AndreyEx:~# resize2fs /dev/AndreyEx-vg/root resize2fs 1.42.9 (4-Feb-2014) Filesystem at /dev/AndreyEx-vg/root is mounted on /; on-line resizing required old_desc_blocks = 2, new_desc_blocks = 3 The filesystem on /dev/AndreyEx-vg/root is now 10161152 blocks long.
Проверьте статус диска и убедитесь, что размер LVM теперь правильно изменен:
root@AndreyEx:~# df -hT Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 989M 4.0K 989M 1% /dev tmpfs tmpfs 201M 716K 200M 1% /run /dev/dm-0 ext4 39G 1.5G 35G 4% / none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup none tmpfs 5.0M 0 5.0M 0% /run/lock none tmpfs 1001M 0 1001M 0% /run/shm none tmpfs 100M 0 100M 0% /run/user /dev/sda1 ext2 236M 40M 184M 18% /boot
Вот и все! Вы успешно изменили размер раздела LVM внутри расширенного раздела.
Вопросы или предложения? Оставьте комментарий ниже.