Pozdravljeni! Nedavno sem se spopadel z nalogo, ki se na prvi pogled zdi preprosta — povišanje velikosti diska na strežniku Linux brez prekinitve delovanja.
Opis naloge
Imam strežnik v oblaku. V mojem primeru je to Google Cloud — Compute Engine. Operacijski sistem je Ubuntu. Trenutno je povezan disk velikosti 30 GB. Moja baza raste, datoteke se širijo, zato moram povečati velikost diska, recimo, na 50 GB. Pri tem ne izklapljamo ničesar, ničesar ne ponastavljamo.
Pozor! Preden začnemo, naredimo varnostno kopijo vseh važnih informacij!
1. Najprej preverimo, koliko imamo skupnega prostega prostora. V Linux konzoli vnesemo:
df -h 
Enostavno povedano, imam skupaj 30 GB in zdaj prostih 7,9 GB. Potrebno je povečati.
2. Nato grem v konzolo svojega ponudnika in povežem še nekaj GB. V Google Cloud je to enostavno, brez ponastavitve. Vstopim v Compute Engine -> Diski -> Izberem disk svojega strežnika — temu bomo spremenili velikost:

Vstopim, kliknem 'Uredi' in povečam velikost diska na želene dimenzije (v mojem primeru na 50 GB).
3. Zdaj imamo 50 GB. Preverimo to z strežnikom komandom:
sudo fdisk -l 
Vidimo svoj novih 50 GB, vendar lahko trenutno uporabimo le 30 GB.
4. Zdaj bomo odstranili trenutni 30 GB razdelek in ustvarili novega na 50 GB. Imate lahko več razdelkov. Morda boste morali ustvariti tudi več novih razdelkov. Za to operacijo bomo uporabili program fdisk, ki omogoča upravljanje z razdelki trdih diskov. Prav tako je pomembno razumeti, kaj so razdelki diska in zakaj jih potrebujemo — berite . Za zagon programa fdisk uporabimo ukaz:
sudo fdisk /dev/sda5. V interaktivnem načinu programa fdisk izvedemo več operacij.
Najprej vnesemo:
p 
Ukaz prikaže seznam naših trenutnih razdelkov. V mojem primeru je en razdelek na 30 GB in še 20 GB prostega prostora, če to lahko tako rečemo.
6. Nato vnesemo:
d 
Odstranimo trenutni razdelek, da ustvarimo novega na vseh 50 GB. Pred operacijo še enkrat preverimo, ali smo naredili varnostno kopijo pomembnih informacij!
7. Nato programu določimo:
n 
Ukaz ustvari nov razdelek. Vse parametre je najbolje nastaviti privzeto — lahko preprosto pritisnete Enter. Če imate kakšen poseben primer, navedite svoje parametre. Kot je razvidno iz posnetka zaslona, sem ustvaril razdelek na 50 GB — to, kar potrebujem.
8. Na koncu programu določim:
w 
Ta ekipa beleži spremembe in izide iz fdisk. Ne prestrašimo se, da branje tabelskih delov ni uspelo. Naslednja ukaz bo pomagala to popraviti. Ostalo je še malo.
9. Izšli smo iz fdisk in se vrnili na glavno linijo Linux. Nadaljujemo z vnosom, kot smo predhodno svetovali:
sudo partprobe /dev/sdaČe je vse potekalo uspešno, ne boste videli nobenega sporočila. Če program partprobe, ga namestite. Prav on partprobe bo posodobil tabele delov, kar nam bo omogočilo širitev dela na 50 GB v živo. Nadaljujmo.
Namig! Namestite partprobe lahko takole:
apt-get install partprobe
10. Zdaj je treba ponovno določiti velikost dela z uporabo programa resize2fs. To bo izvedel v živo - pri meni so v tem trenutku celo skripte delale in zapisovale na disk.
Program resize2fs bodo prepisali metapodatke datotečnega sistema. Za to uporabimo naslednji ukaz:
sudo resize2fs /dev/sda1 
Tukaj je sda1 ime vašega dela. V večini primerov je to sda1, vendar so možne tudi izjeme. Bodite previdni. Na koncu je program spremenil velikost našega dela. Mislim, da je to uspeh.
11. Zdaj se prepričajmo, da se je velikost dela spremenila in zdaj imamo 50 GB. Za to ponovimo prvi ukaz:
df -h 
Izvor: habr.com
