Hej alle! Jeg stødte for nylig på en tilsyneladende simpel opgave - at øge diskstørrelsen på en Linux-server "on the fly".
Beskrivelse af opgaven
Der er en server i skyen. I mit tilfælde er det Google Cloud - Compute Engine. Operativsystemet er Ubuntu. I øjeblikket er der tilsluttet en disk på 30 GB. Databasen vokser, filerne fylder, så jeg skal øge diskstørrelsen til 50 GB. I denne proces slukker vi ikke noget, og vi genstarter ikke.
Advarsel! Før vi starter, laver vi en backup af alle vigtige oplysninger!
1. Først tjekker vi, hvor meget fri plads vi har i alt. I Linux-konsollen skriver vi:
df -h 
Enkelt sagt har jeg 30 GB i alt, og der er i øjeblikket 7,9 GB ledigt. Jeg skal øge størrelsen.
2. Derefter går jeg ind i min hosting-konsol og tilslutter lidt ekstra GB. I Google Cloud er det nemt og kræver ikke genstart. Jeg går til Compute Engine -> Diske -> Vælger disk fra min server - vi ændrer størrelsen på den:

Jeg går ind, klikker på "Rediger" og øger diskstørrelsen til den ønskede størrelse (i mit tilfælde til 50 GB).
3. Så nu har vi 50 GB. Lad os tjekke det med serveren med kommandoen:
sudo fdisk -l 
Vi ser vores nye 50 GB, men vi kan i øjeblikket kun bruge 30 GB.
4. Nu sletter vi den nuværende 30 GB partition og opretter en ny på 50 GB. Du kan have flere partitioner. Det kan være nødvendigt at oprette nogle nye partitioner. Vi bruger programmet fdisk, der giver os mulighed for at administrere harddiskpartitioner. Det er også vigtigt at forstå, hvad diskpartitioner er, og hvad de bruges til - læs . For at starte programmet fdisk bruger vi kommandoen:
sudo fdisk /dev/sda5. Inde i programmets interaktive tilstand fdisk gør vi nogle operationer.
Først skriver vi:
p 
Kommandoen viser en liste over vores nuværende partitioner. I mit tilfælde er der én partition på 30 GB og yderligere 20 GB i frihavn, hvis man kan sige det.
6. Derefter skriver vi:
d 
Sletter den nuværende partition for at oprette en ny på alle 50 GB. Før operationen tjekker vi igen, om vi har lavet backup af vigtige oplysninger!
7. Derefter angiver vi programmet:
n 
Kommandoen opretter en ny partition. Alle indstillinger skal sættes til standard - du kan blot trykke Enter. Hvis du har en særlig situation, kan du angive dine egne parametre. Som det ses på screenshotet, har jeg oprettet en partition på 50 GB - det, jeg har brug for.
8. Resultatet er, at jeg angiver programmet:
w 
Denne kommando gemmer ændringer og afslutter. fdisk. Lad os ikke blive bange for, at læsning af partitionstabellen mislykkedes. Den følgende kommando vil hjælpe med at rette dette. Der er kun lidt tilbage.
9. Vi er kommet ud af fdisk og er tilbage i hoved Linux-kommandoen. Indtast derefter, som vi tidligere blev rådet til:
sudo partprobe /dev/sdaHvis alt gik godt, vil du ikke se nogen meddelelse. Hvis du ikke har programmet partprobe, så installér det. Det er netop partprobe der opdaterer partitionstabellerne, hvilket giver os mulighed for at udvide partitionen til 50 Gb online. Lad os fortsætte.
Tip! Du kan installere partprobe på følgende måde:
apt-get install partprobe
10. Nu skal vi ændre størrelsen på partitionen ved hjælp af programmet resize2fs. Det vil gøre dette online - mine scripts kørte faktisk stadig og skrev til disken på dette tidspunkt.
Program resize2fs vil genoptage metadataene for filsystemet. Brug den følgende kommando:
sudo resize2fs /dev/sda1 
Her er sda1 navnet på din partition. I de fleste tilfælde er det sda1, men der kan være undtagelser. Vær forsigtig. Som resultat ændrede programmet størrelsen på partitionen. Jeg mener, det er en succes.
11. Lad os nu sikre os, at størrelsen på partitionen er ændret, og nu har vi 50 Gb. For at gøre dette gentager vi den første kommando:
df -h 
Kilde: habr.com
