Thin Provisioning Volume -määritykset Loogisessa Volume Managementissa (LVM) - Osa IV


Loogisessa volyymin hallinnassa on upeita ominaisuuksia, kuten tilannekuvia ja Thin Provisioning. Aiemmin (Osa – III) olemme nähneet, kuinka looginen tilavuus voidaan ottaa. Tässä artikkelissa aiomme nähdä, kuinka ohuita provisioning-taltioita määritetään LVM:ssä.

Mitä on Thin Provisioning?

Thin Provisioningia käytetään lvm:ssä virtuaalisten levyjen luomiseen ohuen poolin sisällä. Oletetaan, että palvelimellani on 15 Gt tallennuskapasiteettia. Minulla on jo 2 asiakasta, joilla kullakin on 5 Gt tallennustilaa. Olet kolmas asiakas, pyysit 5 Gt tallennustilaa. Tuolloin meillä oli tapana tarjota koko 5 Gt (paksu tallennustila), mutta voit käyttää 2 Gt tästä 5 Gt: sta ja 3 Gt on ilmaista, jonka voit täyttää myöhemmin.

Mutta se, mitä teemme ohuessa provisioinnissa, on se, että määritämme ohuen joukon suuren volyymin ryhmän sisällä ja ohuita tilavuuksia tuon ohuen poolin sisällä. Joten kaikki kirjoittamasi tiedostot tallennetaan ja tallennustilasi näytetään 5 Gt:na. Mutta koko 5 Gt ei varaa koko levyä. Sama prosessi tehdään myös muille asiakkaille. Kuten sanoin, asiakkaita on 2 ja sinä olet minun kolmas asiakkaani.

Oletetaan siis, kuinka paljon yhteensä Gt olen varannut asiakkaille? Täysin 15 Gt oli jo valmis, jos joku tulee luokseni ja pyytää 5 Gt, voinko antaa? Vastaus on "Kyllä", tässä ohuessa hallinnassa voin antaa 5 Gt 4. asiakkaalle, vaikka olen määrittänyt 15 Gt.

Varoitus: 15 Gt:sta alkaen, jos tarjoamme yli 15 Gt:a, sitä kutsutaan Overprovisioningiksi.

Kuinka se toimii? ja Kuinka tarjoamme tallennustilaa uusille asiakkaille?

Olen antanut sinulle 5 Gt, mutta voit käyttää vain 2 Gt ja muut 3 Gt ovat ilmaisia. Thick Provisioningissa emme voi tehdä tätä, koska se varaa koko tilan aluksi itse.

Ohuessa provisiossa, jos määritän sinulle 5 Gt, se ei varaa koko levytilaa määritettäessä taltiota, vaan se kasvaa 5 Gt:iin kirjoittamiesi tietojen mukaan. Toivottavasti sait sen! Kuten sinä, myös muut asiakkaat eivät käytä kaikkia levyjä, joten on mahdollisuus lisätä 5 Gt uuteen asiakkaaseen, tätä kutsutaan yli Provisioning.

Mutta jokaista volyymin kasvua on seurattava pakollista, jos ei, se päätyy katastrofiin. Jos kaikki 4 asiakasta kirjoittavat tiedot huonosti levylle, voi kohdata ongelma, koska se täyttää 15 Gt:n ja vuotaa yli, jolloin taltiot pudotetaan.

Vaatimukset

  1. Luo levytallennus LVM:llä Linuxissa – OSA 1
  2. LVM:ien laajentaminen/vähentäminen Linuxissa – Osa II
  3. Loogisen äänenvoimakkuuden tilannekuvan luominen/palauttaminen LVM:ssä – Osa III
Oma palvelin -asetukset
  1. Käyttöjärjestelmä – CentOS 6.5 LVM-asennuksella
  2. Palvelimen IP - 192.168.0.200

Vaihe 1: Aseta ohut allas ja volyymit

Tehdään se käytännössä kuinka ohut allas ja ohuet tilavuudet asetetaan. Ensin tarvitsemme suuren volyymiryhmän. Tässä luon Volume-ryhmän, jossa on 15 Gt esittelytarkoituksessa. Listaa nyt taltioryhmä käyttämällä alla olevaa komentoa.

vgcreate -s 32M vg_thin /dev/sdb1

Tarkista seuraavaksi Loogisen aseman saatavuuden koko ennen ohuen poolin ja taltioiden luomista.

vgs
lvs

Voimme nähdä, että tiedostojärjestelmälle on vain oletusarvoisia loogisia asemia ja swap on läsnä yllä olevassa lvs-lähdössä.

Ohuen altaan luominen

Voit luoda Thin poolin 15 Gt:lle taltioryhmässä (vg_thin) käyttämällä seuraavaa komentoa.

lvcreate -L 15G --thinpool tp_tecmint_pool vg_thin
  1. -L – tilavuusryhmän koko
  2. –thinpool – Thinpoolin luominen
  3. tp_tecmint_pool – Ohut altaan nimi
  4. vg_thin – Volyymiryhmän nimi, jota tarvitsemme poolin luomiseen

Saadaksemme lisätietoja voimme käyttää komentoa "lvdisplay".

lvdisplay vg_thin/tp_tecmint_pool

Tässä emme ole luoneet virtuaalisia ohuita volyymejä tähän ohueen pooliin. Kuvassa näemme allokoidun poolin datan 0,00 %.

Ohuiden volyymien luominen

Nyt voimme määrittää ohuita tilavuuksia ohuen poolin sisällä komennolla "lvcreate" valinnalla -V (Virtual).

lvcreate -V 5G --thin -n thin_vol_client1 vg_thin/tp_tecmint_pool

Olen luonut Thin-virtuaalitaltion, jonka nimi on thin_vol_client1, tp_tecmint_pool-taltioryhmässäni vg_thin. Listaa nyt loogiset taltiot käyttämällä alla olevaa komentoa.

lvs 

Olemme juuri luoneet yllä olevan ohuen volyymin, minkä vuoksi meillä ei ole tietoja, jotka osoittaisivat 0,00 %M.

Selvä, haluan luoda 2 ohutta volyymia lisää kahdelle muulle asiakkaalle. Tässä näet nyt, että altaan alle on luotu 3 ohutta levyä (tp_tecmint_pool). Joten tästä pisteestä lähtien saimme tietää, että olen käyttänyt kaiken 15 Gt:n.

Tiedostojärjestelmän luominen

Luo nyt liitoskohdat ja liitä nämä kolme ohutta taltiota ja kopioi siihen joitain tiedostoja alla olevien komentojen avulla.

mkdir -p /mnt/client1 /mnt/client2 /mnt/client3

Listaa luodut hakemistot.

ls -l /mnt/

Luo tiedostojärjestelmä näille luoduille ohuille taltioille "mkfs"-komennolla.

mkfs.ext4 /dev/vg_thin/thin_vol_client1 && mkfs.ext4 /dev/vg_thin/thin_vol_client2 && mkfs.ext4 /dev/vg_thin/thin_vol_client3

Liitä kaikki kolme asiakaslevyä luotuun liitoskohtaan "mount"-komennolla.

mount /dev/vg_thin/thin_vol_client1 /mnt/client1/ && mount /dev/vg_thin/thin_vol_client2 /mnt/client2/ && mount /dev/vg_thin/thin_vol_client3 /mnt/client3/

Listaa liitoskohdat df-komennolla.

df -h

Täällä voimme nähdä, että kaikki 3 asiakaslevyä on asennettu, ja siksi vain 3 % tiedoista käytetään jokaisessa asiakaslevyssä. Joten, lisätään vielä tiedostoja kaikkiin kolmeen kiinnityspisteeseen työpöydältäni tilan täyttämiseksi.

Listaa nyt liitoskohta ja katso jokaisessa ohuessa taltiossa käytetty tila ja luettele ohut pooli nähdäksesi poolissa käytetyn koon.

df -h
lvdisplay vg_thin/tp_tecmint_pool

Yllä oleva komento näyttää kolme kiinnityspinttiä ja niiden koot prosentteina.

13% of datas used out of 5GB for client1
29% of datas used out of 5GB for client2
49% of datas used out of 5GB for client3

Tarkasteltaessamme ohutta poolia voimme nähdä, että vain 30 % tiedoista on kirjoitettu kokonaan. Tämä on yhteensä edellä kolme asiakkaan virtuaalista määrää.

Ylitarjonta

Nyt 4. asiakas tuli luokseni ja pyysi 5 Gt tallennustilaa. Voinko antaa? Koska olin jo antanut 15GB Poolin kolmelle asiakkaalle. Onko mahdollista antaa 5 Gt lisää toiselle asiakkaalle? Kyllä on mahdollista antaa. Tällöin käytämme Over Provisioningia, mikä tarkoittaa, että annamme tilaa enemmän kuin mitä minulla on.

Anna minun luoda 5 Gt neljännelle asiakkaalle ja tarkistaa koko.

lvcreate -V 5G --thin -n thin_vol_client4 vg_thin/tp_tecmint_pool
lvs

Minulla on vain 15 Gt kokoa poolissa, mutta olen luonut 4 taltiota thin-pooliin 20 Gt asti. Jos kaikki neljä asiakasta alkavat kirjoittaa dataa volyymiinsa saadakseen vauhtia täyteen, kohtaamme tuolloin kriittisen tilanteen, jos ei, ei ole ongelmaa.

Nyt olen luonut tiedostojärjestelmän kohteessa thin_vol_client4, liittänyt sen sitten hakemistoon /mnt/client4 ja kopioinut joitakin tiedostoja siihen.

lvs

Yllä olevasta kuvasta näkyy, että äskettäin luodussa asiakasohjelmassa 4 käytetty kokonaiskoko on 89,34 % asti ja ohuen poolin koko 59,19 %. Jos kaikki nämä käyttäjät eivät kirjoita huonosti talteen, se on vapaa ylivuodosta, pudota. Ylivuodon välttämiseksi meidän on laajennettava ohuen altaan kokoa.

Tärkeää: Thin-poolit ovat vain looginen tilavuus, joten jos meidän on laajennettava ohuen altaan kokoa, voimme käyttää samaa komentoa, kuten olemme käyttäneet loogisten volyymien laajuus, mutta emme voi pienentää ohuen poolin kokoa.

lvextend

Tässä näemme, kuinka loogista ohutta poolia (tp_tecmint_pool) laajennetaan.

lvextend -L +15G /dev/vg_thin/tp_tecmint_pool

Listaa seuraavaksi ohuen altaan koko.

lvs

Aikaisemmin tp_tecmint_poolin koko oli 15 Gt ja 4 ohutta taltiota, mikä ylitti Provisionin 20 Gt. Nyt se on laajentunut 30 Gt:ksi, joten ylimääräinen provisiointimme on normalisoitu ja ohuissa volyymeissa ei ole ylivuotoa, pudotusta. Näin voit lisätä altaaseen entistä ohuempia tilavuuksia.

Tässä olemme nähneet, kuinka luodaan ohut pooli käyttämällä suurta volyymiryhmää ja luodaan ohuita volyymeja ohuen poolin sisällä käyttämällä Over-Provisioningia ja laajentamalla poolia. Seuraavassa artikkelissa näemme kuinka lvm Striping määritetään.