abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    dnes 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 9
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 747 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Hry s KVM 3: Thin Provisioning

    8.12.2019 13:37 | Přečteno: 1689× | Bežná práca s Desktopom | poslední úprava: 1.12.2019 13:53

    Thin provisioning je poskytovanie diétnych virtuálnych počítačov. Teda počítačov ktoré nespotrebujú všetky zverené prostriedky, ale len ich časť.
    Takéto niečo sa dá bez problémov dosiahnuť aj v domácich podmienkach. Tak poďme na to.

    Potrebné nástroje:

    Pripravená farmička z predchádzajúceho dielu s dostupnými príkazmi virsh a virtímanager.
    Virtuálny stroj s OS Linux

    Opis prostredia:

    Ako sme spomínali v predchádzajúcich dieloch, tak máme vytvorenú virtuálnu farmu na notebooku. Jednoducho povedané je to 1x Dual Core Dual Thread javiace sa ako 4x CPU, 12G RAM a jeden rotačný disk (zatiaľ, nebudeme predbiehať):

    golisp@WEB:~$ virsh nodeinfo
    CPU model:           x86_64
    CPU(s):              4
    CPU frequency:       1269 MHz
    CPU socket(s):       1
    Core(s) per socket:  2
    Thread(s) per core:  2
    NUMA cell(s):        1
    Memory size:         12187152 KiB
    
    Pozrieme si stav Virtuálnych Počítačov:
    golisp@WEB:~$ virsh list --all
     Id    Name                           State
    ----------------------------------------------------
     2     CentOS-8                       running
     -     FreeBSD-12                     shut off
    
    golisp@WEB:~$ virsh dominfo  CentOS-8
    Id:             7
    Name:           CentOS-8
    UUID:           766950d8-32fc-4282-980b-0869a3f17dce
    OS Type:        hvm
    State:          running
    CPU(s):         1
    CPU time:       281.0s
    Max memory:     2098176 KiB
    Used memory:    2098176 KiB
    Persistent:     yes
    Autostart:      disable
    Managed save:   no
    Security model: apparmor
    Security DOI:   0
    Security label: libvirt-766950d8-32fc-4282-980b-0869a3f17dce (enforcing)
    
    golisp@WEB:~$ virsh domblklist CentOS-8 --details
    Type       Device     Target     Source
    ------------------------------------------------
    file       disk       hda        /var/lib/libvirt/images/CentOS-8.qcow2
    file       cdrom      hdb        -
    
    golisp@WEB:~$ virsh shutdown CentOS-8
    Domain CentOS-8 is being shutdown
    
    
    Nás zaujíma VM CentOS-8 ktorá sa čerstvo vypla, a má pridelené a aj použité máličko cez 2G RAM, 1xvCPU a jeden pevný disk. Tak si ju postupne prestavíme.

    Nastavenie RAM:

    Obmedzenie RAM je fajn aj keď jej má človek dostatok. Občas ale človek potrebuje okresať prostriedky ktoré sa dajú využiť aj na niečo iné. Tak poďme na to.
    Nastavíme si MAX RAM na presné 2G, zapneme VM a okrešeme jej za behu aktuálne použitú RAM na 1G:
    golisp@WEB:~$ virsh
    Welcome to virsh, the virtualization interactive terminal.
    
    Type:  'help' for help with commands
           'quit' to quit
    
    virsh # setmaxmem CentOS-8 2G 
    
    virsh # start CentOS-8
    Domain CentOS-8 started
    
    virsh # setmem CentOS-8 1G 
    
    Výslednú konfiguráciu vidíme na obrázku:

    Mimochodom, práve v tej záložke sa to dá aj vyklikať.

    Nastavenie CPU:

    Málo kto potrebuje v domácich podmienkach obmedzovať počet virtuálnych jadier CPU pre jednotlivé VM, najmä ak ich človek zdieľa. A ak na nich človek nebeží nič náročné. Ale skúsime si to.
    Nastavíme si Maximálny počet VCPU na 2, a aktuálny počet pri štarte na 1 VCPU.
    virsh # shutdown CentOS-8
    Domain CentOS-8 is being shutdown
    
    virsh # setvcpus --domain CentOS-8 --maximum 2 --config
    
    virsh # setvcpus --domain CentOS-8 --count 1 --config
    
    
    Prihlásime sa do VM a skontrolujeme koľko CPU máme k dispozícii:
    [golisp@CentOS-8 ~]$ grep -c ^processor /proc/cpuinfo 
    1
    
    Vidíme že máme k dispozícii práve jedno CPU, tak si pridáme ďalšie:
    virsh # setvcpus --domain CentOS-8 --count 2
    
    
    A zas skontrolujeme skontrolujeme koľko CPU máme k dispozícii:
    [golisp@CentOS-8 ~]$ grep -c ^processor /proc/cpuinfo 
    2
    [golisp@CentOS-8 ~]$ dmesg | tail
    [  213.643111] virbr0: port 1(virbr0-nic) entered disabled state
    [  215.553130] input: spice vdagent tablet as /devices/virtual/input/input5
    [  347.883123] CPU1 has been hot-added
    [  347.895179] SMP alternatives: switching to SMP code
    [  347.918673] x86: Booting SMP configuration:
    [  347.918677] smpboot: Booting Node 0 Processor 1 APIC 0x1
    [  347.930736] kvm-clock: cpu 1, msr 0:7ff2e041, secondary cpu clock
    [  347.951178] KVM setup async PF for cpu 1
    [  347.951185] kvm-stealtime: cpu 1, msr 7db25040
    [  347.953253] Will online and init hotplugged CPU: 1
    [golisp@CentOS-8 ~]$ 
    
    Vidíme že nám to druhé CPU aj pridalo. Podobným štýlom si to CPU môžeme aj ubrať. Mimochodom, aj toto sa dá naklikať v grafike:

    Nastavenie HDD:

    Nastavenie Thin Provisioning využíva pri diskovom priestore technológiu známu z SSD, teda TRIM/Discard. Presnejšie povedané, hypervízor si odchytí daný HW príkaz, a namiesto predania TRIM priamo do spodnej úurovne disku nám to miesto uvoľní vo virtuálnom disku. Teda vyrazí doň dieru (hole punching). Tak si to poďme skontrolovať, nastaviť a vyskúšať:
    golisp@WEB:~$ sudo sh -c 'ls -l /var/lib/libvirt/images/; du -sh /var/lib/libvirt/images/*'
    [sudo] password for golisp: 
    total 6569060
    -rw------- 1 libvirt-qemu kvm  21478375424 Nov 21 15:50 CentOS-8.qcow2
    -rw------- 1 root         root 21478375424 Nov 21 14:30 FreeBSD-12.qcow2
    6.3G	/var/lib/libvirt/images/CentOS-8.qcow2
    3.4M	/var/lib/libvirt/images/FreeBSD-12.qcow2
    golisp@WEB:~$ virt-xml CentOS-8 --edit path=/var/lib/libvirt/images/CentOS-8.qcow2 --disk discard=unmap
    Domain 'CentOS-8' defined successfully.
    Changes will take effect after the next domain shutdown.
    
    golisp@WEB:~$ virsh shutdown CentOS-8
    Domain CentOS-8 is being shutdown
    
    golisp@WEB:~$ virsh start CentOS-8
    Domain CentOS-8 started
    
    golisp@WEB:~$ ssh golisp@CentOS-8 
    golisp@centos-8's password: 
    Activate the web console with: systemctl enable --now cockpit.socket
    
    Last login: Wed Nov 20 20:10:05 2019
    [golisp@CentOS-8 ~]$ sudo -i
    [sudo] password for golisp: 
    [root@CentOS-8 ~]# time fstrim -av
    /boot: 843.5 MiB (884441088 bytes) trimmed
    /: 13 GiB (13953798144 bytes) trimmed
    
    real	0m1.245s
    user	0m0.000s
    sys	0m0.014s
    
    golisp@WEB:~$ sudo sh -c 'ls -l /var/lib/libvirt/images/; du -sh /var/lib/libvirt/images/*'
    [sudo] password for golisp: 
    total 4439304
    -rw------- 1 libvirt-qemu kvm  21478375424 Nov 21 16:46 CentOS-8.qcow2
    -rw------- 1 root         root 21478375424 Nov 21 14:30 FreeBSD-12.qcow2
    4.3G	/var/lib/libvirt/images/CentOS-8.qcow2
    3.4M	/var/lib/libvirt/images/FreeBSD-12.qcow2
    

    Takže sme si všimli že pre VM CentOS-8 máme vytvorený 20G disk ktorý aktuálne zaberal 6.3G. Tomu disku sme nastavili aby vykonával TRIM/Discard ako Unmap, teda uvolnil nevyužité miesto. A finálne sme v tej VM spustili TRIM, čím sa nám disk za 1¼ sekundy zmenšil na 4.3G. Disk bol pomalý, rotačný.

    Mimochodom moja farma beží na Ubuntu 18.04(.03), a použitá verzia balíka virt-manager zatiaľ nemá klikátko na takéto nastavenie disku:

    Novšie verzie by to už mali mať.

    To je na dnes všetko. Na budúce sa pozrieme ako by sme si mohli zjednodušiť prácu s touto farmičkou, a čo by sme si do nej mohli pre budúcnosť aj pridať.        

    Hodnocení: 100 %

            špatnédobré        

    Obrázky

    Hry s KVM 3: Thin Provisioning, obrázek 1 Hry s KVM 3: Thin Provisioning, obrázek 2 Hry s KVM 3: Thin Provisioning, obrázek 3

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    8.12.2019 14:20 Odin
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning
    Bla bla
    k3dAR avatar 8.12.2019 14:21 k3dAR | skóre: 62
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning
    BTW: v Xubuntu18.04(.3) pouzivam mainline virt-mananger aktualne verze 2.2.1 a klikatno uz ma ;-)
    porad nemam telo, ale uz mam hlavu... nobody
    8.12.2019 17:18 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning
    Nie som si istý či to klikátko na discard=unmap bolo v 19.04, ale v 20.04 LTS určite bude. Od určitého veku preferujem LTS verzie. Tých 10 rokov čo som vydržal na Gentoo ma naučilo dosť, ale už nemám čas toľko kompilovať. Mám aj iné záľuby ako počítač.

    I keď to večné lepenie defektov na bicykli ma tiež oberá o čas. Ale zas si môžem v prírode nazbierať bylinky, aj dnes som si zobral na krátky výjazd čaj z materinej dúšky nazbieranej tejto jari.
    k3dAR avatar 8.12.2019 20:50 k3dAR | skóre: 62
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning
    zminujes nekolikrat cas, ale virt-manager 2.2.1 do 18.04 zabere mene casu, nez kolik si venoval napsani tohoto prispevku ;-)
    #!/bin/sh
    
    set -ex
    
    VERSION="2.2.1"
    PREFIX="/usr/local"
    
    wget --continue https://virt-manager.org/download/sources/virt-manager/virt-manager-${VERSION}.tar.gz
    tar xfv virt-manager-${VERSION}.tar.gz
    
    cd virt-manager-${VERSION}
    ./setup.py configure --prefix=${PREFIX}
    ./setup.py build
    ./setup.py install --prefix=${PREFIX}
    
    kdyz vynecham z casu stahnuti archivu tak: "time tentoskript" ~4s ;-)
    porad nemam telo, ale uz mam hlavu... nobody
    8.12.2019 21:08 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning
    Nejde o inštaláciu. Ide o konzistentnosť systému. Vybral som si LTS aby som to nemusel reinštalovať a ani upgradovať každých pár týždňov.

    Naklikať si to nepotrebujem. Ted discard=unmap som používal ešte pred tým, ako to pridali do klikacieho virt-managera.

    PS: I keď na druhú stranu, tento blog mám aj na to, aby som tieto kroky dokázal zreprodukovať. Presnejšie povedané, rovno ich reprodukujem nech mám istotu že som na niečo nezabudol. I keď nezachádzam moc do detailov.
    k3dAR avatar 9.12.2019 01:06 k3dAR | skóre: 62
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning
    tak virt-manager je vrstevne "ontop", jeho povysenim nic nerozbijes, take pouzivam LTS, ale neco(co pouzivam kazdej den) nemam problem povysit z PPA (mc, byobu, xfce), nebo neco co stoji za to (libreoffice,gimp,mpv), u virt-manager bohuzel ppa padlo, takze to davam rucne, zadnej problem s tim neni...
    PS: ja treba o moznosti unmap u disku netusil
    porad nemam telo, ale uz mam hlavu... nobody
    9.12.2019 10:53 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning
    Keď som sa začal hrať s touto voľbou v 16.04, tak ju nebral z xml. Vyhodil ju. Takže shrink som robil ručným spustením qemu. Ale to bolo dávno.

    S tou konzistenciou som to myslel inak, pri upgrade občas ostávajú iné náväznosti ako sa vytvoria pri čistej inštalácii. Kto si má potom pamätať ako dosiahol nejakú magickú kombináciu ak robí novú inštaláciu. Na to sú už aj zápisky krátke, ak človek vyskúša cez 20 možností a nevie čo z toho mu zafungovalo. Napr. ten DNS resolving čo mám plánovaný do ďalšieho zápisku ako jeden z bodov zhrnutia.
    8.12.2019 16:03 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning
    Eee, není to náhodou opačně, totiž že thin provisioning je přidělení více prostředků než jsou reálně k dispozici (overcommitting)? Což lze docílit například u RAM pomocí kernel samepage merging (KSM)?
    -- OldFrog
    8.12.2019 17:08 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning
    Pridelenie viac prostriedkov ako je reálne k dispozicii sa nazýva overprovisioning, a je viacero možností ako toho dosiahnuť. Najlacnejšia a najpoužívanejšia je že entita má zazmluvnenú maximálnu kapacitu, a garantovanú minimálnu kapacitu. To je známe aj z internetových prípojok.

    Ten prvý link čo si sem dal ukazuje na môj typ použitia. Mám notebook s 12G RAM. Hypervízor (Linux desktop) si zožerie cca 2G, a ostane mi 10G pre VM. NASku dám garantované 4, a ostane mi 6G. Do toho si spustím 5 ďalších VM ktoré majú min 1G a max 2G. V reále sa mi tie virtuálky flákajú, a stačí im každej 1G, takže ostane 1G na zdieľanie podľa potreby. Ktorá VM ich reálne potrebuje, tá ich dostane.

    Ohľadne toho druhého linku, tak metód ako deduplikovať pamäťové prostriedky sa za roky nazbieralo veľa. Jak pre RAM, tak pre disky. S RAMkou som sa zatiaľ nezaoberal.
    Petr Fiedler avatar 15.12.2019 17:36 Petr Fiedler | skóre: 35 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning

    Skvělé informace, díky.
    Seriál sleduji i když na to teď nemám úplně čas. Určitě by mě zajímalo, jak nastavit VM, aby vůbec nemohl na síť? A taky jak nastavit, aby nemohl do systému, na kterém běží? Budu rád, když to do seriálu prosím zahrneš.

    15.12.2019 19:26 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning
    Ja mám teraz dosť času, až mi to lezie na nervy.

    Ohľadne tej siete, tak je niekoľko možností. Najjednoduchšie je odobrať sieťovku z VM. Trošku zložitejšie je vytvorenie si ďalších dvoch typov sieťových módov (Host-only a Internal) podobne ako to je od výroby preddefinované vo Virtual Boxe od firmy Innotek. A najzložitejšie je nasimulovať si kompletnú virtuálnu kabeláž cez napr. VDEv2.
    Petr Fiedler avatar 15.12.2019 21:21 Petr Fiedler | skóre: 35 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning

    Ještě jsem si uvědomil, že by mě zajímalo, jak nastavit, aby VM přístup na síť měl a jen určitá aplikace ne. Vím, že by se to řešilo přes firewall, ale nikdy jsem to nedělal. Byl bych docela rád, kdybys třeba do seriálu zahrnul, jak se to dělá.

    16.12.2019 19:15 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning
    Nuž, zabrániť aby určitá aplikácia nemala prístup na sieť sa dá jednoducho. Človek zabezpečí že tá aplikácia bude spúšťaná pod unikátnym užívateľom (hoci aj cez SetUID), a tomu potom zareže internet.
    iptables -m owner --help
    
    Existujú aj zložitejšie riešenia, ale v rámci ceny za VM sa moc neoplatí vyhrať sa s tým ak to človek chce len na zablokovanie nejakých "domácich pokusov". Veď 20G disku stojí 1€ pri cene 50€ za 1T rotačného 2.5' disku, 4G RAM pre VM je cca 15€ (občasne) a VCPU nerátam. Tá virtuálka nebude furt žrať prostriedky, okrem tej mince za disk.

    Iné by to bolo vo firemnej sfére, ale tam človek použije kontajnerizáciu.
    Petr Fiedler avatar 15.12.2019 21:25 Petr Fiedler | skóre: 35 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: Hry s KVM 3: Thin Provisioning
    Najjednoduchšie je odobrať sieťovku z VM.

    Naprosto jednoduché :-)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.