Sveiki visiem! Nesen saskāros ar šķietami vienkāršu uzdevumu — palielināt servera Linux diska lielumu "karstā" režīmā.
Uzdevuma apraksts
Ir mākoņa serveris. Manā gadījumā tas ir Google Cloud — Compute Engine. Operētājsistēma — Ubuntu. Šobrīd ir pieslēgts disks ar lielumu 30 GB. Datu bāze aug, faili pieaug, tāpēc ir nepieciešams palielināt diska izmēru, teiksim, līdz 50 GB. Šajā procesā mēs neko neizslēdzam, neko nepārlādējam.
Uzmanību! Pirms sākt, izveidojam dublējumu visai svarīgajai informācijai!
1. Vispirms pārbaudīsim, cik mums ir brīvas vietas. Linux konsolē rakstām:
df -h 
Vienkārši sakot, man ir kopumā 30 GB un pašreiz brīvs 7.9 GB. Ir nepieciešams palielināt.
2. Tālāk es eju un caur sava hostinga konsoli pieslēdzos vēl nedaudz GB. Google Cloud to izdara viegli, bez pārlādēšanas. Es ieeju Compute Engine -> Diski -> Izvēlos sava servera disku — tam arī mainīšu izmēru:

Iešu iekšā, nospiežu "Rediģēt" un palielinu diska izmēru līdz man vajadzīgajiem izmēriem (manā gadījumā, līdz 50 GB).
3. Tātad, tagad mums ir 50 GB. Pārbaudīsim to ar serveri ar komandu:
sudo fdisk -l 
Redzam savus jaunus 50 GB, bet pagaidām varam izmantot tikai 30 GB.
4. Tagad izdzēsīsim pašreizējo 30 GB diska partīciju un izveidosim jaunu uz 50 GB. Var būt vairākas partīcijas. Iespējams, būs nepieciešams izveidot arī dažas jaunas partīcijas. Šai operācijai izmantosim programmu fdisk, kas ļauj pārvaldīt cieto disku partīcijas. Tāpat ir svarīgi saprast, kas ir diska partīcijas un kāds ir to mērķis — lasām . Programmas palaišanai fdisk izmantojam komandu:
sudo fdisk /dev/sda5. Programmas interaktīvā režīmā fdisk veicam vairākas operācijas.
Vispirms ierakstām:
p 
Komanda izvada mūsu pašreizējo partīciju sarakstu. Manā gadījumā viena partīcija uz 30 GB un vēl 20 GB brīvā vieta, ja tā var teikt.
6. Tālāk ierakstām:
d 
Dzēšam pašreizējo partīciju, lai izveidotu jauno uz visiem 50 GB. Pirms operācijas vēlreiz pārbaudām, vai esam izveidojuši svarīgās informācijas dublējumu!
7. Pēc tam norādām programmai:
n 
Komanda izveido jaunu partīciju. Visus parametrus ieteicams iestatīt pēc noklusējuma — var vienkārši nospiest Enter. Ja tomēr jums ir kāds īpašs gadījums, tad norādiet savus parametrus. Kā redzams no ekrānšāviņa, es izveidoju partīciju uz 50 GB — tas, kas man nepieciešams.
8. Rezultātā norādu programmai:
w 
Šī komanda ieraksta izmaiņas un iziet no fdisk. Neuztraucieties, ja sadaļu tabulas lasīšana neizdevās. Nākamā komanda palīdzēs to labot. Vairs mazliet palicis.
9. Mēs izgājām no fdisk un atgriezāmies galvenajā Linux — rindā. Tālāk ievadām, kā iepriekš ieteikts:
sudo partprobe /dev/sdaJa viss izdevās, tad jūs nesaskarsit ar nekādiem ziņojumiem. Ja jums nav instalēta programma partprobe, tad instalējiet to. Tieši partprobe atjauninās sadaļu tabulas, kas ļaus mums paplašināt sadaļu līdz 50 Gb tiešsaistē. Turpinām.
Ieteikums! Instalēt partprobe var šādi:
apt-get install partprobe
10. Tagad palicis tikai pārrakstīt sadaļas izmēru ar programmas palīdzību resize2fs. Tā darīs to tiešsaistē — pat šajā brīdī skripti darbojās un rakstīja uz diska.
Programma resize2fs pārrakstīs failu sistēmas metadatus. Tādēļ izmantojam sekojošo komandu:
sudo resize2fs /dev/sda1 
Šeit sda1 — tā ir jūsu sadaļas nosaukums. Lielākajā daļā gadījumu tas būs sda1, bet var būt arī izņēmumi. Esiet uzmanīgi. Rezultātā programma izmainīja mūsu sadaļas izmēru. Domāju, ka tas ir panākums.
11. Tagad pārliecināsimies, ka sadaļas izmērs ir mainījies un tagad mums ir 50 Gb. Tādēļ atkārtojam to pašu pirmo komandu:
df -h 
Avots: habr.com
