Jak zmienić rozmiar partycji ext4 root na żywo bez umount w Linux

Jak zmienić rozmiar partycji ext4 root na żywo bez umount w Linux

W tym artykule skupi się na zmiany rozmiaru partycji ext4 bez umoin. Jest to łatwy sposób dla niektórych systemów, w którym nie możesz zdjąć partycji root, a system można łatwo odzyskać, jeśli coś pójdzie nie tak, na przykład instancja AWS.

Zmiana rozmiaru dowolnej partycji na żywo bez niszczenia wiąże się z ogromnym ryzykiem utraty danych, dlatego nie jest to zalecane. Jeśli masz poufne dane przechowywane w twoim systemie, zawsze zaleca się zdejmowanie systemu wykonania kopii zapasowej i rozmiar partycji, gdy nie jest on zamontowany.

W poniższym przykładzie zmienimy rozmiar partycji świeżej pojedynczej partycji AWS Linux. Obecny rozmiar partycji to 7.8 GB:

# df -h . Używany rozmiar systemu plików Użyj% zamontowanego na /dev /xvda1 7.8G 642M 6.8G 9% / 

Jednak rozmiar dysku podaje 20 GB:

# FDISK -L Dysk/dev/XVDA: 20 GIB, 21474836480 BYTES, 41943040 SECTORS Jednostki: Sektory 1 * 512 = 512 Bajty Rozmiar sektora (logiczny/fizyczny): 512 bajtów/512 bajtów I/O rozmiar (minimum/optymalny) : 512 bajtów /512 BYTES Typ disklabel: DOS Identyfikator DOS: 0xd7f2e0e8 Rozpoczęcie rozruchu Sektory Rozmiar Typ identyfikatora /Dev /XVDA1 * 4096 16773119 16769024 8G 83 Linux 

Powyższa partycja jest zamontowana jako root, a zatem partycja nie może być nie do zrobienia:

# umount / umount: /: cel jest zajęty. (W niektórych przypadkach przydatne informacje o procesach korzystających z urządzenia znajdują się przez LSOF (8) lub fuser (1)) 

Wszystko, co należy zrobić, to zwróć uwagę na sektor początkowy bieżącej partycji, który w naszym przypadku wynosi 4096. Usuń partycję i odtworzyć nową, większą partycję rozpoczynającą się od sektora 4096. Do tego po prostu będziemy używać Fdisk Komenda. Zacznijmy od ponownego wydrukowania naszej obecnej tabeli partycji:

# fdisk /dev /xvda.25.2). Zmiany pozostaną tylko w pamięci, dopóki nie zdecydujesz się je napisać. Zachowaj ostrożność przed użyciem polecenia zapisu. Polecenie (m do pomocy): P dysk/dev/XVDA: 20 GIB, 21474836480 BYTES, 41943040 SECTORS Jednostki: Sektory 1 * 512 = 512 bajtów Rozmiar sektora (logiczny/fizyczny): 512 bajtów/512 bajtów I/O Minimalne /optymalne): 512 bajtów /512 BYTES Typ disklabel: Identyfikator dysku DOS: 0xd7f2e0e8 Uruchomienie Rozpoczęcie Sektorów Rozmiar Typ identyfikatora /Dev /XVDA1 * 4096 16773119 16769024 8G 83 Linux 

Jeszcze raz proszę o notatkę sektora początkowego 4096. Jeszcze w FdiskTryb interaktywny Usuń partycję:

Polecenie (m do pomocy): D Wybrana partycja 1 Partycja 1 została usunięta. 


Następnie utwórz nową partycję bezpośrednio na górze poprzedniego i upewnij się, że używasz tego samego sektora początkowego:

Polecenie (m dla pomocy): N Typ partycji P Primary (0 podstawowy, 0 rozszerzony, 4 darmowy) e rozszerzony (kontener dla partycji logicznych) Wybierz (domyślnie p): P Numer partycji (1-4, domyślnie 1): Pierwszy sektor (2048-41943039, domyślnie 2048): 4096 Ostatni sektor, +sektory lub +rozmiar K, M, G, T, P (4096-41943039, domyślnie 41943039): Utworzono nową partycję 1 typu „Linux” i rozmiar 20 GIB GIB. 

Uczyń partycję 1 Bootable i wydrukuj nową tabelę partycji:

Polecenie (m do pomocy): Wybrana partycja 1 Flaga rozruchowego na partycji 1 jest teraz włączona. Polecenie (m do pomocy): P dysk/dev/XVDA: 20 GIB, 21474836480 BYTES, 41943040 SECTORS Jednostki: Sektory 1 * 512 = 512 bajtów Rozmiar sektora (logiczny/fizyczny): 512 bajtów/512 bajtów I/O Minimum /optymalne): 512 bajtów /512 bajtów Typ disklabel: Identyfikator dysku DOS: 0xd7f2e0e8 Uruchomienie Rozpoczęcie Sektory Rozmiar Typ ID /Dev /XVDA1 * 4096 41943039 41938944 20G 83 Linux 

Potwierdź wszystkie nowe szczegóły i napisz nową tabelę partycji:

Polecenie (m do pomocy): W tabela partycji została zmieniona. Dzwoniąc do IOCTL (), aby ponownie odczytać tabelę partycji. Ponowne czytanie tabeli partycji nie powiodło się.: Urządzenie lub zasób zajęty jądro nadal używa starej tabeli. Nowa tabela zostanie użyta w następnym ponownym uruchomieniu lub po uruchomieniu PartProbe (8) lub Kpartx (8). 

W tym momencie system musi zostać ponownie uruchomiony, aby ponownie znieść naszą partycję root o nowym rozmiarze. Wymień FSC w następnym ponownym uruchomieniu, aby upewnić się, że partycja jest sprawdzana przed zamontowaniem. Aby to zrobić, po prostu utwórz pusty plik o nazwie ForceFSCk w korzeni twojego / przegroda:

# Touch /Forcefsck 

Uruchom ponownie swój system. Po ponownym stanie system sprawdź rozmiar partycji:

df -h . Używany rozmiar systemu plików Użyj% zamontowany na /dev /XVDA1 20G 644M 19G 4% / 

i ostatni sprawdzanie FSCK:

# Tune2fs -l /dev /xvda1 

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Ubuntu 22.04 Kopia zapasowa i przywracanie systemu
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Jak montować obraz ISO na Linux
  • Hung Linux System? Jak uciec do wiersza poleceń i…
  • Jak podwójnie rozruch Kali Linux i Windows 10
  • Linux Pliki konfiguracyjne: Top 30 Najważniejsze
  • Pobierz na żywo CD/DVD Linux
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?