Вопрос или проблема
Я создал Oracle Linux 9.4 как гостевую ОС KVM с изначально 40 Гб виртуальным жестким диском. Через какое-то время мне нужно было увеличить размер диска до 60 Гб, и я сделал это с помощью qemu-img resize /media/kvm/storage1/oracle-9.4 +20G
. Однако я не смог изменить размер корневого раздела внутри Oracle Linux. После некоторых попыток я получил следующее
# fdisk -l
Диск /dev/vda: 60 GiB, 64424509440 байт, 125829120 секторов
Единицы: сектор по 1 * 512 = 512 байт
Размер сектора (лог/физ): 512 байт / 512 байт
Размер I/O (мин/оптимально): 512 байт / 512 байт
Тип: dos
Id: 0x86f77589
Устр. загрузка Начало Конец Секторы размер Id Тип
/dev/vda1 * 2048 2099199 2097152 1G 83 Linux
/dev/vda2 2099200 85985279 83886080 40G 8e Linux LVM
/dev/vda3 85985280 125829119 39843840 19G 83 Linux
Диск /dev/mapper/ol-root: 57,99 GiB, 62268637184 байт, 121618432 секторов
Единицы: сектор по 1 * 512 = 512 байт
Размер сектора (лог/физ): 512 байт / 512 байт
Размер I/O (мин/оптимально): 512 байт / 512 байт
# lsblk
ИМЯ MAJ:MIN RM РАЗМ. RO ТИП ТОЧКИ МОНТАЖА
sr0 11:0 1 1024M 0 rom
vda 251:0 0 60G 0 диск
├─vda1 251:1 0 1G 0 часть /boot
├─vda2 251:2 0 40G 0 часть
│ └─ol-root 252:0 0 58G 0 lvm /
└─vda3 251:3 0 19G 0 часть
└─ol-root 252:0 0 58G 0 lvm /
# df -h
Файловая система Размер Использовано Свободно Использовано% Смонтировано
devtmpfs 4,0M 0 4,0M 0% /dev
tmpfs 3,7G 0 3,7G 0% /dev/shm
tmpfs 1,5G 9,4M 1,5G 1% /run
/dev/mapper/ol-root 39G 35G 5,0G 88% /
/dev/vda1 960M 553M 408M 58% /boot
tmpfs 749M 896K 748M 1% /run/user/1000
Я бы хотел, чтобы все 58 Гб были на точке монтирования /
Вы почти завершили процесс. Вы добавили новый раздел, создали PV (физический том) из этого раздела и расширили VG (группу томов), чтобы включить этот новый PV. Теперь вам просто нужно расширить LV (логический том) и файловую систему.
Чаще всего вы можете расширить оба в одной команде, что-то похожее на
# lvextend -L +60G -r /dev/mapper/ol-root
Эта команда сообщит вашей системе расширить логический том ol-root (/dev/mapper/ol-root
) на 60 Гб (-L +60G
) и также расширить файловую систему до максимально возможного размера в рамках этого логического тома (-r
).
В некоторых редких случаях команда lvextend
может не понимать файловую систему, которую вы используете, или файловую систему можно расширить только при отключении. Эти случаи очень редки.
Ответ или решение
Для того чтобы увеличить корневой раздел в Oracle Linux 9, действующий как KVM-гость, вам нужно выполнить несколько шагов. Вы уже увеличили размер виртуального диска до 60 ГБ с помощью команды qemu-img resize
, но теперь необходимо расширить логический том (LV) и файловую систему (фс). Давайте рассмотрим шаги более подробно.
Шаг 1: Проверка текущего состояния
Сначала давайте убедимся, что изменения отразились корректно. Используйте команды fdisk -l
и lsblk
, которые вы уже выполнили, чтобы удостовериться, что диск действительно увеличился до 60 ГБ.
Шаг 2: Расширение физического объема и группы томов
Вы уже упомянули, что ваша логика хранения базируется на LVM (Logical Volume Manager). После изменения размера виртуального диска, вам необходимо расширить физический объем (PV) и группу томов (VG). Выполните следующие команды:
# pvresize /dev/vda2
Эта команда даст команду LVM использовать всё доступное место на разделе /dev/vda2
, который у вас настроен как PV.
Шаг 3: Увеличение логического тома
Теперь, когда физический объем увеличен, следующим шагом будет увеличение логического тома, который размещает файловую систему root. Используйте следующую команду:
# lvextend -l +100%FREE /dev/mapper/ol-root
Эта команда расширит логический том /dev/mapper/ol-root
на всё доступное свободное пространство в группе томов.
Шаг 4: Расширение файловой системы
Последний шаг — это расширение файловой системы на логическом томе. Если вы используете ext4
, вы можете выполнить следующую команду:
# xfs_growfs /dev/mapper/ol-root # для файловой системы XFS
# resize2fs /dev/mapper/ol-root # для файловой системы ext4
Шаг 5: Проверка
После выполнения всех вышеуказанных шагов, используйте команду df -h
, чтобы убедиться, что ваше корневое файловое пространство успешно увеличилось.
# df -h
Заключение
Теперь ваше корневое пространство должно отражать увеличенный размер. После выполнения всех команд, корневой раздел будет расширен, и вы сможете использовать всё доступное пространство. Если возникли проблемы, убедитесь, что у вас есть резервные копии важных данных перед выполнением операций с диском и файловыми системами.