Изменение размера корневого раздела ext2/3/4 и XFS без LVM |
Это руководство покажет вам, как расширить или изменить размер файловой системы ext2/3/4 и XFS без LVM во время выполнения. Это может быть корневой раздел, настроенный с файловой системой ext2/3/4 или XFS, но без настроенной LVM. В нашем предыдущем уроке мы рассмотрели, как расширить корневую файловую систему с помощью LVM в Linux.
Шаг 1. Проверьте текущую емкость корневого диска.
Для этой демонстрации у меня есть виртуальная машина CentOS 7 с приведенной ниже схемой разделов.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 10G 0 disk
└─vda1 253:1 0 10G 0 part /
Как видно из выходных данных, корневая файловая система находится в разделе /dev/vda1 без LVM.
Шаг 2. Расширьте корневой диск ОС после расширения
Я расширю свое корневое блочное устройство до 30 ГБ. Я использую технологию виртуализации KVM, поэтому мне подходит это руководство:
- Как расширить/увеличить размер диска виртуальной машины KVM (VM)
Для KVM я могу проверить путь к виртуальному диску, используя команду ниже:
$ sudo virsh domblklist centos7
Target Source
-------------------------------------------------
vda /var/lib/libvirt/images/centos7.qcow2
sda -
$ sudo fdisk -l /var/lib/libvirt/images/centos7.qcow2
Disk : 10 GiB, 10739318784 bytes, 20975232 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
$ sudo qemu-img resize /var/lib/libvirt/images/centos7.qcow2 +20G
Image resized.
Если вы используете другую платформу виртуализации, обратитесь к ее документации, чтобы узнать, как расширить виртуальный диск ОС.
Шаг 3. Увеличение раздела виртуальной машины
Запустите свою виртуальную машину и ssh как пользователь с привилегиями sudo. Первое, что нужно сделать, это подтвердить новый размер диска.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 30G 0 disk
└─vda1 253:1 0 10G 0 part /
Мы видим, что размер диска увеличился на 20 ГБ, с 10 ГБ до 30 ГБ. Следующее действие — расширить раздел (Раздел 1) в нашем примере до максимального размера, который предоставляет диск.
Установите пакет облачных утилит
Для новичков в growpart: это инструмент командной строки Linux, используемый для расширения раздела в таблице разделов для заполнения доступного пространства. Эта команда предоставляется пакетом облачных утилит.
В системе Ubuntu/Debian запустите:
sudo apt -y install cloud-guest-utils gdisk
Для сервера CentOS/RHEL/Fedora выполните:
sudo yum -y install cloud-utils-growpart gdisk
Страницу справки можно просмотреть, передав аргумент -h
.
$ growpart -h
growpart disk partition
rewrite partition table so that partition takes up all the space it can
options:
-h | --help print Usage and exit
--fudge F if part could be resized, but change would be
less than 'F' bytes, do not resize (default: 1048576)
-N | --dry-run only report what would be done, show new 'sfdisk -d'
-v | --verbose increase verbosity / debug
-u | --update R update the the kernel partition table info after growing
this requires kernel support and 'partx --update'
R is one of:
- 'auto' : [default] update partition if possible
- 'force' : try despite sanity checks (fail on failure)
- 'off' : do not attempt
- 'on' : fail if sanity checks indicate no support
Example:
- growpart /dev/sda 1
Resize partition 1 on /dev/sda
Теперь используйте growpart, чтобы расширить раздел.
$ sudo growpart /dev/vda 1
CHANGED: partition=1 start=2048 old: size=20969472 end=20971520 new: size=62912479,end=62914527
Это приведет к изменению размера раздела 1 на /dev/vda.
Подтвердите изменение.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 253:0 0 30G 0 disk
└─vda1 253:1 0 30G 0 part /
Шаг 4. Измените размер раздела /
, чтобы заполнить все пространство.
Последний шаг — изменить размер файловой системы, чтобы она полностью разрасталась и заполняла добавленное пространство.
Для файловой системы ext4 используйте resize2fs
$ sudo resize2fs /dev/vda1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 4
The filesystem on /dev/vda1 is now 7864059 blocks long.
Если у вас файловая система XFS, ее можно увеличить при монтировании с помощью команды xfs_growfs:
sudo xfs_growfs /
Подтвердите новый размер, используя df -h
$ df -hT | grep /dev/vda
/dev/vda1 ext4 30G 1.2G 27G 5% /
Поздравляем! Вы успешно изменили размер корневого раздела ext2/3/4 или XFS в Linux без LVM.
Рекомендуемые учебные материалы по системному администрированию Linux:
- Лучшие книги по Linux для начинающих и экспертов
- Лучшие книги по программированию ядра Linux
- Лучшие книги по сценариям Linux Bash
См. соответствующие статьи ниже.
- Расширение загрузочного диска EBS на AWS без перезагрузки экземпляра
- Как расширить корневую файловую систему с помощью LVM в Linux
- Как расширить/увеличить размер диска виртуальной машины KVM (VM)
- Работа с qemu-img в Linux