Пост

Увеличить диск c GPT-разметкой при помощи cfdisk в Linux

cfdisk — системная утилита для управления разделами жёсткого диска в операционной системе Linux. Схожа с fdisk, но имеет дружелюбный пользовательский интерфейс

Задача: требуется увеличить размер GPT-диска /dev/sdb1 (тип файловой системы ext4)

  • Выключаем виртуалку
  • Расширяем нужный диск
  • Включаем виртуалку

Останавливаем все службы, которые хранят данные в примонтированном диске

1
2
$ sudo systemctl stop zabbix-server
$ sudo systemctl stop [email protected]

Размонтируем диск

1
$ sudo umount /mnt/data

Проверяем

1
$ lsblk

Запускаем утилиту cfdisk

1
$ sudo cfdisk /dev/sdb

cfdisk /dev/sdb

Появилось свободное пространство

Resize

Выбираем опцию Resize, указываем размер (по умолчанию будет размер всего диска), записываем изменения (опция write) и выходим

Плюсы утилиты cfdisk:

  • она корректно работает с gpt-разметкой,
  • установлена по умолчанию в дистрибутивах Debian 8+, Centos 7+,
  • не надо удалять раздел, как это делается в fdisk

Монтируем разделы, которые до этого размантировали

1
$ sudo mount -a

Проверяем, что диск расширился

1
2
3
4
5
6
7
8
9
10
$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0      2:0    1    4K  0 disk 
sda      8:0    0    8G  0 disk 
├─sda1   8:1    0  243M  0 part /boot
├─sda2   8:2    0  1.9G  0 part [SWAP]
└─sda3   8:3    0  5.9G  0 part /
sdb      8:16   0   36G  0 disk 
└─sdb1   8:17   0   36G  0 part /mnt/data
sr0     11:0    1 1024M  0 rom

Как видно, sdb1 стал 36 Gb

Проверяем количество занятого места на диске

1
2
3
4
5
6
7
8
9
10
11
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.9G     0  2.9G   0% /dev
tmpfs           597M  8.1M  589M   2% /run
/dev/sda3       5.7G  2.7G  2.8G  49% /
tmpfs           3.0G   16K  3.0G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.0G     0  3.0G   0% /sys/fs/cgroup
/dev/sda1       232M   71M  145M  33% /boot
tmpfs           597M     0  597M   0% /run/user/1002
/dev/sdb1        16G   12G  3.0G  81% /mnt/data

Тут отображается размер файловой системы 16 Gb

Расширяем (для ext4)

1
2
3
4
5
$ sudo resize2fs /dev/sdb1
resize2fs 1.44.5 (15-Dec-2018)
Filesystem at /dev/sdb1 is mounted on /mnt/data; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 3
The filesystem on /dev/sdb1 is now 9436919 (4k) blocks long.

Проверяем

1
2
3
4
5
6
7
8
9
10
11
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.9G     0  2.9G   0% /dev
tmpfs           597M  8.1M  589M   2% /run
/dev/sda3       5.7G  2.7G  2.8G  49% /
tmpfs           3.0G   16K  3.0G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.0G     0  3.0G   0% /sys/fs/cgroup
/dev/sda1       232M   71M  145M  33% /boot
tmpfs           597M     0  597M   0% /run/user/1002
/dev/sdb1        36G   12G   22G  36% /mnt/data

Как видно, раздел /dev/sdb1 стал 36 Gb

Запускаем сервисы, которые мы останавливали ранее

1
2
$ sudo systemctl start [email protected]
$ sudo systemctl start zabbix-server
Авторский пост защищен лицензией CC BY 4.0 .

© IT Draft. Некоторые права защищены.