LVM

Linux.fista
Versio hetkellä 9. syyskuuta 2011 kello 12.11 – tehnyt Maakuth (keskustelu | muokkaukset) (peruskäsitteistä lisää)
Siirry navigaatioon Siirry hakuun

LVM eli Logical Volume Manager on Linuxin ytimen loogisten taltioiden hallintakomponentti. Sen avulla järjestelmän tallennuslaitteet näkyvät abstraktimpina kokonaisuuksina, taltioryhminä (volume groups) ja loogisina taltioina (logical volumes). Näiden kokoja voidaan muutella liittämällä niihin lisää fyysisiä taltioita tai poistamalla vanhoja tai muokkaamalla loogisten taltioiden kokoja suhteessa toisiinsa.

Looginen taltiohallinta (engl. Logical Volume Management, LVM) mahdollistaa massamuistilaitteiden tallennustilan varaamisen joustavammin kuin perinteiset osiointitavat. Joustavuus saavutetaan erottamalla fyysiset tallennuslaitteistot ja niiden osiointi toisistaan loogisesti.

Perinteisessä osioinnissa osiot luodaan suoraan tietylle laitteelle. Osio voi olla korkeintaan yhden laitteen kokoinen, jolloin se täyttää koko laitteen. Osioiden muutokset edellyttävät aina laitteiston fyysisten rajoitusten huomiointia. Esimerkiksi osion suurentaminen onnistuu vain, jos välittömästi sen vieressä samalla laitteella on käytettävissä vapaata tilaa. Useimmiten vapaan tilan järjestäminen edellyttäisi myös viereisten osioiden siirtämistä, muuttamista tai poistamista. Käytännössä muutosten tekeminen voi osoittautua niin monimutkaiseksi ja riskialttiiksi, että mieluummin niitä ei tehdä vaikka tarvettakin ilmenisi. Hankitaan mieluummin uusi tallennuslaite, osioidaan se uusiksi ja siirretään tiedot erikseen.

Loogisessa taltiohallinnassa yksi tai useampia laitteita (Physical Volume, PV) kootaan ensin taltioryhmäksi (Volume Group, VG), jota voidaan sitten osioida joustavasti. Osioita eli loogisia taltioita (Logical Volume, LV) voidaan myös muuttaa varsin helposti kunhan taltioryhmässä on riittävästi tilaa käytettävissä. Osioinnissa ei tarvitse välittää fyysisten laitteiden rajoituksista. Rajana on vain taltioryhmän kokonaiskapasiteetti. Sitäkin voidaan tarvittaessa kasvattaa lisäämällä ryhmään uusia laitteita. Osioiden koko ja muoto määritellään yksinkertaisesti niiden käyttötarpeen mukaan. Näin tallennustilan tarjoaminen ja sen varaaminen on loogisesti erotettu toisistaan. Kunhan käytettävillä laitteilla on riittävästi tilaa ja tiedät paljonko haluat milloinkin varata mihinkin tarkoitukseen, voit jättää yksityiskohdat loogisen taltiohallinnan ratkaistavaksi.

Taltioryhmään liitettyjä fyysisiä laitteita voidaan vaihtaa sen osiointia häiritsemättä. Kunhan taltioryhmässä on aina riittävästi kapasiteettia, siihen liitettyjä laitteita (fyysisiä taltioita) ja siltä varattuja osioita (loogisia taltioita) voidaan vapaasti konfiguroida uudelleen toisistaan riippumatta. Uusia laitteita voidaan lisätä ja alkuperäiset vaikka poistaa ilman, että se vaikuttaa taltioryhmän osiointiin mitenkään.

LVM:n peruskäsitteitä

PV eli Physical Volume

PV:t ovat LVM:n fyysisellä tasolla olevia olioita. Käytännössä PV on siis fyysinen tallennusmedia, johon LVM:n hallinnoimat tiedot loppukädessä tallennetaan. Tyyppiesimerkkejä PV:istä ovat osiot, RAID-laitteet, ym. Järjestelmän tuntemat PV:t voi listata komennolla pvs. Kyseisen komennon tuloste näyttää jotakuinkin tältä (esimerkkijärjestelmässä on vain yksi PV, RAID-laite md1):

 PV         VG     Fmt  Attr PSize PFree
 /dev/md1   datat  lvm2 a-   5.46t    0

LV eli Logical Volume

LV on varsinainen dataa sisältävä taltio jolla käytetään jotakin tiedostojärjestelmää, vaikkapa Ext4ää tai XFS:ää. LV:n kokoa voi muuttaa ajonaikaisesti. Järjestelmän tuntemat LV:t voi listata komennolla lvs - esimerkkituloste tässä:

 LV     VG     Attr   LSize Origin Snap%  Move Log Copy%  Convert
 juuri  datat  -wi-ao 5.46t

VG eli Volume Group

VG on abstraktio fyysisten ja loogisten taltioiden (PV:iden ja LV:iden) välille. VG ottaa käyttöönsä yhdestä usempaan fyysistä tallennusmediaa (PV:tä) ja tarjoilee sen päällä oleville loogisille taltioille mukavan elinympäristön. VG:n sisällä olevien taltioiden kokoja voi muutella dynaamisesti. Järjestelmän tuntemat VG:t voi listata komennolla vgs, esimerkkituloste:

 VG     #PV #LV #SN Attr   VSize VFree
 datat    1   1   0 wz--n- 5.46t    0

Katso myös

Aiheesta muualla