Managementul prin volume logice

Managementul de volume logice (în limba engleză, managementul volumului logic sau LVM ) este în același timp o metodă și un software de gestionare a utilizării spațiilor de depozitare ale unui calculator. Permite gestionarea flexibilă, securitatea și optimizarea spațiilor de stocare online în sistemele de operare de tip UNIX .

De asemenea, vorbim despre managerul de volum în limba engleză.

Concepte

Volume fizice PV

Cele hard disk - uri , partiții hard disk - uri, volume RAID sau LUN dintr - un SAN formă „volume fizice“ ( volum fizic sau PV ).

Grupuri de volume VG

Aceste volume fizice sunt concatenate în „ grupuri de volume ” ( grupuri de volume sau VG ).
Aceste VG-uri sunt echivalente cu pseudo-discurile.

Volume logice LV

„Volumele logice” ( volum logic sau LV ) sunt apoi tăiate din grupul de volume, apoi formatate și montate în sisteme de fișiere sau utilizate ca dispozitive brute .
LV-urile sunt echivalente cu pseudo-partiții.

Benzi după volume agregate ( striping )

Volumele logice pot fi „  dungate  ” pe un set de volume fizice, la fel ca RAID 0 .

Această tehnică este utilizată pentru a îmbunătăți performanța, dar o face mai vulnerabilă la eșecul discului.

Oglindă ( oglindire )

Volumele logice pot fi , de asemenea, oglindite , cum ar fi RAID 1 .

Această tehnică este utilizată pentru a proteja împotriva unei defecțiuni pe un hard disk.

Extensii

Extensiile sunt cele mai mici unități de stocare LVM, dimensiunea extensiilor este aceeași pentru fiecare volum logic din același grup de volume. Extensiile neutilizate pot fi utilizate pentru a crește dimensiunea unui grup de volume.

Există două tipuri de extensii:

Instantanee ( instantanee )

Cele Instantaneele sunt volume logice pentru efectuarea unei copii de rezervă consistentă a unui alt volum logic pe același grup de volum.

Crearea unui instantaneu constă în realizarea unei „fotografii”, un instantaneu al volumului logic țintă (care este aproape imediat) și apoi începem să salvăm modificările aduse volumului logic țintă.

Avantajul instantaneelor Ele pot fi utilizate ca metodă de rezervă. Acestea vă permit să stocați o imagine statică a unui volum logic la un anumit moment. Apoi, puteți efectua o copie de rezervă pe bandă a instantaneului , care va conține datele prezente pe volumul țintă atunci când a fost creat instantaneul . Limita instantaneului Nu reprezintă o copie de rezervă completă a unui volum logic, ci doar înregistrează modificările aduse volumului țintă, nu conțin date din volumul țintă; în plus, acestea nu sunt persistente, adică dispar când aparatul este repornit. [Corectează sau șterge, deoarece este adevărat pentru unii administratori de volum, dar fals pentru cel utilizat în general pe Linux.] Dimensiunea instantaneului Se crede că dimensiunea unui instantaneu ar trebui să fie de aproximativ 15-20% din dimensiunea volumului logic țintă. Aceste aproximări sunt complet nefondate, deoarece dimensiunea necesară pentru un instantaneu depinde de activitatea de scriere pe volumul logic țintă pe durata de viață a acelui instantaneu . De exemplu, ștergerea tuturor datelor din volumul logic țintă va necesita un instantaneu al unei dimensiuni cel puțin egală cu dimensiunea volumului logic țintă. Prin urmare, dimensiunea unui instantaneu ar trebui calculată pe baza volumului estimat de date scrise pe unitatea țintă pe durata backupului. În majoritatea cazurilor, acest lucru va necesita mult sub 15%. De asemenea, un factor foarte important în calcularea spațiului disponibil pentru instantaneu este cantitatea de operație de scriere pe secundă. O ștergere completă a volumului logic atașat va necesita în mod efectiv 100% spațiu liber, dar ar putea dura câteva zile în timp ce utilizați un instantaneu pentru a exterioriza o copie de rezervă în timp ce volumul principal continuă să fie utilizat, poate umple spațiul foarte repede.

Este, de asemenea, posibil să creați așa - numitele instantanee subțiri pentru care dimensiunea disponibilă nu este specificată anterior. În special, face posibilă ocuparea cât mai mult spațiu necesar în timp ce volumul grupului în sine este extins pentru a satisface cerințele de spațiu.

Partiții și sisteme de fișiere

Partițiile și sistemele de fișiere nu fac parte din LVM.

O partiție poate fi utilizată ca volum fizic, un sistem de fișiere trebuie instalat pe un volum logic pentru a fi montat și utilizat.

Extindere și reduceri

Este posibil să adăugați la cald volume fizice la grupurile de volume, dar un volum fizic trebuie să fie neutilizat (fără date) pentru a fi eliminat dintr-un grup de volume.

Este posibil să extindeți sau să micșorați volumele logice, dar sistemele de fișiere instalate pe acestea trebuie să accepte această operațiune. Multe sisteme de fișiere acceptă extinderea și reducerea la cald, în caz contrar trebuie să fie demontat (deci întreruperea serviciului) pentru a fi supus acestei operații.

Caracteristici

Hard diskurile pot fi locale (conectate la server) sau la distanță, pe o rețea SAN ( Storage Area Network ) sau un DAS ( Direct Attach Storage ) sub formă de unități logice (cărora le- au fost asociate LUN-uri, Număr unitate logică ).

Avantajul LVM este că puteți modifica dimensiunea volumelor logice fără pierderi de date (chiar și fierbinte în cazul unei extensii pe JFS2 , ext2 , ext3 , ext4 și reiserFS ). Demontarea prealabilă este încă recomandată pentru ext2 și ext3 .

Pentru JFS2 și reiserFS , micșorarea este posibilă și la cald.

Exemple

Exemple de administratori de volum sunt software-ul gratuit LVM1, LVM2 și EVMS  (en) sub Linux, cum ar fi software-ul proprietar LVM de la IBM , HP-UX sau Veritas Enterprise (VxVM) sub HP-UX și Solaris .

LVM2

Comenzile obișnuite LVM2

Înainte de a utiliza LVM, trebuie să partiționați discurile (consultați Instrumentele de partiționare ) în tip LVM.

Atunci,

Exemple concrete de utilizare Schimbarea unui disc defect

Serverul dvs. Linux conține două unități de hard disk care partajează un volum comun de grup numit aici henryvg (LVM): unul, numit A, nativ de 40  GB cu achiziționarea computerului, celălalt, B, 80  GB achiziționat din necesitatea de spațiu. Prin achiziționarea acestui nou disc, ați creat cel puțin o partiție mare de tipul "8th - Managementul prin volume logice"; să fie / dev / hdb6 numele său. La fel ca partiția / dev / hda6 de pe unitatea A, această partiție hdb6 a fost încorporată (la achiziționarea celei de-a doua unități) în volumul grup henryvg .

Una dintre cele două unități arată semne de eșec și o comandă fscka creat în mod repetat un fișier pierdut + găsit pe unul sau mai multe volume logice. Prin urmare, unul dintre discurile dvs. este defect; nucleul trebuie să fi indicat într-un fișier de avertismente (de exemplu sub / var / log / kernel) care este discul, hda sau hdb. Să presupunem că discul B trebuie înlocuit cu un disc de cel puțin aceeași dimensiune, numit C.

Avantajul „gestionării prin volume logice” constă în faptul că timpul de deconectare a serverului poate fi minim . Se poate aplica următoarea procedură:

  • faceți o copie de rezervă a partițiilor serverului dvs. (dacă aveți o întrerupere a curentului în timpul operației, s-ar putea să vă fie jenat);
  • opriți computerul, apoi adăugați noul și al treilea disc C, de exemplu pe cablul DVD;
  • porniți din nou serverul (va fi din nou operațional pe toată durata operației), apoi creați una sau mai multe partiții pe / dev / hdc într-o formă similară cu cele de pe discul / dev / hdb eșuat. Fie / dev / hdc6 fi partiția mare de tip 8e - LVM . Comenzile pentru lvm2 sub root sunt apoi următoarele (multe distribuții curente au redenumit lvm2 în lvm), secvența și parametrii rămânând aceiași):
  1. lvm2 pvcreate /dev/hdc6 # astfel încât să creați un descriptor de grup de volume în capul partiției / dev / hdc6;
  2. lvm2 vgextend henryvg /dev/hdc6# astfel încât să încorporeze partiția fizică hdc6 în grupul de volume henryvg  ;
  3. lvm2 pvmove /dev/hdb6 /dev/hdc6 # astfel încât să mutați conținutul „discului fizic” B (și în toate volumele logice create pe serverul dvs. cum ar fi / usr, / var, / home etc.) pe celelalte discuri A și C. Acest pas poate fi lung în în funcție de dimensiunea discului, 45 de minute pentru 40 GB de exemplu;
  4. lvm2 vgreduce henryvg /dev/hdb6# astfel încât să eliminați discul B din gestionarea LVM (hryvn). Opțiunea --removemissing ar trebui utilizată numai dacă partiția / dev / hda6 a fost eliminată. În acest caz nu trebuie să menționați / dev / hda6 pe linia de comandă;
  5. lvm2 pvremove /dev/hdb6 # pentru a elimina / dev / hdb6 din structura henryvg (altfel va rămâne disponibil);
  6. discul B poate fi apoi eliminat la o repornire ulterioară. Discul C va fi apoi pus în locul discului defect B (același loc pe fața de masă, de exemplu, aceeași setare) înainte de a reporni computerul. Într-adevăr, întreaga configurație fiind transferată în C, serverul va funcționa identic fără nicio altă intervenție;
  7. va fi totuși recomandabil să restaurați fișierele care au fost deteriorate de discul defect și care se află în directorul pierdut + găsit al fiecăruia dintre volumele logice (partiții din vechiul jargon).
Creșterea dimensiunii unui sistem de fișiere fierbinte

Cu cele mai recente nuclee Linux (cel puțin 2.6.22), este posibil să încălziți dimensiunea unui sistem de fișiere, fără a-l demonta chiar (cel puțin pentru unele sisteme de fișiere). Așa că lăsați un volum logic de nume /dev/henryvg/homelvmontat pe /home. Comanda df( fără disc ) vă oferă dimensiunea curentă:

df -BG /home Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur /dev/mapper/henryvg-homelv 25G 20G 3,7G 85% /home

Rețineți că este obișnuit pe unele sisteme ca un cartograf să realoceze / dev / henryvg / homelv către / dev / mapper / henryvg-homelv, dar acestea sunt aceleași nume. Vrem să mărim sistemul de fișiere de la 25 GB la 30  GB . Verificăm spațiul disponibil pe discuri (în acest exemplu, există două discuri fizice „PV”, dar un singur grup de volume „VG”) folosind una dintre cele două comenzi complementare:

# lvm2 pvs PV VG Fmt Attr PSize PFree /dev/sda6 henryvg lvm2 a-- 70,47g 41,63g /dev/sdb6 henryvg lvm2 a-- 70,47g 15,89g # lvm2 vgs VG #PV #LV #SN Attr VSize VFree henryvg 2 9 0 wz--n- 140,95g 57,52g

Mai întâi trebuie să măriți dimensiunea volumului logic (LV) cu comanda:

lvm2 lvextend -L30G /dev/henryvg/homelv

Și în al doilea rând, creșteți dimensiunea sistemului de fișiere în sine. Dacă este un sistem de fișiere ext3 , comanda este:

resize2fs -p /dev/henryvg/homelv

și dacă este un sistem de fișiere XFS , partiția trebuie montată (aici pe / acasă) și comanda este:

xfs_growfs /home

Dimensiunea se va regla automat la cea a volumului logic.

Micșorarea unei partiții

Mai întâi trebuie să reduceți dimensiunea sistemului de fișiere înainte de volumul logic. În funcție de sistemul de fișiere, poate fi necesar să demontați acest sistem de fișiere (Ext3). Uneori acest lucru nu este posibil deoarece este ocupat de procese (caz de /, / usr). În general, este mai rapid să utilizați un disc de boot Linux, cum ar fi Knoppix sau un Mandriva (în acest din urmă caz ​​trebuie să mergeți la etapa unei noi instalări și să solicitați partiționare manuală) care încarcă modulele lvm. Odată ce acest sistem de fișiere a fost demontat și pentru a reduce un volum logic de /dev/henryvg/homelvla 30  GB la 25  GB , trebuie să aplicați comanda:

resize2fs -p /dev/henryvg/homelv 25G

Trebuie să dezactivați înainte de reducere (evită pierderea datelor):

lvchange -an /dev/henryvg/homelv

Apoi, trebuie să reduceți volumul logic cu comanda (rețineți că trebuie să specificați dimensiunea):

lvm2 lvreduce -L25G /dev/henryvg/homelv

Și activați:

lvchange -ay /dev/henryvg/homelv

Dacă totul merge bine, putem monta partiția folosind comanda:

mount -t ext3 /dev/henryvg/homelv /home

Evident, ca măsură de precauție, trebuie să aveți copii de rezervă ale datelor dvs. înainte de a începe acest tip de operațiune. Ca măsură de precauție, uneori poate fi practic să micșorați mai mult sistemul de fișiere (de ex. 24G în loc de 25G), să reduceți dimensiunea volumului logic și apoi să re-extindeți sistemul de fișiere la dimensiunea exactă a noului volum logic pentru a evita neconcordanțele de spațiu între sistemul de fișiere și volumul logic.

Fișiere de configurare

  • lvmtab (creat inițial de comanda vgscan ).
  • lvm.conf

Variat

Identificatorul unei partiții utilizate ca volum fizic este 0x8E (hexazecimal) pe Linux și unele sisteme UNIX.

Note

linkuri externe