Hallo iedereen! Onlangs stuitte ik op een schijnbaar eenvoudige taak: de schijfgrootte op een Linux-server 'live' vergroten.
Taakbeschrijving
Er is een cloudserver. In mijn geval is dit Google Cloud — Compute Engine. Het besturingssysteem is Ubuntu. Ik heb momenteel een schijf van 30 GB aangesloten. De database groeit, bestanden worden groter, dus we moeten de schijfgrootte verhogen, laten we zeggen, naar 50 GB. Tijdens dit proces schakelen we niets uit en herstarten we niets.
Let op! Voordat we beginnen, maken we een backup van alle belangrijke informatie!
1. Laten we eerst controleren hoeveel vrije ruimte we hebben. In de Linux-console voeren we het volgende in:
df -h 
In eenvoudige bewoordingen heb ik in totaal 30 GB en momenteel 7,9 GB vrij. Dat moet vergroot worden.
2. Vervolgens ga ik via de console van mijn hoster meer GB's toevoegen. In Google Cloud is dit eenvoudig te doen, zonder herstart. Ik ga naar Compute Engine -> Schijven -> Kies de schijf van mijn server — die gaan we aanpassen:

Ik ga naar binnen, klik op 'Bewerken' en vergroot de schijfgrootte naar de gewenste omvang (in mijn geval naar 50 GB).
3. Dus, nu hebben we 50 GB. Laten we dit controleren met de server met het commando:
sudo fdisk -l 
We zien onze nieuwe 50 GB, maar we kunnen voorlopig alleen 30 GB gebruiken.
4. Nu verwijderen we de huidige schijf-partitie van 30 GB en maken we een nieuwe van 50 GB aan. Je kunt meerdere partities hebben. Mogelijk moet je ook verschillende nieuwe partities aanmaken. Voor deze actie gebruiken we het programma fdisk, waarmee je partitions op de harde schijf kunt beheren. Het is ook belangrijk om te begrijpen wat schijfpartities zijn en waarvoor ze dienen — lees . Om het programma te starten, gebruiken we het commando: fdisk sudo fdisk /dev/sda
5. Binnen de interactieve modus van het programmavoeren we verschillende handelingen uit. fdisk Eerst typen we:
p
Het commando geeft een lijst van onze huidige partities weer. In mijn geval één partitie van 30 GB en nog 20 GB in vrije ruimte, als ik dat zo mag zeggen. 
6. Vervolgens typen we:
d
We verwijderen de huidige partitie om een nieuwe aan te maken voor in totaal 50 GB. 
Controleer voor de operatie nogmaals of we een backup van belangrijke informatie hebben gemaakt! 7. Vervolgens geven we het programma het volgende aan:
n
n 
Het team maakt een nieuwe partitie aan. U kunt alle parameters standaard instellen — u kunt gewoon op Enter drukken. Als u echter een bijzondere situatie hebt, geeft u uw eigen parameters aan. Zoals te zien op de screenshot, heb ik een partitie van 50 Gb aangemaakt — precies wat ik nodig heb.
8. Uiteindelijk geef ik aan het programma:
w 
Dit commando slaat de wijzigingen op en sluit af. fdisk. Maak je geen zorgen dat het lezen van de partittabel is mislukt. De volgende opdracht helpt dit op te lossen. We zijn er bijna.
9. We hebben de shell verlaten fdisk en zijn teruggekeerd naar de hoofd Linux - prompt. Laten we doorgaan zoals eerder aangeraden:
sudo partprobe /dev/sdaAls alles goed is gegaan, ziet u geen bericht. Als u het programma niet heeft geïnstalleerd partprobe, installeer het dan. Dit zal de partittabellen bijwerken zodat we de partitie online naar 50 Gb kunnen uitbreiden. Laten we verder gaan. partprobe Tip! U kunt
op deze manier installeren: partprobe apt-get install partprobe
10. Nu moeten we de grootte van de partitie opnieuw definiëren met behulp van het programma
resize2fs . Dit zal dit online doen — zelfs op dat moment draaide het script en schreef het naar de schijf.Het programma
zal de metadata van het bestandssysteem overschrijven. Gebruik hiervoor het volgende commando: . Dit zal dit online doen — zelfs op dat moment draaide het script en schreef het naar de schijf. sudo resize2fs /dev/sda1
Hier is sda1 de naam van uw partitie. In de meeste gevallen is dit sda1, maar er kunnen uitzonderingen zijn. Wees voorzichtig. Uiteindelijk heeft het programma de grootte van de partitie veranderd. Ik beschouw dit als een succes. 
11. Laten we nu controleren of de grootte van de partitie is gewijzigd en of we nu 50 Gb hebben. Hiervoor herhalen we het eerste commando:
Waarom Data Science teams universele vaardigheden nodig hebben en geen specialisten
df -h 
Bron: habr.com
