ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как изменить размер раздела LVM внутри расширенного раздела

Как включить TCP BBR для увеличения скорости сети/интернета на сервере Linux

Изменение размера логического тома в Linux не очень сложно и может быть достигнуто с помощью очень простого подхода. Вот обычные шаги:

  1. Создайте новый раздел на жестком диске.
  2. Добавьте только что созданный раздел как физический том.
  3. Добавьте новый физический том в группу томов.
  4. Назначьте пространство из группы томов логическому тому.
  5. Измените размер файловой системы.

Но в этом сценарии у вас есть корневая файловая система (как раздел 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 внутри расширенного раздела.

Вопросы или предложения? Оставьте комментарий ниже.

Exit mobile version