Gestionarea spațiului pe disc cu LVM
Articolul descrie cum se creează un server de fișiere utilizând LVM (cu RAID și fără RAID). Sunt luate în considerare problemele legate de extinderea spațiului pe disc, înlocuirea discurilor, alegerea sistemului de fișiere.
[Bryce Harrington și Kees Cook. Traducere: Mikhail Sgibnev (www.dreamcatcher.ru)]
Gestionarea spațiului pe disc cu LVM
Traducere: Sgibnev Mihail
Managerul de volum Logical Volume Manager (LVM) este mecanismul de virtualizare a discurilor. Acesta vă permite să creați partiții "virtuale" pe unul sau mai multe hard discuri, care în viitor pot fi mărite, reduse sau mutate de la disc la disc în funcție de nevoile dvs. De asemenea, există o oportunitate de a depăși limitarea dimensiunii partiției, impusă de dimensiunea hard disk-ului.
Acest articol se ocupă mai întâi de un server de fișiere entry-level, apoi facem câteva modificări, adăugând redundanță cu RAID 1. De asemenea, vom analiza aspecte legate de utilizarea LVM pentru utilizatorii de acasă.
Instalați LVM
Sistemul LVM include o componentă de kernel care gestionează sistemul de fișiere și utilitățile utilizatorului. Pentru a activa componenta kernelului, setați următoarele opțiuni:Elementele de bază ale LVM
Pentru a utiliza LVM, trebuie să înțelegeți câteva puncte. Aici aveți hard disk-urile. Spațiul de pe aceste dispozitive este tăiat în partiții. În cele din urmă, sistemul de fișiere este scris pe lângă aceste partiții. Pentru comparație, în LVM, grupurile de volume (VG) sunt împărțite în volume logice (LV), unde sistemele de fișiere sunt situate în cele din urmă (Figura 1).
Fiecare VG este alcătuită dintr-un grup de Volume Fizice (PVs). Puteți extinde (sau reduce) dimensiunea grupurilor de volume, adăugând sau eliminând câte PV-uri doriți, dacă există suficiente PV pentru a stoca conținutul tuturor LV-urilor alocate. Atâta timp cât există spațiu disponibil în VG, puteți mări sau micșora dimensiunea volumelor logice (deși majoritatea sistemelor de fișiere nu-i plac să se micșoreze).
Exemplu: un server de fișiere simplu
Un exemplu simplu de utilizare a LVM este un server de fișiere tradițional care stochează copii de rezervă, fișiere media și fișiere partajate pentru computerele mai multor membri ai familiei. Flexibilitatea este o cerință cheie; cine știe ce cerințe pentru volumele de discuri va veni anul viitor?
De exemplu, următoarele cerințe pentru secțiunile:În mod tradițional, serverul de fișiere utilizează unități SCSI, dar astăzi unitățile SATA oferă un raport atractiv de viteză și preț redus. La momentul acestei scrieri, unitățile SATA la 250GB sunt la prețul de aproximativ 100 $, deci costul per terabyte este de aproximativ 400 $.
Discurile SATA nu se numesc clasificarea ATA (hda, hdb), ci SCSI (sda, sdb). Odată ce sistemul nostru este pornit cu suport SATA, vom avea patru dispozitive fizice gata de utilizat:Crearea unui volum virtual
Acum aveți mai multe volume logice numite clar:Selectarea unui sistem de fișiere
Acum, că dispozitivele sunt create, trebuie să creați sisteme de fișiere, dintre care există foarte multe. Pe ce să-ți oprești ochii strălucitori?
Sistemele tipice pentru fișiere desktop sunt ext2 și ext3. Ext2 a fost standardul, fiabil pentru Linux, în ultimii ani. Ext3 este o extensie ext2 care suportă jurnalizarea și mecanismele îmbunătățite de failover. Echilibrul dintre ext3 în termeni de performanță, fiabilitate și viteză de recuperare îl face o alegere excelentă pentru sistemele cu scop general. Deoarece ext2 și ext3 au fost sistemele de fișiere implicite pentru o lungă perioadă de timp, ext3 ar fi o alegere bună dacă doriți să obțineți mai multă fiabilitate. Pentru a stoca copii de rezervă, fiabilitatea este mult mai importantă decât viteza. Principalul dezavantaj al ext2 / ext3 este că, pentru a crește (reduce) FS, este necesar să-l demontați.
Cu toate acestea, alte sisteme de fișiere oferă anumite avantaje în anumite situații, de exemplu, cu dimensiuni mari de fișiere, un număr mare de fișiere sau arbitrare a sistemului de fișiere. Deoarece utilizarea principală a LVM este pentru scripturi, atunci când aveți nevoie de un număr critic de fișiere, fișiere extrem de mari și / sau de necesitatea redimensionării sistemelor de fișiere, luați în considerare alte sisteme de fișiere.
Pentru o mulțime de fișiere mici, ReiserFS este o alegere excelentă. Pentru streaming, I / O necuprinse, acest FS ia liniile de sus ale testelor și poate fi mai multe ordine de mărime mai rapidă decât ext3. Cu toate acestea, din punct de vedere istoric, nu a fost la fel de stabil ca ext3. Această concluzie se face pe baza unor date destul de depășite, poate că acum situația sa schimbat, dar reziduurile neplăcute au rămas.
Prin urmare, luând în considerare toate acestea:montare
În cele din urmă, pentru a monta sistemele de fișiere, adăugați următoarele linii în / etc / fstab:Adăugarea de redundanță cu RAID
În timpul utilizării LVM totul este destul de simplu. Cu toate acestea, există un dezavantaj major: dacă unul dintre discuri eșuează, datele dvs. vor fi în pericol. Este foarte dificil să creați o copie de rezervă pentru o jumătate de terabyte de date.
Pentru a compensa acest risc, trebuie să adăugați redundanță folosind RAID 1. RAID (Redundant Array of Independent Disks) este o tehnologie de nivel scăzut pentru combinarea discurilor în diferite moduri (nivele). RAID 1 reflectă date pe două (sau mai multe) discuri. Pe lângă îmbunătățirea fiabilității, utilizarea RAID 1 crește performanța, deoarece discurile conțin date identice, iar operațiile de citire / scriere pot fi partajate între ele.
Din păcate, această metodă are un cost ridicat, deoarece reduce volumul discului la jumătate. Vestea bună este că jumătate de terabyte este suficient pentru noi, iar LVM este suficient de flexibil pentru a adăuga discuri dacă este necesar în viitor.
RAID 5, cu patru discuri, un calico complet diferit. Acesta vă permite să restaurați o parte din spațiul de pe disc, dar adaugă complexitatea de utilizat. În plus, prezentând performanțe bune în operațiile de citire, acest tip de pierde mult în operațiile de înregistrare. Deoarece drive-urile sunt acum destul de ieftine, nu ar trebui să suferiți pentru beneficiile RAID 5.
Deși ar fi logic să începeți imediat instalarea sistemului folosind RAID, am așteptat să demonstram cum să migrăm de la discuri obișnuite la RAID fără a dezmembra sistemele de fișiere.
Acum vom îmbina cele patru discuri în două perechi de RAID 1: / dev / sda + / dev / sdd și / dev / sdb + / dev / sdc. Motivul pentru această combinație specifică este că sda și sdd sunt primul și al doilea disc pe controlere diferite; prin urmare, în cazul unei defecțiuni a controlerului, puteți accesa cele două discuri de pe controlerul rămas. Atunci când se utilizează astfel de perechi, vitezele de acces relativ sunt echilibrate, astfel încât nici un tip RAID să nu fie mai lent decât celălalt. De asemenea, este posibil să se mărească performanța de la distribuția operațiilor de citire / scriere între două controale.
Mai întâi, scoateți două discuri SATA (sdb și sdd) de la datavg VG:Accesul la fișiere prin rețea
Utilizarea serverului de fișiere este discutabilă dacă nu puteți accesa cu ușurință fișierele. Există multe modalități de a face acest lucru, dar cel mai des întâlnit este sistemul de fișiere de rețea (NFS). NFS permite altor mașini * nix să monteze resurse partajate pentru utilizare directă, în plus, este foarte ușor de configurat în Linux.
Mai întâi, asigurați-vă că NFS este activat pe serverul de fișiere (în acest exemplu, 2.6.15):Strategia de creare a fișierelor de rezervă
Când utilizați LVM, pot apărea probleme de rezervă. Utilizarea RAID protejează împotriva defecțiunilor pe disc, dar această tehnologie este lipsită de apărare împotriva incendiilor, furtului sau ștergerii accidentale a fișierelor.
În mod tradițional, pentru unitățile din această clasă este utilizată o bandă. Această tehnologie este în continuare viabilă și are anumite avantaje, dar poate fi costisitoare și lentă pentru un sistem de această dimensiune. Din fericire, există mai multe tehnologii moderne.
rsync este un utilitar puternic pentru copierea fișierelor de la un sistem la altul și funcționează destul de bine pe Internet. Puteți instala un sistem de backup în compania unui prieten într-un alt oraș și puteți trimite periodic copii de rezervă acolo. Acest lucru se poate face cu cronjob:Extindere și redistribuire
Să presupunem că în anul următor veți avea nevoie de volume suplimentare de memorie pe disc. Inițial, puteți utiliza spațiul rezervat, de exemplu, pentru a extinde spațiul pentru fișiere partajate de la 10GB la 15GB, executați următoarea comandă:LVM și stația de lucru
În timp ce am vorbit despre utilizarea LVM și RAID pentru a gestiona spațiul pe disc al serverului de fișiere, dar ce se întâmplă dacă doriți să instalați LVM pe mașina dvs. de producție? Acest lucru se poate face, dar merită luate în considerare câteva aspecte.
Mai întâi, unele distribuții Linux nu suportă RAID sau LVM în timpul fazei de instalare sau de actualizare, ceea ce poate provoca neplăceri. Merită să acordați atenție acestui lucru.
În al doilea rând, având un sistem de fișiere rădăcină pe LVM poate face mai dificilă recuperarea sistemelor de fișiere deteriorate. Deoarece încărcătoarele nu acceptă LVM, partiția / boot nu ar trebui să fie LVM (deși poate fi pe un dispozitiv RAID 1).
În al treilea rând, aveți nevoie de spațiu liber pe disc pentru noua partiție LVM. Dacă nu aveți unul, încercați să tăiați partiția rădăcină, așa cum este descris în HOWTO LVM.
În acest exemplu, vom examina situația în care aveți swap și / boot pe partițiile proprii, în afara LVM. Vom concentra asupra modului de a muta partiția rădăcină în interiorul partiției LVM din / dev / hda4. Verificați dacă tipul de sistem de fișiere de pe hda4 este LVM (tip 8e).
Inițializați LVM și creați un nou volum fizic:Cel mai dificil lucru este de a reconstrui initrd-ul pentru a permite suportul LVM. Acest proces depinde foarte mult de distribuție, de exemplu, mkinitrd sau yaird. Imaginea dvs. initrd trebuie să încarce modulul LVM, altfel sistemul de fișiere rădăcină nu va fi disponibil. În caz contrar, salvați imaginea initrd și creați unul nou cu alt nume, de exemplu /boot/initrd-lvm.img.
În cele din urmă, actualizați încărcătorul de încărcare. Adăugați o nouă partiție pentru noul sistem de fișiere rădăcină, duplicând linia de pornire veche. În linia nouă, modificați rădăcina de la / dev / hda3 la / dev / rootvg / rootlv și înlocuiți initrd cu unul nou. Dacă utilizați Lilo, asigurați-vă că lilo rulați de îndată ce faceți modificările. De exemplu, cu grub vom avea:concluzie
LVM este una dintre numeroasele tehnologii Linux disponibile utilizatorilor. LVM permite o mai mare flexibilitate în gestionarea spațiului pe disc și combinat cu RAID 1, NFS și o strategie bună de backup poate oferi o modalitate de a păstra și a împărtăși orice număr de fișiere.
Bryce Harrington și Kees Cook. Traducere: Sgibnev Mikhail (www.dreamcatcher.ru) - Managementul spațiului pe disc cu versiunea LVM Print