Vyhledávání na webu

Nastavení tenkých svazků ve správě logických svazků (LVM) – část IV


Správa logických svazků má skvělé funkce, jako jsou snímky a Thin Provisioning. Dříve v (část – III) jsme viděli, jak vytvořit snímek logického svazku. Zde v tomto článku se podíváme na to, jak nastavit tenké svazky Provisioning v LVM.

Co je Thin Provisioning?

Thin Provisioning se v lvm používá k vytváření virtuálních disků uvnitř tenkého fondu. Předpokládejme, že mám na svém serveru úložnou kapacitu 15 GB. Už mám 2 klienty, kteří mají každý 5GB úložiště. Jste třetí klient, požádali jste o 5GB úložiště. Tehdy jsme zvyklí poskytovat celých 5 GB (silný svazek), ale můžete použít 2 GB z tohoto 5 GB úložiště a 3 GB budou volné, které můžete později doplnit.

Ale to, co děláme v Thin Provisioning, je, že používáme k definování tenkého fondu uvnitř jedné ze skupiny velkých objemů a definování tenkých objemů uvnitř tohoto tenkého fondu. Takže všechny soubory, které zapíšete, budou uloženy a vaše úložiště se zobrazí jako 5 GB. Plných 5GB ale nepřidělí celý disk. Stejný proces bude proveden i pro ostatní klienty. Jak jsem řekl, jsou zde 2 klienti a vy jste můj 3. klient.

Předpokládejme tedy, kolik celkových GB jsem přidělil klientům? Celkem 15 GB již bylo dokončeno. Pokud za mnou někdo přijde a požádá o 5 GB, mohu dát? Odpověď je „Ano“, zde v tenkém Provisioningu mohu dát 5 GB pro 4. klienta, i když mám přiděleno 15 GB.

Upozornění: Od 15 GB, pokud zřizujeme více než 15 GB, se nazývá Over Provisioning.

Jak to funguje? a Jak poskytujeme úložiště novým klientům?

Poskytl jsem vám 5 GB, ale můžete použít pouze 2 GB a další 3 GB budou zdarma. V Thick Provisioning to nemůžeme udělat, protože to nejprve alokuje celý prostor samo.

V tenkém poskytování, pokud pro vás definuji 5 GB, nebude při definování svazku alokováno celé místo na disku, ale naroste až na 5 GB podle vašeho zápisu dat, doufám, že to máte! stejně jako vy ostatní klienti také nevyužijí plné svazky, takže bude mít možnost přidat 5 GB novému klientovi, tomu se říká over Provisioning.

Je však povinné sledovat každý růst objemu, pokud ne, skončí to katastrofou. I když se provádí over Provisioning, pokud všichni 4 klienti zapisují data na disk špatně, můžete čelit problému, protože zaplní vašich 15 GB a přeteče, aby došlo k poklesu svazků.

Požadavky

  1. Vytvoření diskového úložiště pomocí LVM v Linuxu – ČÁST 1
  2. Jak rozšířit/zmenšit LVM v Linuxu – část II
  3. Jak vytvořit/obnovit snímek logického svazku v LVM – část III
Nastavení mého serveru
  1. Operační systém – CentOS 6.5 s instalací LVM
  2. IP serveru – 192.168.0.200

Krok 1: Nastavte tenký bazén a svazky

Udělejme to prakticky, jak nastavit tenký bazén a tenké objemy. Nejprve potřebujeme velkou velikost skupiny svazků. Zde vytvářím skupinu svazků s 15 GB pro účely demonstrace. Nyní vypište skupinu svazků pomocí níže uvedeného příkazu.

vgcreate -s 32M vg_thin /dev/sdb1

Dále před vytvořením tenkého fondu a svazků zkontrolujte velikost dostupnosti logického svazku.

vgs
lvs

Vidíme, že pro souborový systém existují pouze výchozí logické svazky a ve výše uvedeném výstupu lvs je přítomen swap.

Vytvoření tenkého bazénu

Chcete-li vytvořit tenký fond pro 15 GB ve skupině svazků (vg_thin), použijte následující příkaz.

lvcreate -L 15G --thinpool tp_tecmint_pool vg_thin
  1. -L – Velikost skupiny svazků
  2. –thinpool – Pro vytvoření tenkého fondu
  3. tp_tecmint_pool– Název tenkého fondu
  4. vg_thin – Název skupiny svazků, kterou potřebujeme k vytvoření fondu

Chcete-li získat více podrobností, můžeme použít příkaz ‚lvdisplay‘.

lvdisplay vg_thin/tp_tecmint_pool

Zde jsme nevytvořili virtuální tenké svazky v tomto tenkém fondu. Na obrázku vidíme data přiděleného fondu 0,00 %.

Vytváření tenkých svazků

Nyní můžeme definovat tenké objemy uvnitř tenkého fondu pomocí příkazu „lvcreate“ s volbou -V (Virtual).

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

Vytvořil jsem tenký virtuální svazek s názvem thin_vol_client1 uvnitř tp_tecmint_pool v mé skupině svazků vg_thin. Nyní vypište logické svazky pomocí níže uvedeného příkazu.

lvs 

Právě jsme vytvořili tenký svazek výše, proto zde nejsou zobrazena žádná data, tj. 0,00 % M.

Dobře, dovolte mi vytvořit 2 další tenké svazky pro další 2 klienty. Zde nyní vidíte, že pod fondem jsou vytvořeny 3 tenké svazky (tp_tecmint_pool). Takže od tohoto bodu jsme se dozvěděli, že jsem využil všech 15 GB fondu.

Vytváření systému souborů

Nyní vytvořte přípojné body a připojte tyto tři tenké svazky a zkopírujte do nich některé soubory pomocí níže uvedených příkazů.

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

Seznam vytvořených adresářů.

ls -l /mnt/

Vytvořte systém souborů pro tyto vytvořené tenké svazky pomocí příkazu ‚mkfs‘.

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

Připojte všechny tři klientské svazky k vytvořenému bodu připojení pomocí příkazu „mount“.

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/

Vypište přípojné body pomocí příkazu „df“.

df -h

Zde vidíme, že jsou připojeny všechny 3 svazky klientů, a proto jsou ve svazcích všech klientů použita pouze 3 % dat. Pojďme tedy přidat nějaké další soubory do všech 3 přípojných bodů z mé plochy, abychom zaplnili nějaké místo.

Nyní vypište bod připojení a prohlédněte si prostor použitý v každém tenkém svazku a vypište tenký fond, abyste viděli velikost použitou ve fondu.

df -h
lvdisplay vg_thin/tp_tecmint_pool

Výše uvedený příkaz ukazuje tři mount pinty spolu s jejich velikostmi v procentech.

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

Při pohledu do tenkého fondu vidíme, že pouze 30 % dat je zapsáno úplně. Toto je součet výše tří klientských virtuálních svazků.

Over Provisioning

Nyní za mnou přišel 4. klient a požádal o 5 GB úložného prostoru. můžu dát? Protože už jsem dal 15GB Pool 3 klientům. Je možné dát o 5GB více jinému klientovi? Ano je možné dát. To je, když používáme Over Provisioning, což znamená dát prostoru víc, než co mám.

Dovolte mi vytvořit 5 GB pro 4. klienta a ověřit velikost.

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

Ve fondu mám pouze 15 GB, ale v tenkém fondu jsem vytvořil 4 svazky až do 20 GB. Pokud všichni čtyři klienti začnou zapisovat data do svých svazků, aby naplnili tempo, v tu chvíli budeme čelit kritické situaci, pokud ne, nebude žádný problém.

Nyní jsem vytvořil souborový systém v thin_vol_client4, pak jsem ho připojil pod /mnt/client4 a zkopíroval do něj nějaké soubory.

lvs

Na obrázku výše vidíme, že celková využitá velikost v nově vytvořeném klientovi 4 až 89,34 % a velikost tenkého poolu jako 59,19 %. Pokud všichni tito uživatelé nepíší špatně do svazku, bude bez přetečení, zahoďte. Abychom se vyhnuli přetečení, musíme zvětšit velikost tenkého bazénu.

Důležité: Thin-pools jsou pouze logický svazek, takže pokud potřebujeme zvětšit velikost tenkého fondu, můžeme použít stejný příkaz, jaký jsme použili pro rozšíření logických svazků, ale nemůžeme zmenšit velikost tenkého fondu.

lvextend

Zde vidíme, jak rozšířit logický tenký fond (tp_tecmint_pool).

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

Dále uveďte velikost tenkého bazénu.

lvs

Dříve byla naše velikost tp_tecmint_pool 15 GB a 4 tenké svazky, což bylo více než Provision o 20 GB. Nyní se rozšířil na 30 GB, takže naše over Provisioning bylo normalizováno a tenké svazky jsou bez přetečení a poklesu. Tímto způsobem můžete do bazénu přidat stále více tenkých objemů.

Zde jsme viděli, jak vytvořit tenký fond pomocí velké skupiny svazků a vytvořit tenké svazky uvnitř tenkého fondu pomocí Over-Provisioning a rozšíření fondu. V příštím článku uvidíme, jak nastavit lvm Striping.