Dzisiaj wypróbowałem to na moim komputerze z OpenSUSE 12.3 (jądro 3.7):
# resize2fs /dev/mapper/system-srv 2G
resize2fs 1.42.6 (21-Sep-2012)
Filesystem at /dev/mapper/system-srv is mounted on /srv; on-line resizing required
resize2fs: On-line shrinking not supported
/dev/mapper/system-srv
to wolumin EXT4.
Czy to naprawdę nie jest obsługiwane, czy coś mi brakuje?
linux
lvm
hard-drive
ext4
Alicia
źródło
źródło
Tak, możesz zmniejszyć / przenieść / rozwinąć partycję root bez żadnych restartów (ani livecd, ani usbkey): zapoznaj się z tą odpowiedzią . Jest bardzo dobrze napisany i łatwy do naśladowania, choć dość długi i trochę ryzykowny.
resize2fs
nie można zmniejszyćext4
partycji online . Ograniczenie to, zastosowane na partycji głównej, może prowadzić do wniosku, że nie można uniknąć ponownego uruchomienia hosta, aby umożliwić zmniejszenieroot
partycji, czego można uniknąć. Połączony proces pozwoli na umountowanie partycji root bez ponownego uruchamiania. Dlatego w tym świetle zmiana rozmiaru online nie jest ściśle związana ze stanem zamontowanym partycji, pozostaje jednak zmiana rozmiaru online ze względu na status online sieci lub dostępność hosta.Oczywiście, jeśli chcesz tylko rozbudować partycję ext4, powinieneś trzymać się konwencjonalnych działających
resize2fs
rozwiązań.Ogólne rozwiązanie, które podłączyłem, będzie działać na przykład na dowolnym typie rozwiązania dedykowanego lub VPS.
TLDR; Rozwiązanie to zakłada się
pivot_root
, abytmpfs
więc możnaumount
bezpiecznie twoja partycja na żywo i skrzypce z nim. Po zakończeniupivot_root
wrócisz do nowej partycji root.Umożliwia to praktycznie dowolną manipulację w głównym systemie plików (przenieś go, zmień system plików, zmień urządzenie fizyczne ...).
Osobiście korzystałem z tego i działa bardzo dobrze również w systemie Debian, ale przewodnik został początkowo napisany w 2007 roku dla redhat, odpowiedź, którą podłączyłem, została zaktualizowana dla CentOS7. Jest wysoce prawdopodobne, że będzie działać na twoim OpenSUSE, choć prawdopodobnie z pewnymi modyfikacjami.
źródło
Jeśli sprawa jest zdalnym serwerem bez konsoli, możesz zmniejszyć system plików przy użyciu initramfs podczas ponownego uruchamiania. Musisz dodać resize2fs do initramfs i uruchomić go przed zamontowaniem roota.
Przykład Debian / Ubuntu:
/ etc / initramfs-tools / hooks / resizefs (plik wykonywalny):
/ etc / initramfs-tools / scripts / local-premount / resizefs (plik wykonywalny)
Teraz uruchom update-initramfs, uruchom ponownie, sprawdź rozmiar, usuń te skrypty i ponownie zaktualizuj intiramfs.
W przypadku dracut (Fedora, CentOS) użyj tej samej logiki (/usr/lib/dracut/modules.d).
Jest to bardzo przydatne do szyfrowania lub przenoszenia rootfów, ponieważ nie ma wolnego miejsca dla nowej partycji.
źródło
update-grub
.