Sari la conținut

Extinderea spațiului pe disc al unui Edge Gateway

Un Edge Gateway se umple: arhivele sesiunilor înregistrate și logurile de sistem se acumulează pe partițiile care le găzduiesc. Această pagină extinde una dintre acele partiții pentru ca ea să utilizeze tot spațiul disponibil pe disc.

Operațiunea se efectuează în mod normal la cald, fără impact asupra producției.

O condiție, și nu este negociabilă

Comenzile de mai jos presupun organizarea discurilor și partiționarea livrate împreună cu appliance-ul. Dacă discurile sau partiționarea acestei mașini virtuale au fost modificate manual, ele nu se aplică: șterg și recreează o partiție și ar face acest lucru pornind de la ipoteze care nu mai sunt adevărate. În acest caz, contactați suportul Systancia în loc să adaptați dumneavoastră comenzile.

O singură modificare este tolerată: cea pe care a făcut-o deja această procedură. Pagina este menită să fie aplicată din nou — un Edge Gateway extins astfel rămâne eligibil, iar fiecare nouă mărire a discului virtual este transmisă partiției în același mod.

Înainte de a începe

Parcurgeți acești patru pași în ordine. Primul este cel care face ca restul să fie recuperabil.

1. Realizați un backup al mașinii virtuale

Realizați un backup al mașinii virtuale înainte de orice. Extinderea rescrie tabela de partiții: un backup este ceea ce transformă o operațiune eșuată într-o restaurare, în loc de o reinstalare.

2. Extindeți discul virtual din hipervizor

Adăugați spațiul necesar la discul serverului Edge Gateway, din hipervizorul dumneavoastră. Acest pas singur nu schimbă nimic în interiorul mașinii — sistemul de operare continuă să vadă dimensiunea anterioară până la rularea comenzilor de mai jos.

Opțiunea este estompată? Căutați un snapshot

Un hipervizor refuză să extindă discul unei mașini virtuale care deține un snapshot. Dacă opțiunea este indisponibilă, verificați dacă a rămas vreunul și eliminați-l — apoi extindeți discul.

3. Opțional, realizați un snapshot

Odată discul extins, puteți realiza un snapshot al mașinii, ca o cale de întoarcere imediată pentru comenzile care urmează. Realizați-l după extinderea discului, niciodată înainte: un snapshot este exact ceea ce ar împiedica acea extindere.

4. Aplicați extinderea în interiorul serverului Edge Gateway

Abia atunci rulați comenzile din secțiunea următoare.

Ce partiție trebuie extinsă

Comenzile primesc un director și extind partiția care îl găzduiește. Poate fi indicat orice director al sistemului, cu o singură excepție.

/boot este exclus

Nu vizați /boot. Comenzile acționează asupra volumului LVM al appliance-ului, din care /boot este exclus. Câmpul de mai jos refuză această cale.

În practică, două directoare cresc mai repede decât restul — ele sunt motivul obișnuit pentru care se rulează această procedură:

Director Ce conține
/var/lib/ipdiva/carerecord/archives Arhivele grafice ale sesiunilor înregistrate.
/var/log Logurile de sistem.

Se indică un director, nu o partiție

Nu este necesar să știți ce partiție sau ce volum logic găzduiește ce anume: comenzile citesc acest lucru din directorul pe care li-l indicați. Rulați df -h pe Edge Gateway pentru a vedea care dintre ele se epuizează.

Extindeți partiția

Deschideți o sesiune SSH pe Edge Gateway, ca root, apoi rulați comenzile.

Puteți personaliza variabila din comenzile următoare:

Valoare personalizată Variabilă Comentariu
TARGET_DIRECTORY Directorul a cărui partiție trebuie extinsă — consultați Ce partiție trebuie extinsă.

Sau completați câmpul cu unul dintre cele două directoare care se saturează primele:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
directory=TARGET_DIRECTORY

echo 1 > /sys/class/block/sda/device/rescan

start_last_lvm_partition=`fdisk -l /dev/sda | grep LVM | awk '{print $2}' | sort -nr | head -n1`
last_lvm_partition=`fdisk -l /dev/sda | grep $start_last_lvm_partition | awk '{print $1}'`
mountpoint=`df $directory | awk 'NR==2 {print $1}'`

echo -e "d\n${last_lvm_partition: -1}\nn\np\n${last_lvm_partition: -1}\n$start_last_lvm_partition\n\nn\nt\n${last_lvm_partition: -1}\n8E\nw" | fdisk /dev/sda

pvresize $last_lvm_partition
lvresize -l +100%FREE $mountpoint
resize2fs $mountpoint

Ce fac comenzile

Ele înlănțuie patru operațiuni: fac kernelul să vadă noua dimensiune a discului fără repornire, rescriu ultima partiție LVM astfel încât să ajungă la capătul discului, predau acel spațiu către LVM, apoi extind sistemul de fișiere pe el.

Verificați spațiul liber înainte și după

Rulați df -h pe director înainte și după. Câștigul trebuie să corespundă spațiului adăugat la pasul 2.

Dacă sistemul de fișiere nu a crescut, nu rulați imediat comenzile din nou: tabela de partiții a fost deja rescrisă, iar o a doua trecere peste aceeași dimensiune de disc ar porni de la o stare pe care ele nu o așteaptă. Raportați în schimb rezultatul către suportul Systancia.

Rularea lor din nou este legitimă într-un singur caz, și acesta este cel obișnuit: atunci când s-a adăugat mai mult spațiu pe discul virtual. Reluați de la pasul 1 — întreaga procedură se aplică din nou, inclusiv backupul.