Cześć wszystkim! Niedawno natrafiłem na zdanie, które na pierwszy rzut oka wydaje się proste - zwiększenie rozmiaru dysku na serwerze Linux „na gorąco”.
Opis zadania
Mam serwer w chmurze. W moim przypadku jest to Google Cloud - Compute Engine. System operacyjny - Ubuntu. Mam aktualnie podłączony dysk o rozmiarze 30 GB. Baza rośnie, pliki się powiększają, dlatego muszę zwiększyć rozmiar dysku do, powiedzmy, 50 GB. Przy tym nic nie wyłączamy, nic nie restartujemy.
Uwaga! Przed rozpoczęciem wykonaj kopię zapasową wszystkich ważnych informacji!
1. Na początek sprawdźmy, ile mamy wolnego miejsca. W konsoli Linux wpisujemy:
df -h 
Mówiąc prosto, mam 30 GB całkowicie i aktualnie 7.9 GB wolnego. Muszę zwiększyć.
2. Następnie łączę się i przez konsolę swojego hostera dodaję trochę więcej GB. W Google Cloud robi się to łatwo, bez restartu. Wchodzę w Compute Engine -> Dyski -> Wybieram dysk swojego serwera - zwiększam jego rozmiar:

Wchodzę wewnątrz, klikam „Edytuj” i zwiększam rozmiar dysku do pożądanych rozmiarów (w moim przypadku do 50 GB).
3. Więc teraz mamy 50 GB. Sprawdźmy to przy użyciu serwerze poleceniem:
sudo fdisk -l 
Zobaczymy nasze nowe 50 GB, ale na razie możemy używać tylko 30 GB.
4. Teraz usuniemy bieżący partycję o rozmiarze 30 GB i stworzymy nową o rozmiarze 50 GB. Możesz mieć kilka partycji. Możliwe, że będziesz musiał stworzyć kilka nowych partycji. Do tej operacji użyjemy programu fdisk, który pozwala zarządzać partycjami dysku twardego. Ważne jest również zrozumienie, czym są partycje dysku i do czego są potrzebne - czytamy . Aby uruchomić program, fdisk używamy polecenia:
sudo fdisk /dev/sda5. W wewnętrznym trybie interaktywnym programu fdisk wykonujemy kilka operacji.
Najpierw wpisujemy:
p 
Polecenie wyświetla listę naszych aktualnych partycji. W moim przypadku jedna partycja o rozmiarze 30 GB i jeszcze 20 GB w wolnym systemie, jeśli tak można to ująć.
6. Następnie wpisujemy:
d 
Usuwamy bieżącą partycję, żeby stworzyć nową na wszystkie 50 GB. Przed operacją jeszcze raz sprawdzamy, czy zrobiliśmy kopię zapasową ważnych informacji!
7. Następnie wskazujemy programowi:
n 
Polecenie tworzy nową partycję. Wszystkie parametry powinny być ustawione domyślnie - można po prostu naciskać Enter. Jeśli masz jakiś szczególny przypadek, to podaj własne parametry. Jak widać na zrzucie ekranu, stworzyłem partycję o rozmiarze 50 GB - to, czego potrzebowałem.
8. W rezultacie wskazuję programowi:
w 
To polecenie zapisuje zmiany i wychodzi z fdisk. Nie przejmuj się, że odczytanie tabeli partycji się nie powiodło. Następujące polecenie pomoże to naprawić. Pozostało już tylko kilka kroków.
9. Wyszliśmy z fdisk i wróciliśmy do głównej linii Linux. Następnie wpisujemy, jak wcześniej zalecono:
sudo partprobe /dev/sdaJeśli wszystko poszło pomyślnie, nie zobaczysz żadnego komunikatu. Jeśli nie masz zainstalowanego programu partprobe, to go zainstaluj. To właśnie partprobe zaktualizuje tabele partycji, co pozwoli nam rozszerzyć partycję do 50 GB w trybie online. Idziemy dalej.
Podpowiedź! Możesz zainstalować partprobe w ten sposób:
apt-get install partprobe
10. Teraz pozostaje zmienić rozmiar partycji za pomocą programu resize2fs. Zrobi to w trybie online — nawet w tym momencie skrypty działały i pisały na dysk.
Program resize2fs prze zapisze metadane systemu plików. W tym celu używamy następującego polecenia:
sudo resize2fs /dev/sda1 
Tutaj sda1 to nazwa twojej partycji. W większości przypadków to sda1, ale mogą wystąpić wyjątki. Bądź ostrożny. W rezultacie program zmienił nam rozmiar partycji. Myślę, że to sukces.
11. Teraz upewnijmy się, że rozmiar partycji się zmienił i mamy teraz 50 GB. W tym celu powtórzymy najpierw polecenie:
df -h 
Źródło: habr.com
