Изменение размера раздела в linux без потери данных.
Условие: диск размечен так
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 514MB 512MB ext2 boot
3 514MB 8706MB 8193MB linux-swap(v1)
4 8706MB 2000GB 1992GB ext4
Раздел 4 это корень установленной на сервере ОС, требуется уменьшить этот раздел до 1000GB не поломав установленуую ОС и данные на разделе.
Для решения этой проблемы нам поможет утилита resize2fs, но для начала нам требуется чтобы модифицируемый раздел был отмонтирован. Поэтому загружаем сервер в recovery/rescue, т. е. с LiveCD.
В LiveCD выполняем
root@server:~# resize2fs /dev/sda4 1000G
resize2fs 1.42 (29-Nov-2011)
Please run 'e2fsck -f /dev/sda4' first.
В первый раз у меня программа ругнулась, что сначала нужно сделать e2fsck, делаем
root@server:~# e2fsck -f /dev/sda4
e2fsck 1.42 (29-Nov-2011)
/dev/sda4: recovering journal
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (478307399, counted=478307291).
Fix<y>? yes
Free inodes count wrong (121507397, counted=121507389).
Fix<y>? yes
/dev/sda4: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda4: 61891/121569280 files (0.1% non-contiguous), 7945765/486253056 blocks
Теперь повторно запускаем resize2fs
root@server:~# resize2fs /dev/sda4 1000G
resize2fs 1.42 (29-Nov-2011)
Resizing the filesystem on /dev/sda4 to 262144000 (4k) blocks.
The filesystem on /dev/sda4 is now 262144000 blocks long.
На этот раз все выполнилось успешно и раздел уменьшился. Грузимся в нормальный режим, проверяем что все работает. А освобожденное на диске место размечаем по своему усмотрению.
ругнулась она у него раз