Saturday, 2 June 2012

Увеличение диска в файле виртуальной машине на KVM с ext4

Сначала ОБЯЗАТЕЛЬНО делаем бэкап файла, с которым работаем!!!!

Увеличиваем сам файл:
truncate --size=+2G storage.img
 Открываем диск через parted:

parted /home/kvmnodes/netmon.img
GNU Parted 2.1
Используется /home/kvmnodes/netmon.img
Добро пожаловать в GNU Parted! Наберите 'help' для просмотра списка команд.
(parted) p                                                              
Модель:  (file)
Диск /home/kvmnodes/netmon.img: 56,9GB
Размер сектора (логич./физич.): 512B/512B
Таблица разделов: msdos
Номер  Начало  Конец   Размер  Тип      Файловая система  Флаги
 1     1049kB  8000MB  7999MB  primary  ext4              загрузочный
 2     8000MB  8589MB  589MB   primary  linux-swap(v1)
В моем случае есть возможность увеличить / раздел, временно удалив swap.
Итак, удаляем swap:
rm 2
Удаляем следом наш рут:
rm 1
Создаем вновь с увеличенным размером:
mkpart primary 1049Kb 50000Mb   
Создаем swap:
mkpart primary 50,1Gb 100%

Все, после этого можно загрузить рабочую систему, если не считать проблемы с изменением uuid swap раздела, она должна загрузится корректно.
Итак, в рабочей системе мы увидим примерно следующее:

p                                                              
Model: ATA QEMU HARDDISK (scsi)
Disk /dev/sda: 56.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start   End     Size    Type     File system  Flags
 1      1049kB  50.0GB  50.0GB  primary  ext4
 2      50.0GB  56.9GB  6908MB  primary

Создаем swap заново:
mkswap  /dev/sda2
Setting up swapspace version 1, size = 6746108 KiB
no label, UUID=372bcd05-a88c-4e87-bf3f-98fa85207817
После этого надо исправить fstab, чтобы пропсиать там новый UUID.
Далее нам нужно увеличить файловую систему, в принципе, при наличии бэкапа это можно сделать online: (As  of  this  writing,  the Linux 2.6 kernel supports on-line resize for filesystems mounted using ext3 and ext4.).

Запускаем resize до максимально возможного размера (по размерам раздела):


resize2fs /dev/sda1
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 3
Performing an on-line resize of /dev/sda1 to 12206848 (4k) blocks.
The filesystem on /dev/sda1 is now 12206848 blocks long.
После этого диск увеличится:
df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              46G  7.0G   37G  17% /
tmpfs                 123M     0  123M   0% /lib/init/rw
udev                  118M   96K  118M   1% /dev
tmpfs                 123M     0  123M   0% /dev/shm
overflow              1.0M  4.0K 1020K   1% /tmp
 Запланируем fsck при следующем ребуте:
touch /forcefsck
 И перезагружаемся:
reboot 
Теперь желательно посмотреть на экран монитора/KVM, что проверка прошла успешно.   Вот и все!

No comments:

Post a Comment

Note: only a member of this blog may post a comment.