Recenze užitečného softwaru pro správu virtualizace. KVM – Kterou webovou správu byste měli používat? Manuální nastavení mostu

Vyzkoušel jsem mnoho rozhraní pro správu webu a žádné z nich nebylo dost dobré jako virt-manager.

Víte, já jsem jeden z těch chlapů, kteří měli VMware, kde je 90% ovládacích prvků klikacích.

Moje otázky:

1) Existuje nějaká "interaktivní" CLI utilita jako mc (midnight commander) nebo něco jak ovládat KVM? (ON/OFF VM, zvýšení paměti, restart virtuálních strojů, přidání virtuálního hardwaru, přidání nových disků atd.)

2) Mohl byste mi doporučit nějaké rozhraní pro správu webového rozhraní pro KVM na debian squeeze? Viděli jste VMware Server 2? K dispozici je webové ovládání. Vím, že to bylo pomalé, ale to je normální, když jste někde bez terminálu. (třeba na Androidu s webovým prohlížečem) Vyzkoušel jsem jich spoustu, ale nic, co jsem zkoušel, nezabralo.

5) Jak zlepšit zabezpečení KVM? Mohlo by tento problém vyřešit nějaké webové rozhraní? (např. účetnictví, správa uživatelů?)

Vím, že existuje google, wiki, existuje dlouhý seznam UI pro kvm, ale potřebuji názory, zkušenosti od odborníků nebo uživatelů, kteří používají KVM. Doufám, že to není hloupá otázka. Děkuji všem za odpovědi na mé otázky.

5 Řešení shromažďují formulářový web pro „KVM – Jakou webovou správu bych měl použít?“

Pro webový správce KVM můžete vyzkoušet Proxmox. Pokyny pro Debian Squeeze jsou zde.

Má nástroje příkazového řádku, ale žádnou textovou nabídku.

Měli byste nastavit malé prostředí a vyzkoušet to. Poté uveďte cíl a realizujte jej.

Přesná odpověď/návod na to neexistuje. Jak konfigurovatelný je KVM server/klient skutečně závisí na tom, kolik zdrojů (cpu/ram/úložiště) je k dispozici.

Opět záleží na vašem prostředí a to jsou například vícevrstvá/zařízení. routery, firewall, ip tabulky, politika hesel, politika přístupu atd. Nevím o žádném grafickém rozhraní, ať už jde o webovou základnu, nebo ne, které by toto všechno zvládlo, včetně KVM. (OK, cloud je, ale nemám s ním vůbec žádné zkušenosti)

Zkusili jste to? Kimchi? je uživatelsky nejpřívětivější open source KVM a je sponzorován IBM.

Prohlášení: Nejsem vůbec spojen s Kimchi. Prostě miluji jeho přátelskost.

Odborníci používají CLI. Ne GUI. To platí i pro zkušené správce Windows.

Ne, GUI se stále zlepšují, ale samoprotokolovací skripty jsou rychlejší a dělají, co chcete.

Zlepšit výkon v KVM? Vyhoďte to.

To je jen rada od experta XEN-PV. Rychlejší jsou pouze LXC (nebo jiné kontejnery) nebo řešení založená na chrootu.

Instalační příručka KVM nemusí být příliš podrobná, ale alespoň poskytuje nebo poskytuje nápady týkající se procesu instalace a konfigurace.

K dispozici je nová správa systému KVM a AV/IT na podnikové úrovni s názvem Boxilla, která obsahuje komplexní a centralizované řídicí centrum, které poskytuje maximální výkon, snadné použití a zabezpečení.

Poskytuje možnost spravovat vysoce výkonné KVM, KVM over IP, virtualizované koncové body a různá AV/IT zařízení v jednom centralizovaném příkazovém centru, což správcům umožňuje spravovat vícevrstvá nasazení KVM a AV/IT pomocí výkonného webového a sdíleného uživatelské rozhraní. Můžete se o tom dozvědět zde: https://www.blackbox.co.uk/gb-gb/page/37929/Solutions-Industries/Technology-Products/KVM-Switching-and-Extension/Centralised-KVM-AV-Manager -Boxilla

Věřím, že mnoho lidí se setkalo s běžnými KVM přepínači. Zkratka „KVM“ znamená „Keyboard Video Mouse“. Zařízení KVM vám umožňuje ovládat několik počítačů (systémových jednotek), máte-li pouze jednu sadu klávesnice+monitor+myš (K.M.M.). Jinými slovy, vezmeme N systémových jednotek, připojíme jejich výstupy z K.M.M. do zařízení KVM a připojte skutečný monitor, klávesnici a myš k samotnému zařízení. Přepínáním mezi počítači pomocí KVM můžeme vidět, co se děje na obrazovce vybraného počítače, a také jej ovládat, jako bychom k němu byli přímo připojeni.

To se hodí, pokud potřebujeme k práci více strojů, ale není nutný přístup k nim současně. Navíc ušetří spoustu místa – monitory, a to i LCD, zaberou na stole docela dost místa. Ano a stojí docela dost. A v hromadě klávesnic a myší na stole se můžete rychle splést...

Pokročilí čtenáři namítnou - proč taková složitost, když jsou počítače s největší pravděpodobností připojeny ke stejné lokální síti a lze použít programy pro vzdálený přístup zabudované v operačním systému (nebo externí), například Terminálové služby nebo Radmin pod Windows, VNC, ssh pod *operační systémy podobné nixu. Vše je v pořádku, ale co máme dělat, když například potřebujeme vstoupit do BIOSu počítače nebo se operační systém přestal načítat, protože jsme nainstalovali nějaký nesprávný ovladač nebo program? Nebo máme na počítači nainstalováno několik operačních systémů a potřebovali jsme vybrat jiný, než který se spouští ve výchozím nastavení? Obecně jsou všechny tyto programy opravdu dobré, ale do určitých limitů - pokud je OS počítače funkční a potřebujeme přístup k počítači až po nabootování tohoto OS.

Podívejme se například na několik typických přepínačů KVM využívajících zařízení vyráběná společností jako příklad.

Specifikace zařízení

CN-6000 podporuje rozdělení pravomocí mezi uživatele a umožňuje vytvořit až 64 administrativních nebo uživatelských účtů, z nichž až 16 účtů může pracovat se zařízením současně. Zařízení má vestavěné WEB administrační rozhraní a jeho malé rozměry umožňují umístit jej na stůl nebo namontovat (pomocí speciálního držáku, který je součástí sady) na boční nosník racku (montáž do racku 0U). CN-6000 podporuje aktualizace firmwaru přes ethernetové připojení (z webového rozhraní nebo nativního nástroje). Maximální rozlišení videa, které zařízení podporuje, je 1600 x 1200 pixelů.

Souhrnná tabulka specifikací:

Hardwarové požadavky (vzdálený klient)Pentium III 1Ghz
RozhraníMístní konzoleKlávesnice1 × Mini-DIN-6 F (fialová)
Video1 × HDB-15 F (modrá)
Myš1 × HDB-15 F (zelená)
Systém (KVM)1 × SPHD-15 F (žlutá)
LAN port1 × RJ-45(F)
Zapnutí sítě (rezervováno)1 x DB9(M)
Napájecí rozhraní1
Tlačítka/přepínačeResetování KVM1 × poloskrytý, přední
Ukazatelevýživa1x pomeranč
připojení vzdáleného uživatele1x zelená
LAN 10/100 Mbps1x zelená/oranžová
Podporované protokoly10baseT Ethernet a 100baseTX Fast Ethernet. TCP/IP
Rozlišení videaAž 1600×1200 60Hz
Rámkov
Rozměry (délka × šířka × výška)200 × 80 × 25 mm

Pojďme k testům.

Na přiloženém CD najdete čtyři nástroje:

  • CN6000 Client - klientský program pro Windows, pomocí kterého se můžete připojit ke vzdálenému počítači
  • podobný klientský program napsaný v Javě (ve formátu jar)
  • CN6000 Admin Tool – správce konfigurace zařízení (pro Windows)
  • log server – program, který lze nakonfigurovat pro příjem a ukládání souborů protokolu z CN-6000

Přepínač KVM má navíc vestavěný WEB server, takže k zařízení lze přistupovat prostřednictvím webového prohlížeče. K webovému rozhraní se ale vrátíme o něco později, nejprve se podíváme na jednotlivé utility.

Konfigurace CN-6000 pomocí nástroje Admin Tool.

Program je určen pro konfiguraci zařízení, nastavení přístupových hesel, zabezpečení atd.

Když byl spuštěn, došlo k vtipné věci:

Při prvním spuštění všech utilit z dodaného disku je nutné zadat sériové číslo. Dokumentace (dokonce i nejnovější verze, která je na webu výrobce) říká, že sériové číslo je vytištěno na spodní straně pouzdra CN-6000. A nějaké sériové číslo tam skutečně je, jen je mnohem kratší, než programy vyžadují. Obecně platí, že poté, co jsem trochu trpěl, zadal nalezené sériové číslo tak a onak, přidal k němu nuly nebo mezery a nedosáhl ničeho víc než okna „Neplatné sériové číslo“, chtěl jsem už ten den dokončit testování zařízení. Po vyjmutí CD z CD-ROM (nejdříve jsem ho vložil do CD mechaniky – musel jsem nainstalovat software) jsem na disku objevil podivnou nálepku – ukázalo se, že jde o cenné sériové číslo.

Samozřejmě, teoreticky si člověk může při vkládání do mechaniky dávat pozor na to, co je na CD napsáno nebo vloženo. Ale kolik lidí tomu okamžitě věnuje pozornost? :) A někdo by se mohl zeptat, proč bylo nutné do dokumentace psát záměrně nepravdivé informace? Opakuji - na webu je novější verze dokumentace a tento "překlep" tam není opraven. Podotýkám, že to není poslední nepřesnost, která se v dokumentaci objevuje, takže někdy musíte jednat podle přísloví „nevěřte svým očím“.

Administrační utilita CN-6000 je užitečná v tom, že nám umožňuje najít zařízení v síti, i když jeho IP adresa nepatří do podsítě, ve které se nacházíme, stačí, abychom (počítač, ze kterého se snažíme přístup k CN-6000) byly ve stejném segmentu místní sítě jako přepínač KVM.

Po zadání uživatelského jména a hesla se dostaneme do nabídky konfigurace zařízení:

ATEN zaujal dobrý přístup k otázce zabezpečení zařízení. Při prvním vstupu do konfigurace zařízení jsme upozorněni, že by bylo dobré změnit standardní přihlašovací jméno a heslo...

V sekci Síť je nakonfigurováno IP adresování zařízení, nastaveny porty pro vzdálený přístup k počítačům ovládaným CN-6000. A zde můžete také zadat MAC adresu stroje, na kterém je umístěn program „Log Server“, který ukládá soubory protokolu (události) odeslané z přepínače KVM (pokud ji neuvedete, budou protokoly uloženy na samotné KVM a můžete si je prohlížet z webového rozhraní). Tímto strojem (pro Log server) může být jakýkoli počítač se systémem Windows a běžícím programem, o kterém se diskutuje. Jediným problémem je, že počítač musí být ve stejném segmentu sítě (zhruba řečeno, připojen ke stejnému přepínači) jako samotný KVM CN-6000, takže užitečnost této „funkce“ je sporná.

Záložka Zabezpečení filtry jsou konfigurovány (podle MAC a/nebo IP adres) pro přístup na vzdálenou obrazovku spravovaných počítačů a také filtr pro správu samotného CN-6000.

Na další kartě jsou uvedena uživatelská jména a hesla a také jejich práva. Co je pozoruhodné, je, že můžete omezit přihlášení pro konfiguraci CN-6000 a používání klienta JAVA. Minimální délka hesla, kterou konfigurační obslužný program přijímá, je osm znaků. Je samozřejmě škoda, že heslo není kontrolováno na „jednoduchost“, ale i kontrola délky hesla naznačuje, že ATEN věnuje pozornost bezpečnosti.

Poslední záložka umožňuje aktualizovat firmware zařízení, umožnit více lidem současně se připojit ke vzdálenému počítači (myš a klávesnice jsou však z pohledu ovládaného počítače stále stejné, takže jeden ovládá, odpočívat hodinky... nebo se vzájemně rušit tažením myši v různých směrech) . Nakonfigurována je také reakce na nesprávný proces autentizace a zahrnutí různých režimů „skrývání“ CN-6000 (žádná odezva na ping a zákaz zobrazování při automatickém vyhledávání zařízení v místní síti prostřednictvím klienta nástroj nebo nástroj pro správu).

Na stejné záložce je další položka - Resetovat při ukončení. Předpokládal bych, že se jedná o resetování nastavení na výchozí, ale v tomto případě to zahrnuje restartování zařízení při ukončení konfiguračního nástroje. V opačném případě (pokud nebude restartován), ačkoli si nová nastavení budou zapamatována, nebudou použita (až do restartu).

V tomto okamžiku lze považovat zvažování konfiguračního nástroje za dokončené (další aspekt bude probrán v části o Java klientovi).

Přejděme k webovému rozhraní.

Konfigurace přes WEB rozhraní

Abyste se dostali do webového rozhraní zařízení, stačí zadat IP adresu, která je nainstalována na CN-6000 v libovolném prohlížeči.

Pozoruhodné je, že prohlížeč klienta okamžitě přesměruje na připojení přes HTTPS://, tzn. veškerá další práce probíhá prostřednictvím zabezpečeného připojení SSL.

Po zadání přihlašovacího jména a hesla se aktivují ikony v levé a horní části webového rozhraní (lze na ně kliknout).

Horní ikony otevírají části související s konfigurací CN-6000. Všechny možnosti tam většinou opakují možnosti v rozhraní nástroje Windows Nástroj pro správu, ale existují určité rozdíly. Například v tomto okně (konfigurace síťových adres) můžeme nastavit pouze IP adresu zařízení, ale nemůžeme zadat masku podsítě a bránu. Navíc nastavení IP adresy funguje poněkud pokřiveně - nikdy se mi nepodařilo změnit IP adresu zařízení z webového rozhraní (změnila se bez problémů pomocí utility Admin Tools).

To je to, co můžete pozorovat v nástroji Admin Tool, když se pokusíte změnit adresu prostřednictvím webového rozhraní z 10.0.0.9 na 192.168.0.1. Z nějakého důvodu se maska ​​podsítě změnila ze standardní 255.255.255.0 na 10.0.0.9 a zařízení (po restartu) po dobu 5 sekund reaguje na adresu 192.168.0.1 a poté začne reagovat na 10.0.0.9 (úplně zapomene asi 192.168.0.1). Může se jednat o chybu aktuální verze firmwaru (1.5.141), ale tato verze byla v době testování nejnovější, kterou bylo možné na webu společnosti najít.

Během testování nebyly nalezeny žádné další chyby související s webovým rozhraním.

Kapitola Zabezpečení opakuje podobnou sekci v nástroji Admin Tool.

Podobná situace s oddílem Správce uživatelů

...a oddíl Přizpůsobení.

Ikona Log, umístěný na levé straně webového rozhraní, umožňuje zobrazit události, které nastaly během provozu zařízení. V tomto případě snímek obrazovky odráží protokoly, které se objevily, když bylo zařízení testováno programem Nessus.

Jak bylo uvedeno výše, protokoly lze uložit na externí server protokolů (ale s určitými omezeními týkajícími se jeho umístění).

KVM nebo Kernel Virtual Module je virtualizační modul pro linuxové jádro, který vám umožňuje přeměnit váš počítač na hypervizor pro správu virtuálních strojů. Tento modul funguje na úrovni jádra a podporuje technologie hardwarové akcelerace, jako jsou Intel VT a AMD SVM.

KVM software sám o sobě v uživatelském prostoru nic nevirtualizuje. Místo toho používá soubor /dev/kvm ke konfiguraci virtuálních adresových prostorů pro hosta v jádře. Každý hostující stroj bude mít vlastní grafickou kartu, síťovou a zvukovou kartu, pevný disk a další vybavení.

Hostující systém také nebude mít přístup ke komponentám skutečného operačního systému. Virtuální stroj běží ve zcela izolovaném prostoru. Kvm můžete použít jak na systému GUI, tak na serverech. V tomto článku se podíváme na to, jak nainstalovat kvm Ubuntu 16.04

Než přistoupíte k samotné instalaci KVM, musíte zkontrolovat, zda váš procesor podporuje hardwarovou virtualizační akceleraci od Intel-VT nebo AMD-V. Chcete-li to provést, spusťte následující příkaz:

egrep -c "(vmx|svm)" /proc/cpuinfo

Pokud výsledek vrátí 0, pak váš procesor nepodporuje hardwarovou virtualizaci, pokud 1 nebo více, můžete na svém počítači použít KVM.

Nyní můžeme přistoupit k instalaci KVM, sadu programů lze získat přímo z oficiálních úložišť:

sudo apt install qemu-kvm libvirt-bin bridge-utils virt-manager cpu-checker

Nainstalovali jsme nejen utilitu kvm, ale také knihovnu libvirt a také správce virtuálních strojů. Po dokončení instalace musíte svého uživatele přidat do skupiny libvirtd, protože virtuální stroje KVM mohou používat pouze uživatelé root a uživatelé v této skupině:

sudo gpasswd -a USER libvirtd

Po spuštění tohoto příkazu se odhlaste a znovu přihlaste. Dále zkontrolujeme, zda bylo vše správně nainstalováno. Chcete-li to provést, použijte příkaz kvm-ok:

INFO: /dev/kvm existuje
Lze použít akceleraci KVM

Pokud bylo vše provedeno správně, zobrazí se stejná zpráva.

Použití KVM na Ubuntu 16.04

Dokončili jste úlohu instalace kvm v Ubuntu, ale toto virtualizační prostředí zatím nemůžete používat, ale stále je třeba jej nakonfigurovat. Dále se podíváme na to, jak je konfigurováno kvm Ubuntu. Nejprve musíte nastavit síť. Musíme vytvořit most, pomocí kterého se virtuální stroj připojí k síti počítače.

Nastavení mostu v NetworkManageru

To lze provést několika způsoby, například můžete použít konfigurační program sítě NetworkManager.

Klikněte na ikonu NetworkManager na panelu a poté vyberte změnit spojení a poté klikněte na tlačítko Přidat:

Poté vyberte typ připojení Most a stiskněte Vytvořit:

V okně, které se otevře, klikněte na tlačítko Přidat, pro připojení našeho mostu k internetovému připojení:

Ze seznamu vyberte Ethernet a stiskněte Vytvořit:

V dalším okně vyberte v poli zařízení, síťové rozhraní, ke kterému by měl být náš most přidružen:

Nyní uvidíte svůj most v seznamu síťových připojení. Vše, co zbývá, je restartovat síť, aby se plně uplatnily změny, k tomu spusťte:

Manuální nastavení mostu

Nejprve musíte nainstalovat sadu nástrojů bridge-utils, pokud jste tak ještě neučinili:

sudo apt install bridge-utils

Poté pomocí programu brctl můžeme vytvořit most, který potřebujeme. Chcete-li to provést, použijte následující příkazy:

sudo brctl addbr bridge0
$ sudo ip addr show
$ sudo addif bridge0 eth0

První příkaz přidá bridge zařízení br0, druhým musíte určit, které síťové rozhraní je hlavním připojením k externí síti, v mém případě je to eth0. A posledním příkazem spojíme bridge br0 s eth0.

Nyní je potřeba přidat pár řádků do nastavení sítě, aby se vše spouštělo automaticky po startu systému. Chcete-li to provést, otevřete soubor /etc/network/interfaces a přidejte do něj následující řádky:

sudo gedit /etc/network/interfaces

zpětná smyčka
auto nebo most0
iface lo inet loopback
iface bridge0 inet dhcp
bridge_ports eth0

Po přidání nastavení restartujte síť:

sudo systemctl restartování sítě

Nyní je instalace a konfigurace KVM zcela dokončena a můžete vytvořit svůj první virtuální stroj. Poté můžete zobrazit dostupné mosty pomocí příkazu:

Vytváření virtuálních strojů KVM

Nastavení Ubuntu KVM je dokončeno a nyní můžeme přejít k jeho používání. Nejprve se podívejme na seznam existujících virtuálních strojů:

virsh -c qemu:///system list

Je prázdný. Virtuální stroj můžete vytvořit přes terminál nebo v grafickém rozhraní. Chcete-li vytvořit pomocí terminálu, použijte příkaz virt-install. Nejprve pojďme do složky libvirt:

cd /var/lib/libvirt/boot/

Chcete-li nainstalovat CentOS, příkaz bude vypadat takto:

sudo virt-install\
--virt-type=kvm \
--name centos7\
--ram 2048\
--vcpus=2\
--os-variant=rhel7 \
--hvm\
--cdrom=/var/lib/libvirt/boot/CentOS-7-x86_64-DVD-1511.iso \
--network=bridge=br0,model=virtio \
--graphics vnc\
--cesta k disku=/var/lib/libvirt/images/centos7.qcow2,size=40,bus=virtio,format=qcow2

Podívejme se blíže na to, co znamenají parametry tohoto příkazu:

  • virt-typ- typ virtualizace, v našem případě kvm;
  • jméno- název nového vozu;
  • beran- množství paměti v megabajtech;
  • vcpus- počet jader procesoru;
  • os-varianta- typ operačního systému;
  • cdrom- instalační obraz systému;
  • síťový most- síťový most, který jsme nakonfigurovali dříve;
  • grafika- způsob, jak získat přístup ke grafickému rozhraní;
  • disková cesta- adresa nového pevného disku pro tento virtuální stroj;

Po dokončení instalace virtuálního stroje můžete zjistit parametry připojení VNC pomocí příkazu:

sudo virsh vncdisplay centos7

Nyní můžete vložit přijatá data do svého VNC klienta a připojit se k virtuálnímu stroji i vzdáleně. Pro Debian bude příkaz mírně odlišný, ale vše vypadá podobně:

Přejděte do složky pro obrázky:

cd /var/lib/libvirt/boot/

V případě potřeby si můžete stáhnout instalační obraz z internetu:

sudo wget https://mirrors.kernel.org/debian-cd/current/amd64/iso-dvd/debian-8.5.0-amd64-DVD-1.iso

Poté vytvoříme virtuální stroj:

sudo virt-install\
--virt-type=kvm \
--name=debina8 \
--ram=2048\
--vcpus=2\
--os-variant=debian8 \
--hvm\
--cdrom=/var/lib/libvirt/boot/debian-8.5.0-amd64-DVD-1.iso \
--network=bridge=most0,model=virtio \
--graphics vnc\
--disk path=/var/lib/libvirt/images/debian8.qcow2,size=40,bus=virtio,format=qcow2

Nyní se znovu podíváme na seznam dostupných strojů:

virsh -c qemu:///system list

Chcete-li spustit virtuální počítač, můžete použít příkaz:

sudo virsh start machinename

Chcete-li zastavit:

sudo virsh shutdown machinename

Přepnutí do režimu spánku:

sudo virsh suspend název stroje

Chcete-li restartovat:

sudo virsh reboot machinename

sudo virsh resetovat název stroje

Úplné odstranění virtuálního počítače:

sudo virsh zničit název stroje

Vytváření virtuálních strojů v GUI\

Pokud máte přístup ke grafickému rozhraní, není nutné používat terminál, můžete použít plné grafické rozhraní správce virtuálního počítače. Program lze spustit z hlavního menu:

Chcete-li vytvořit nový stroj, klikněte na ikonu s ikonou monitoru. Dále budete muset vybrat obraz ISO vašeho systému. Můžete také použít skutečnou jednotku CD/DVD:

Na další obrazovce vyberte množství paměti, která bude k dispozici virtuálnímu počítači, a také počet jader procesoru:

Na této obrazovce musíte vybrat velikost pevného disku, který bude k dispozici ve vašem počítači:

V posledním kroku průvodce musíte zkontrolovat správnost nastavení stroje a také zadat jeho název. Musíte také zadat síťový most, přes který se bude stroj připojovat k síti:

Poté bude stroj připraven k použití a objeví se v seznamu. Můžete jej spustit pomocí zeleného trojúhelníku na panelu nástrojů správce.

Závěry

V tomto článku jsme se podívali na to, jak nainstalovat KVM Ubuntu 16.04, podívali jsme se na to, jak toto prostředí plně připravit pro práci, a také jak vytvářet virtuální stroje a používat je. Pokud máte nějaké dotazy, zeptejte se v komentářích!

Na závěr přednáška od Yandexu o tom, co je virtualizace v Linuxu:

Dnes se mnoho úloh, které tradičně vyžadovaly více fyzických serverů, přesouvá do virtuálních prostředí. Virtualizační technologie jsou žádané i softwarovými vývojáři, protože umožňují komplexní testování aplikací v různých operačních systémech. Přitom při zjednodušování mnoha problémů je potřeba spravovat samotné virtualizační systémy, a to se neobejde bez speciálních řešení.

Tulák

Virtuální stroj VirtualBox je mezi správci a vývojáři zaslouženě oblíbený a umožňuje rychle vytvářet požadovaná prostředí pomocí grafického rozhraní nebo rozhraní příkazového řádku. Pokud počet virtuálních počítačů nepřekročí tři, nevznikají žádné potíže s nasazením a správou, ale moderní projekty mají tendenci zarůstat konfiguracemi a výsledkem je velmi složitá infrastruktura, se kterou je obtížné se vyrovnat. Toto je problém, který má řešit správce virtuálního prostředí Vagrant, který vám umožňuje vytvářet kopie virtuálních strojů s předem určenou konfigurací a dynamicky přerozdělovat prostředky VM (Provisioning) podle potřeby. V základním balíčku Vagrant pracuje s VirtualBoxem, ale systém pluginů umožňuje připojit další virtualizační systém. Dnes je otevřený kód pluginu pro AWS a Rackspace Cloud plugin pro podporu VMware Fusion/Workstation je dostupný pro komerční předplatné.

Vagrant nevytváří virtuální stroj od začátku. Pro pohodlí projekt nabízí několik základních obrazů (boxů), které jsou importovány a následně použity pro rychlé nasazení systému na základě boxů sestaví hostující OS s požadovanou konfigurací.

Pro zjednodušení nasazení aplikací jsou krabice předinstalované s Chef and Puppet. Kromě toho lze potřebná nastavení zadat pomocí shellu. Prostředí zahrnují kompletní sadu pro běh a vývoj aplikací v Ruby. SSH se používá pro přístup k virtuálnímu počítači výměna souborů přes sdílený adresář.

Vagrant je napsán pomocí Ruby a lze jej nainstalovat na jakoukoli platformu, která obsahuje komponenty VirtualBox a Ruby. Balíčky pro Windows, Linux (deb a rpm) a OS X jsou k dispozici na stránce stahování.

Proces instalace a používání na Ubuntu je jednoduchý. Stáhněte si balíčky VirtualBox a Vagrant a nainstalujte:

$ sudo dpkg -i virtualbox-4.2.10_amd64.deb $ sudo dpkg -i vagrant_1.2.2_x86_64.deb

V době psaní tohoto článku měla nejnovější aktuální verze VirtualBoxu 4.2.14 problémy se spuštěním Vagrantu, takže prozatím je lepší použít 4.2.12 nebo otestovat 4.2.15. Případně můžete:

$ cd ~/.vagrant.d/boxes/BoxName/virtualbox $ openssl sha1 *.vmdk *.ovf > box.mf

Zde je alternativní možnost instalace Vagrant - pomocí Ruby:

$ sudo apt-get install ruby1.8 ruby1.8-dev rubygems1.8 $ sudo gem install vagrant

Všechna nastavení projektu se provádějí ve speciálním souboru Vagrantfile. Chcete-li se vyhnout ručnímu vytváření šablony, můžete ji vygenerovat následovně:

$ mkdir projekt $ cd projekt $ vagrant init

Nyní se můžete podívat do vytvořeného souboru nastavení a vyplnit: Nastavení virtuálního počítače (config.vm. ), možnosti připojení SSH (config.ssh.), parametry samotného Vagrantu (config.vagrant). Všechny jsou dobře zdokumentovány, význam některých je jasný bez vysvětlení.

Ve skutečnosti se při spuštění používá několik takových souborů, každý následující přepíše ten předchozí: vestavěný do Vagrant (nelze změnit), dodávaný s krabicemi (zabalený pomocí přepínače "--vagrantfile"), umístěný v ~/.vagrant .d a soubor projektu . Tento přístup vám umožňuje použít výchozí nastavení a přepsat pouze to, co je v konkrétním projektu nezbytné.


Všechny instalace se provádějí pomocí příkazu vagrant seznam dostupných klíčů lze zobrazit pomocí "-h". Po instalaci nemáme jediný obrázek, spuštění seznamu vagrant box zobrazí prázdný seznam. Hotový box může být umístěn v lokálním souborovém systému nebo na vzdáleném serveru, jeho jméno je nastaveno jako parametr, na který se budeme v projektech odkazovat. Například používáme oficiální Box Ubuntu 12.04 LTS, který nabízejí vývojáři Vagrant.

$ vagrant box přidat precizní64 http://files.vagrantup.com/precise64.box

Nyní je přístupný z Vagrantfile:

Config.vm.box = "precise64"

I když je snazší jej okamžitě zadat při inicializaci projektu:

$vagrant init přesné64

Nejjednodušší způsob, který nevyžaduje učení Chef and Puppet, je použít pro konfiguraci VM standardní příkazy shellu, které lze zapsat přímo do souboru Vagrantfile nebo ještě lépe zkombinovat do skriptu, který je takto propojen:

Vagrant.configure("2") proveďte |config|

Nyní budou při spuštění virtuálního počítače provedeny všechny příkazy zadané v script.sh. Po spuštění projektu se vytvoří soubor ovf, jeho nastavení lze zobrazit pomocí grafického rozhraní VirtualBox nebo příkazu VBoxManage:

$ VBoxManage import /home/user/.vagrant.d/boxes/precise64/virtualbox/box.ovf Virtuální systém 0: 0: Doporučený typ OS: "Ubuntu_64" (změnit s "--vsys 0 --ostype "; použijte "list ostypes" k vypsání všech možných hodnot) 1: Navrhovaný název virtuálního počítače "precise64" (změňte pomocí "--vsys 0 --vmname" ") 2: Počet CPU: 2 (změňte pomocí "--vsys 0 --cpus ") 3: Paměť hosta: 384 MB (změnit pomocí "--vsys 0 --memory ")

Ne vždy splňují zadané podmínky, ale pomocí nastavení poskytovatele můžete snadno změnit nastavení konkrétního virtuálního počítače (viz tipy „změna pomocí...“):

Config.vm.provider:virtualbox do |vb|

vb.customize ["modifyvm", :id, "--memory", "1024"] end

Spusťte a připojte se k systému přes SSH:

$vagrant up $vagrant ssh

Chcete-li VM zastavit, použijte parametr zastavit nebo zničit (druhý - s vymazáním všech souborů, příště se všechny operace provedou od začátku), pokud jej potřebujete poslat do hibernace - vagrant suspend , return - vagrant restore . Jako příklad práce s Chef můžete použít hotový recept pro konfiguraci APT a Apache2:

Config.vm.provision:chef_solo do |chef|

chef.recipe_url = "http://files.vagrantup.com/getting_started/cookbooks.tar.gz" chef.add_recipe("vagrant_main") konec

Chcete-li získat přístup k virtuálnímu počítači „zvenčí“, budete muset nakonfigurovat přesměrování portů. Ve výchozím nastavení je přesměrování 22 -> 2222, což umožňuje připojení přes SSH. Přidat do Vagrantfile:

Vagrant::Config.run do |config|

config.vm.forward_port 80, 1111 end

K webovému serveru lze nyní přistupovat na adrese http://127.0.0.1:1111/. Abyste prostředí nekonfigurovali pokaždé, je lepší si na jeho základě sestavit hotový balíček.

Virtualizační systémy Xen/KVM, vydané pod bezplatnými licencemi, nemají uživatelsky přívětivé rozhraní, což je často interpretováno v jejich neprospěch. Tento nedostatek je však snadné překonat. ConVirt vám umožňuje nasadit virtuální stroje na více serverů Xen a KVM jediným kliknutím pomocí snadno použitelného rozhraní. K dispozici jsou všechny potřebné operace s virtuálními stroji: spouštění, zastavování, vytváření snímků, řízení a přerozdělování zdrojů, připojení k VM přes VNC, automatizace administrativních úloh. Technologie Ajax činí rozhraní interaktivním a podobným desktopové aplikaci. Můžete například jednoduše přetáhnout virtuální počítač z jednoho serveru na druhý. Rozhraní není lokalizované, ale ovládání je intuitivní.


Sdružování serverů umožňuje konfigurovat a řídit virtuální stroje a prostředky na úrovni fondu serverů, nikoli na úrovni jednotlivých serverů. Na virtuálních systémech nejsou nainstalováni žádní agenti, potřebujete pouze balíček convirt-tool na fyzickém serveru. To zjednodušuje správu a nasazení.

Jakmile je přidán nový server, ConVirt automaticky shromáždí data o jeho konfiguraci a výkonu a poskytne souhrnné informace na několika úrovních – od jednotlivého virtuálního stroje, fyzického serveru až po celý fond. Shromážděná data se používají k automatickému hostování nových hostů. Tyto informace jsou také zobrazeny ve formě vizuálních grafů.

K vytváření virtuálních strojů se používají šablony - popisy nastavení virtuálního stroje, obsahující údaje o přidělených prostředcích, cestu k souborům OS a další nastavení. Po instalaci je k dispozici několik hotových šablon, ale v případě potřeby je můžete snadno vytvořit sami.

Podporovány jsou všechny technologie: vyvažování zátěže, migrace za provozu, virtuální disky s rostoucí kapacitou, které umožňují využívat zdroje podle potřeby, a mnoho dalších funkcí implementovaných v Xen a KVM. Chcete-li přerozdělit prostředky, nemusíte virtuální počítač zastavovat.

Implementována schopnost spravovat virtuální prostředí pro několik administrátorů s možností auditu a kontroly jejich akcí.

ConVirt je vyvíjen společností Convirture a využívá koncept otevřeného jádra, kdy je spolu se zdrojovým kódem volně distribuována pouze základní sada funkcí, zbytek je dostupný v komerční verzi. Verze s otevřeným zdrojovým kódem postrádá podporu High Availability, integraci VLAN, zálohování a obnovu, správu příkazového řádku, upozornění a oficiální podporu.

Při vývoji byl použit framework TurboGears2, knihovny ExtJs a FLOT, k ukládání informací bylo použito MySQL a jako DHCP a DNS server byl použit dnsmasq. Potřebný balíček lze nalézt v repozitářích oblíbených linuxových distribucí.

Karesansui

Jsou implementovány všechny funkce pro správu virtuálních prostředí: instalace OS, vytváření konfigurací diskového subsystému a virtuálních síťových karet, správa kvót, replikace, zmrazení VM, vytváření snímků, prohlížení podrobných statistik a dat protokolů, sledování stahování. Z jedné konzole můžete spravovat několik fyzických serverů a virtuálních strojů, které jsou na nich hostované. Je možná práce více uživatelů se sdílenými právy. Díky tomu se vývojářům podařilo implementovat do prohlížeče virtuální prostředí, které jim umožňuje plně spravovat systémy.

SQLite, napsaný Karesansui v Pythonu, se používá jako DBMS pro systém s jedním uzlem. Pokud plánujete spravovat instalace Karesansui hostované na více fyzických serverech, měli byste použít MySQL nebo PostgreSQL.

Karesansui můžete nasadit na jakýkoli Linux. Sami vývojáři preferují CentOS (pro který je na webu podrobný návod), i když Karesansui funguje dobře na Debianu a Ubuntu. Před instalací musíte dokončit všechny závislosti uvedené v dokumentaci. Dále se spustí instalační skript a inicializuje se databáze. Pokud je použita konfigurace s více servery, stačí zadat externí databázi.

Následné práce plně vynahradí nepohodlí při instalaci. Všechna nastavení jsou rozdělena do sedmi záložek, jejichž účel je zřejmý z názvu: Host, Nastavení, Úloha, Síť, Úložiště, Zpráva a Protokol. V závislosti na roli uživatele mu nebudou všechny dostupné.

Nový virtuální počítač můžete vytvořit z místního souboru ISO nebo zadáním prostředku HTTP/FTP s instalačními obrazy. Budete také muset nastavit další atributy: název systému, který se zobrazí v seznamu, název sítě (název hostitele), technologii virtualizace (Xen nebo KVM), velikost paměti RAM a pevného disku (velikost paměti a velikost disku) - a vyberte obrázek, který bude odpovídat virtuálnímu OS, což usnadní rychlý vizuální výběr v konzole.

WebVirtMgr

Možnosti popsaných řešení jsou často nadbytečné a jejich instalace není pro administrátora s malými zkušenostmi vždy jasná. Ale i tady existuje cesta ven. Služba pro centralizovanou správu virtuálních strojů WebVirtMgr vznikla jako jednoduchá náhrada virt-manageru, který zajistí pohodlnou práci s VM pomocí prohlížeče s nainstalovaným Java plug-inem. Je podporována správa nastavení KVM: vytváření, instalace, konfigurace, spouštění virtuálních počítačů, snímky a zálohování virtuálních strojů. Zajišťuje správu síťového fondu a úložiště, práci s ISO, klonování obrazů, prohlížení zátěže CPU a RAM. K virtuálnímu počítači se přistupuje přes VNC. Všechny transakce se zaznamenávají do protokolů. Pomocí jediné instalace WebVirtMgr můžete spravovat více serverů KVM. Chcete-li se k nim připojit, použijte RPC libvirt (TCP/16509) nebo SSH.


Rozhraní je napsáno v Pythonu/Django. Pro instalaci budete potřebovat server se systémem Linux. Distribuováno ve zdrojovém kódu a balíčcích RPM pro CentOS, RHEL, Fedora a Oracle Linux 6. Samotný proces nasazení je jednoduchý a dobře popsán v projektové dokumentaci (v ruštině), stačí nakonfigurovat libvirt a nainstalovat webvirtmgr. Celý proces trvá pět minut. Po připojení k Dashboardu vyberte Přidat připojení a zadejte parametry uzlu, poté můžeme nakonfigurovat VM.

Pojďme naskriptovat vytvoření VM

Nejjednodušší skript pro vytvoření a spuštění virtuálního stroje pomocí VirtualBoxu:

#!/bin/bash vmname="debian01" VBoxManage createvm --name $(vmname) --ostype "Debian" --register VBoxManage modulevm $(vmname) --memory 512 --acpi on --boot1 dvd VBoxManage createhd - -filename "$(vmname).vdi" --size 10000 --variant Opraveno VBoxManage storagectl $(vmname) --name "IDE Controller" --add ide --controller PIIX4 VBoxManage storageattach $(vmname) --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium "$(vmname).vdi" VBoxManage storageattach $(vmname) --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /iso/debian-7.1.0-i386-netinst.iso VBoxManage modulevm $(vmname) --nic1 bridged --bridgeadapter1 eth0 --cableconnected1 na VBoxManage modifikacevm $(vmname) --vrde na obrazovce VBoxHeadless --startvm $(vmname)

Proxmox VE

Předchozí řešení jsou vhodná pro situace, kdy již nějaká infrastruktura existuje. Pokud jej však potřebujete nasadit, stojí za to přemýšlet o specializovaných platformách, které vám umožní rychle získat požadovaný výsledek. Příkladem je Proxmox Virtual Environment, což je linuxová distribuce (založená na Debian 7.0 Wheezy), která vám umožňuje rychle vybudovat infrastrukturu virtuálního serveru pomocí OpenVZ a KVM a prakticky není horší než produkty jako VMware vSphere, MS Hyper- V a Citrix XenServer .


Ve skutečnosti stačí systém nainstalovat (pár jednoduchých kroků), vše ostatní již funguje po vybalení z krabice. Poté můžete vytvořit virtuální počítač pomocí webového rozhraní. K tomuto účelu je nejjednodušší použít šablony a kontejnery OpenVZ, které se načítají z externích zdrojů přímo z rozhraní jedním kliknutím (pokud ručně, zkopírujte do adresáře /var/lib/vz/template). Šablony lze ale také vytvářet klonováním již vytvořených systémů v režimu propojení. Tato volba šetří místo na disku, protože všechna propojená prostředí používají pouze jednu společnou kopii dat referenční šablony bez duplikace informací. Rozhraní je lokalizované a srozumitelné; při práci s ním nezaznamenáte žádné zvláštní nepříjemnosti.

Nechybí podpora pro clustery, nástroje pro zálohování virtuálních prostředí a je možné migrovat VM mezi uzly bez zastavení práce. Řízení přístupu ke stávajícím objektům (VM, storage, nodes) je implementováno na základě rolí, podporovány jsou různé autentizační mechanismy (AD, LDAP, Linux PAM, vestavěný Proxmox VE). Webové rozhraní umožňuje přístup k VM pomocí konzolí VNC a SSH, můžete si prohlížet stav úlohy, protokoly, monitorovací data a mnoho dalšího. Je pravda, že některé operace specifické pro systémy HA budou muset být stále prováděny staromódním způsobem v konzole, například vytvoření autorizovaného připojení iSCSI, nastavení clusteru, vytvoření multipath a některé další operace.

Systémové požadavky jsou malé: CPU x64 (nejlépe s Intel VT/AMD-V), 1+ GB RAM. Projekt nabízí hotový ISO obraz a úložiště pro Debian.

Závěr

Všechna popsaná řešení jsou svým způsobem dobrá a dobře se vyrovnávají se zadanými úkoly. Stačí si vybrat ten, který nejlépe vyhovuje vaší konkrétní situaci.

Kimchi je webové rozhraní založené na HTML5 pro KVM. Poskytuje snadné a flexibilní rozhraní pro vytváření a správu hostovaných virtuálních strojů. Kimchi je nainstalován a běží jako démon na hostiteli KVM. Spravuje hosty KVM pomocí libvirt. Kimchi rozhraní podporuje všechny nejnovější verze prohlížečů s verzí -1, podporuje také mobilní prohlížeče.

Kimchi lze nainstalovat na nejnovější verzi RHEL, Fedora, openSUSE a Ubuntu. V této příručce jsem jako hostitel KVM použil Ubuntu 14.10.

Před konfigurací kimchi musíte nainstalovat následující závislé balíčky.

$ sudo apt-get install gcc make autoconf automake gettext git python-cherrypy3 python-gepard python-libvirt libvirt-bin python-imaging python-pam python-m2crypto python-jsonschema qemu-kvm-toolstoolspadidrpy pythonth python-ldap python-lxml nfs-common open-iscsi lvm2 xsltproc python-parted nginx firewalld python-guestfs libguestfs-tools python-requests websockify novnc spice-html5 wget

Systém se vás během instalace balíčků zeptá na následující podrobnosti.

1. OK v konfiguraci Postfixu.

2. Vyberte Internetová stránka v obecném typu konfigurace pošty.

3. Zadejte své FQDN a poté vyberte OK.

Po instalaci si stáhněte nejnovější verzi kimchi z githubu.

$ wget https://github.com/kimchi-project/kimchi/archive/master.zip

Rozbalte stažený soubor.

$ unzip master.zip $ cd kimchi-master/

Sestavte kimchi pomocí následujícího příkazu.

$ ./autogen.sh --system

$ make $ sudo make install # Volitelné, pokud běží ze zdrojového stromu

$ sudo kimchid --host=0.0.0.0

Přístup ke kimchi pomocí webového prohlížeče, https://localhost:8001. Budete požádáni o přihlášení, použijte své systémové přihlašovací údaje, které běžně používáte pro přihlášení do systému.


Jakmile se přihlásíte, dostanete stránku jako níže. Toto zobrazuje seznam běžících hostujících virtuálních strojů na aktuálním hostiteli, máte tlačítka pro provedení vypnutí, restartování a připojení ke konzole kliknutím na akci.


Chcete-li vytvořit nový počítač pro hosty, klikněte na znaménko + v pravém rohu. Pokud použijete tuto možnost k vytvoření stroje, bude to provedeno prostřednictvím šablon.


Šablony můžete spravovat v nabídce šablon. Chcete-li vytvořit novou šablonu, klikněte na znaménko + v pravém rohu. Můžete vytvořit šablonu pomocí ISO obrazů, můžete umístit iso obrazy na /var/lib/kimchi/isos nebo použít vzdálený.


Úložný fond můžete spravovat v nabídce úložiště, kde můžete přidat nové úložiště kliknutím na znaménko +. Podporuje přidávání NFS, iSCSI a SCSI fibre channel storage.


Síť lze spravovat v nabídce sítě, můžete vytvořit novou síť s izolovanou sítí, NAT a přemostěním.





Nahoru