Przeszukałem już fora, ale nie mogłem znaleźć odpowiedniej odpowiedzi:
Mam Ubuntu Server 10.04 jako host KVM i system gościa, który również działa w wersji 10.04. System hosta używa LVM i istnieją trzy woluminy logiczne, które są dostarczane gościowi jako wirtualne urządzenia blokowe - jeden dla /, jeden dla / home i jeden dla wymiany. Gość został podzielony na partycje bez LVM.
Już zwiększyłem wolumin logiczny w systemie hosta - gość z powodzeniem widzi większy dysk wirtualny. Jednak ten dysk wirtualny zawiera jedną „dobrą starą” partycję, która wciąż ma stary mały rozmiar.
Dane wyjściowe fdisk -l to
me@produktion:/$ LC_ALL=en_US sudo fdisk -l
Disk /dev/vda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c8ce7
Device Boot Start End Blocks Id System
/dev/vda1 * 1 3917 31455232 83 Linux
Disk /dev/vdb: 2147 MB, 2147483648 bytes
244 heads, 47 sectors/track, 365 cylinders
Units = cylinders of 11468 * 512 = 5871616 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000f2bf7
Device Boot Start End Blocks Id System
/dev/vdb1 1 366 2095104 82 Linux swap / Solaris
Partition 1 has different physical/logical beginnings (non-Linux?):
phys=(0, 32, 33) logical=(0, 43, 28)
Partition 1 has different physical/logical endings:
phys=(260, 243, 47) logical=(365, 136, 44)
Disk /dev/vdc: 225.5 GB, 225485783040 bytes
255 heads, 63 sectors/track, 27413 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00027f25
Device Boot Start End Blocks Id System
/dev/vdc1 1 9138 73398272 83 Linux
Dane wyjściowe drukowania parted all są
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 32.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 32.2GB 32.2GB primary ext4 boot
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 2146MB 2145MB primary linux-swap(v1)
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 225GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 75.2GB 75.2GB primary ext4
Chcę po prostu powiększyć lub zmienić rozmiar partycji / dev / vdc1, aby wykorzystała całą przestrzeń zapewnioną przez wirtualne urządzenie blokowe / dev / vdc. Problem polega na tym, że kiedy próbuję to zrobić z rozstaniem, narzeka:
(parted) select /dev/vdc
Using /dev/vdc
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 225GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 75.2GB 75.2GB primary ext4
(parted) resize 1
WARNING: you are attempting to use parted to operate on (resize) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs. We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
Start? [1049kB]?
End? [75.2GB]? 224GB
Error: File system has an incompatible feature enabled. Compatible features are has_journal, dir_index, filetype, sparse_super and large_file. Use tune2fs
or debugfs to remove features.
Więc co mogę zrobić? To bezgłowy system produkcyjny. Jaki jest bezpieczny sposób na powiększenie tej partycji? MOGĘ jednak odmontować - więc to nie jest problem.
Edycja: Cfdisk pokazał małe wolne miejsce niepodzielone na partycje, następnie partycję (oznaczoną jako „boot” i Linux / ext3), a następnie resztę niepodzielonego na partycje miejsca. Po usunięciu partycji i utworzeniu jej ponownie za pomocą cfdisk - cfdisk pokazuje jeden duży obszar partycjonowany (co byłoby dla mnie w porządku) i jako typ systemu plików tylko „Linux”
Resize2fs zwraca ten błąd
resize2fs 1.41.11 (14-Mar-2010) resize2fs: Bad magic number in super-block while trying to open /dev/vdc1 Couldn't find valid filesystem superblock
źródło
Przykład:
/ dev / sdb2 jest partycją / boot. Ma 100 MB, co jest dość małe. Aby zwiększyć tę partycję ext4 na działającym systemie wykonaj (jako root lub sudo):
gotowy!
Wszystkie dane pozostają na miejscu. / boot jest gotowy do użycia i ma 472 MB pojemności (parted nie jest tak bezpieczny z rozmiarami, przeczytaj instrukcję, aby dowiedzieć się dlaczego)
Wszystkie dane były archiwizowane wcześniej, ale tylko dla zachowania ostrożności. Polecam zrobić to samo.
Użyj następującego polecenia, aby znaleźć proces zatrzymujący odmontowywanie / boot, jeśli się nie powiedzie:
Powodzenia!
źródło
Jeśli spróbujesz usunąć i odtworzyć partycję, kiedy partycja zaczęła się poniżej 2048 roku, możesz mieć problemy, tak jak ja
resize2fs
.Z wersji fdisk 2.17.2 fdisk, fdisk IIUC wymusza rozpoczęcie od 2048 r., Aby upewnić się, że dysk twardy jest „właściwie wyrównany”. Jeśli więc twoja oryginalna partycja rozpoczęła się przed 2048 rokiem, czeka Cię trudna jazda, próbując odtworzyć partycję.
Najlepszym rozwiązaniem jest rsync podczas klonowania dysku .
źródło