четверг, 21 марта 2019 г.

Увеличение размера диска виртуальной машины Debian9


1) Проверяем размер диска (/dev/sda)
root@debian9:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 28G 0 part /
├─sda2 8:2 0 512B 0 part
└─sda5 8:5 0 2G 0 part [SWAP]
sr0 11:0 1 1024M 0 rom

2) Увеличиваем размер диска (с 30 до 50 ГБ) средствами гипервизора

3) Выполняем сканирование диска (поиск изменений)
root@debian9:~# echo 1 > /sys/block/sda/device/rescan

4) Проверяем изменения /dev/sda
root@debian9:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 28G 0 part /
├─sda2 8:2 0 512B 0 part
└─sda5 8:5 0 2G 0 part [SWAP]
sr0 11:0 1 1024M 0 rom

4) Отключаем своп
root@debian9:~# swapoff -a

5) Отключённый своп можно проверить
root@debian9:~# top

6) Выполняем изменения таблицы разделов
root@debian9:~# fdisk /dev/sda

7) Смотрим на существующие разделы (28G+2G)
Command (m for help): p
Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 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: 0x94fee1c2

Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 58722303 58720256 28G 83 Linux
/dev/sda2 58722304 62914559 4192256 2G 5 Extended
/dev/sda5 58724352 62914559 4190208 2G 82 Linux swap / Solaris

8) Удаляем все разделы, начиная с последнего
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.

Command (m for help): d
Selected partition 1
Partition 1 has been deleted.

9) Создаём основной раздел на 48G (оставшиеся 2G пойдут на своп)
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-104857599, default 2048): 2048
Last sector, +sectors or +size{K,M,G,T,P} (2048-104857599, default 104857599): +48G

Created a new partition 1 of type 'Linux' and of size 48 GiB.
Partition #1 contains a ext4 signature.

Do you want to remove the signature? [Y]es/[N]o: n

10) Создаём дополнительный раздел (от первого свободного блока и до конца диска, соглашаясь на дефолтные значения секторов)
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): e
Partition number (2-4, default 2): 2
First sector (100665344-104857599, default 100665344):
Last sector, +sectors or +size{K,M,G,T,P} (100665344-104857599, default 104857599):

Created a new partition 2 of type 'Extended' and of size 2 GiB.

11) Создаём логический диск на дополнительном разделе(используем дефолтные значения секторов)
Command (m for help): n
All space for primary partitions is in use.
Adding logical partition 5
First sector (100667392-104857599, default 100667392):
Last sector, +sectors or +size{K,M,G,T,P} (100667392-104857599, default 104857599):

Created a new partition 5 of type 'Linux' and of size 2 GiB.

12) Изменяем тип логического раздела 5 с 'Linux' на 'Linux swap / Solaris'
Command (m for help): t
Partition number (1,2,5, default 5): 5
Partition type (type L to list all types): 82

Changed type of partition 'Linux' to 'Linux swap / Solaris'.

13) Проверяем, что все получилось правильно (48+2)
Command (m for help): p
Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 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: 0x94fee1c2

Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 100665343 100663296 48G 83 Linux
/dev/sda2 100665344 104857599 4192256 2G 5 Extended
/dev/sda5 100667392 104857599 4190208 2G 82 Linux swap / Solaris

14) Сохраняем изменения и выходим из fdisk
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).

15) Сообщаем системе об изменениях в разделах
root@debian9:~# partprobe

16) Проверяем изменения
root@debian9:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 48G 0 part /
├─sda2 8:2 0 512B 0 part
└─sda5 8:5 0 2G 0 part
sr0 11:0 1 1024M 0 rom

17) Проверяем всё ещё неизменённый размер файловой системы
root@debian9:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 991M 0 991M 0% /dev
tmpfs 201M 3.5M 198M 2% /run
/dev/sda1 28G 1.1G 26G 4% /
tmpfs 1003M 0 1003M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1003M 0 1003M 0% /sys/fs/cgroup
tmpfs 201M 0 201M 0% /run/user/1000

18) выполняем изменения размера файловой системы
root@debian9:~# resize2fs /dev/sda1
resize2fs 1.43.4 (31-Jan-2017)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 6
The filesystem on /dev/sda1 is now 12582912 (4k) blocks long.

19) Проверяем новый размер файловой системы sda1
root@debian9:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 991M 0 991M 0% /dev
tmpfs 201M 3.5M 198M 2% /run
/dev/sda1 48G 1.1G 44G 3% /
tmpfs 1003M 0 1003M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1003M 0 1003M 0% /sys/fs/cgroup
tmpfs 201M 0 201M 0% /run/user/1000

20) Создаём своп на логическом диске
root@debian9:~# mkswap /dev/sda5
Setting up swapspace version 1, size = 2 GiB (2145382400 bytes)
no label, UUID=60e4cc2c-30b9-450b-a643-4f6256e90150

21) Вносим изменённый UUID для свопа в /etc/fstab

22) Включаем своп
root@debian9:~# swapon -a

23) Проверяем своп
root@debian9:~# top