Virtualizácia...virtualizácia...
V súčasnosti sa každý snaží zo svojich hardvérových zdrojov vyžmýkať čo najviac. Mať niekoľko jednotlivé počítače s rôznymi OS je to trochu drahé a nie všetky organizácie to urobia. Existuje však cesta von, môžete použiť virtuálne stroje. A je možné, že veľa ľudí na tieto účely používa úžasný produkt od Sun „VirtualBox“. Som si istý, že väčšina ľudí používa na konfiguráciu rozhranie GUI, pretože... je to veľmi prehľadné a pohodlné. Koľko ľudí však premýšľalo o možnosti spravovať VirtualBox cez konzolu?
Úloha bola stanovená: nainštalovať dva operačné systémy (Ubuntu a Windows) na jeden server. Súčasne tam bol funkčný server pod Správa Ubuntu 9.04 Server Edition. Preto bolo rozhodnuté nainštalovať Windows XP ako hosťovský systém.
Ale vyskytol sa problém na Ubuntu, ktorý nie je nainštalovaný grafické prostredie, t.j. je tam len holá konzola.
Takže čo máme:
P.S. Windows XP bol potrebný len z jedného dôvodu. Projekt potreboval použiť MS SQL Server.
Niekedy je potrebné spustiť virtuálny počítač na hostiteľovi bez X. Poviem vám, ako to urobiť, mať prístup k hostiteľskému systému iba cez ssh + rdp (Remote Desktop Protocol). Popíšem proces pre OC Ubuntu 9.10 ako hostiteľa.
Začnime inštaláciou VirtualBoxu.
Najprv musíte nainštalovať balík dkms (Dynamic Kernel Module Support Framework):
Sudo apt-get install dkms
Stránka ponúka 2 možnosti: zaregistrovať zdroj balíka (deb download.virtualbox.org/virtualbox/debian karmic non-free) v /etc/apt/sources.list alebo stiahnuť a nainštalovať balík deb. Keď som zaregistroval zdroj a nainštaloval sudo apt-get virtualbox-3.1, dostal som veľa balíkov závislostí (vrátane niektorých pre rozhranie GUI). Preto je lepšie stiahnuť si balík deb. Stiahnite si a nainštalujte:
Sudo dpkg -i virtualbox-3.1_3.1.0-55467_Ubuntu_karmic_i386.deb
Možno tu budú potrebné aj závislosti (niektoré knižnice pre xml analýza, v ktorom sú uložené konfigurácie, ale je ich podstatne menej ako v prvom prípade). Ak sa inštalácia nedokončila kvôli závislostiam, môžete to jednoducho urobiť
Sudo apt-get -f install
Týmto sa nainštalujú závislosti a VirtualBox
OK. Nainštalovaný VirtualBox. Začnime vytvárať hosťovské stroje.
Vytvorme samotné auto:
VBoxManage createvm --name ubuntu --ostype Ubuntu --register
(name - názov počítača, ostype - typ systému. úplný zoznam všetky typy možno nájsť pomocou príkazu VBoxManage list ostypes)
Nastavenie
VBoxManage modulevm ubuntu --pamäť 512 --disketa vypnutá --zvuk žiadny --nic1 premostený --bridgeadapter1 eth0 --vram 4 --accelerate3d vypnutý --boot1 disk --acpi zapnutý --cableconnected1 zapnutý --usb vypnutý --vrdp na --vrdpport 3390
Tu je všetko jasné. Môžete tiež zadať NAT ako typ siete (--nic1 nat). povoliť aj rdp
Tvoríme hdd disk pre virtuálny stroj:
VBoxManage createhd --filename /home/user/vbox/ubuntu.vdi --size 20000 --register
Pridanie radiča IDE do nášho počítača
VBoxManage storagectl ubuntu --name "IDE Controller" --add ide
Predtým vytvorený hdd pripojíme k IDE0
VBoxManage storage pripojte ubuntu --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/user/vbox/ubuntu.vdi
Na IDE1 pripájame inštalačný obrázok
VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/user/vbox/iso/ubuntu-9.10-alternate-i386.iso
Oznámenie počítaču, aby zaviedol systém z disku
VBoxManage modulevm ubuntu --boot1 dvd
Naštartujeme auto
Na inštaláciu základného systému použijeme klienta rdp (mám KDE, KRDC je súčasťou štandardného balíka). pripojte sa k hostiteľskému počítaču na port špecifikovaný v nastaveniach (--vrdpport 3390), nainštalujte systém, urobte sudo apt-get install openssh-server . Teraz máte prístup k virtuálnemu stroju cez ssh
Zastavenie virtuálneho počítača
Tlačidlo VBoxManage controlvm ubuntu acpi
cez acpi
Alebo tvrdšie
VBoxManage controlvm vypnutie ubuntu
Hovoríme, že bootuje z hdd
VBoxManage modulevm ubuntu --boot1 disk
Inštalačný disk môžete tiež odopnúť
VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --medium none
A začíname odznova
Nohup VBoxHeadless --startvm ubuntu &
Viac užitočných príkazov:
VBoxManage zoznam spustenýchvms
zobraziť všetky bežiace stroje
VBoxManage showvminfo ubuntu
zobrazenie informácií o virtuálnom stroji
Teda na jednom stroji s minimálnou nainštalovaný systém môžete vychovať niekoľko virtuálnych na rôzne účely a experimenty
1. Vytvorte virtuálny počítač s názvom windows_xp
VBoxManage createvm --name windows_xp --regist er
Vytvorený virtuálny stroj je XML súbor, ktorý sa nachádza v domovskom adresári /root/VirtualBox\ VMs/windows_xp/windows_xp.vbox
2. Ďalej musíte vytvoriť disk virtuálneho počítača
VBoxManage createhd --filename /date/VirtualBox/windows_xp.vdi --size 15000 --variant Oprava d
Štandardne je disk vytvorený v domovskom priečinku používateľa, disk windows_xp.vdi sme vytvorili v adresári /date/VirtualBox/ s veľkosťou 15 gigabajtov; veľkosť je pevná, t.j. dynamicky sa nezväčšuje.
3. Vytvorte ovládač virtuálne disky
VBoxManage storagectl windows_xp --name "IDE Controller" --add ide --controller PIIX4
Pomocou tohto príkazu sa vytvorí IDE radič s názvom „IDE Controller“, typ radiča je PIIX4.
4. Pripojte sa virtuálny disk na virtuálny stroj:
VBoxManage storageattach windows_xp --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /date/VirtualBox/windows_xp.vdi
5. Pripojte virtuálny obraz operačného systému, ktorý chceme nainštalovať
VBoxManage storageattach windows_xp --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /date/public/winxp_pro_eng_sp3.iso
6. Nastavte veľkosť RAM pre virtuálny stroj 512 MB
vboxmanage changesvm windows_xp --memory 512
7. Nastavte typ systému VBoxManage Modifyvm windows_xp --ostype WindowsX P
zobraziť všetky možné ostypes: VBoxManage zoznam ostypes
8. Umožnite pripojenie ku konzole cez RDP
vboxmanage changesvm windows_xp --vrde zapnuté
Aby bola správa virtuálnych strojov pohodlnejšia, potrebujete sadu doplnkov, ktorá zahŕňa USB 2.0 a vstavaný server RDP. Stiahnite si doplnky a nainštalujte: wget http://dlc.sun.com.edgesuite.net/virtualbox/4.2.12/Oracle_VM_VirtualBox_Extension_Pack-4.2.12-84980.vbox-extpack
Inštalácia balíka VBoxManage extpack Oracle_VM_VirtualBox_Extension_Pack-4.2.12-84980.vbox-extpack
9. Spustite virtuálny stroj
vboxheadless -s windows_xp alebo na pozadí:
VBoxManage startvm windows_xp --type headless
na spustenie hosťujúceho OS na hostiteľskom počítači, s ktorým pracujete cez ssh, musíte použiť kľúč –type=headless:
10. Pripojte sa cez RDP ip_servera a nainštalujte win_xp ako zvyčajne
11. Zariadenie môžete vypnúť takto: VBoxManage controlvm windows_xp poweroff
12. Pripojte disk VboxGuestAdditions
VBoxManage storageattach windows_xp --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /usr/share/virtualbox/VBoxGuestAdditions.iso
Spustíme stroj a nainštalujeme VboxGuestAdditions
13. Podrobné informácie o konkrétnom virtuálnom OS je možné získať pomocou príkazu VBoxManage showvminfo windows_xp
14. Tento príkaz vytvorí premostené sieťové rozhranie NIC
VBoxManage modulevm windows_xp --nic1 bridged --bridgeadapter1 eth0
15. Ak je potrebné naklonovať disk virtuálneho stroja, vykoná sa to pomocou pomôcky VBoxManage:
VBoxManage clonehd /path/from/copying/image1.vdi /path/where/copying/image2.vdi
Potom sa všetko úžasne pripojí k novému virtuálnemu stroju.
16. Vytvorte zdieľaný priečinok so serverom
vboxmanage sharedfolder pridať "windows_xp" --name share-name --hostpath /mnt
Pripojiť zdieľaný priečinok z windows_xp spustiť
\\vboxsvr\share-name
Bežní používatelia VirtualBoxu si nemusia byť vedomí obrovskej sily, ktorá sa skrýva v rozhraní príkazového riadku.
Ľudia sa zvyčajne pýtajú: "Načo pracovať na príkazovom riadku, keď máte dokonale dobré GUI?" Odpoveďou je obrovská sila príkazového riadku. Od roku 1995 tu bola celá generácia používateľov počítačov ktorí veria, že počítač je súbor okien a grafiky, ale v skutočnosti je to veľmi ďaleko od pravdy. Prečo, 1995, pýtate sa? S príchodom Windows 95 v roku 1995 sa otvorila nová počítačová éra – éra grafických rozhraní. Krátko po tom osudnom auguste bol vydaný FVWM95, ktorý bol odpoveďou Linuxu na rozhranie Windows 95 Explorer. Zdá sa mi, že v tých starých dobrých časoch príkazový riadok navždy zmizol. Nikto už nechcel používať DOS a Linuxu sa prestali báť. Ale príkazový riadok je v prostredí Linuxu stále živý. Vo Windowse je to stále celkom živé. A teraz, keď sú Macy založené na Unixe, majú tiež veľa vecí, ktoré nevyžadujú GUI.
Možno vás prekvapí, že pod pekným grafickým rozhraním VirtuaBox s jasnou grafikou, prehľadnou stránkou Nastavenia a veľkým množstvom rozbaľovacích zoznamov sa skrýva okultný svet príkazového riadku. Skutočná sila tohto temného sveta bude odhalená len tým, ktorí sa odvážia vstúpiť do týchto zatuchnutých katakomb. Akonáhle sa zoznámite s príkazovým riadkom VirtualBox, možno sa rozhodnete, že grafické používateľské rozhranie je o niečo viac ako pekná záclona navrhnutá pre tých, ktorí by inak len ignorovali nudný čierny obdĺžnik skutočne spustenej aplikácie.
Čierny obdĺžnik, o ktorom som hovoril, je okno terminálu. Príkazový riadok vám umožňuje naplno využiť silu automatického vykonávania príkazov. Jediný spôsob automatizácia, ktorá je mi známa v systémoch *nix, je použitie skriptov napísaných v Perle, shell skriptov alebo skriptov v nejakom inom jazyku. A pomôže vám systémový démon plánovača (cron). správny čas spustiť skript. To je sila príkazového riadku, ktorý je vďaka schopnosti spúšťať sa automaticky, čo si vyžaduje aj schopnosť systémových administrátorov písať skripty, ich schopnosti. Na každom voľnom mieste, ktoré si vyžaduje správca systému, bude uvedené, že uchádzač musí byť schopný písať scenáre aspoň v jednom z tlmočených jazykov uvedených na voľnom mieste.
Pokiaľ ide o virtualizáciu, príkazový riadok vám umožňuje rýchlo vytvárať virtuálne disky, pridávať nové sieťové rozhranie, spúšťať virtuálne stroje a vytvárať nové virtuálne stroje, a to všetko bez použitia GUI. Automatické vykonávanie používanie skriptov vám tiež umožní naplánovať spustenie a zastavenie virtuálnych strojov bez vášho priameho zásahu. A ak ste naozaj skvelý scenárista, môžete napísať skript, ktorý vás s minimálnym zásahom z vašej strany povedie k vytvoreniu virtuálneho počítača, jeho spusteniu alebo inštalácii a zmene. Ak neradi robíte všetko ručne, vytvoríte si zoznam virtuálnych strojov, ktoré neustále používate, potom nastavíte skripty (šablóny) pre každý typ virtuálneho počítača, ktorý používate, a ak je to potrebné, vytvoríte virtuálny stroj v priebehu niekoľkých sekúnd.
Pozrime sa na jednoduché a elegantné funkčnosť príkazový riadok vo VirtualBoxe.
Pomocou odkazu VirtualBox Linux Downloads si stiahnite binárnu distribúciu určenú pre váš systém. Ak chcete, môžete si stiahnuť zdrojový kód. Pre voľbu, ktorú som si vybral (pre RHEL5/CentOS5 vo formáte rpm), boli vytvorené nasledujúce adresáre:
Ak vaša distribúcia nemá najnovšiu verziu VirtualBox (verzia 3.1.2 v čase písania tohto článku), potom použite niektorý z balíkov, ktoré je možné stiahnuť, alebo si stiahnite zdrojový kód.
Najťažšia vec pri používaní príkazového riadku je vedieť, kde začať. IN grafické rozhranie musíte použiť tlačidlo Nový. Príkazový riadok odhaľuje svoje tajomstvá trochu zložitejšie. Ak chcete vytvoriť a nakonfigurovať nový virtuálny počítač, musíte otvoriť okno terminálu alebo použiť reláciu ssh na prístup k systému Linux, na ktorom je nainštalovaný VirtualBox, a spustiť nasledujúci príkaz:
$ /usr/bin/VBoxManage createvm --name Debian5 –register
Tento príkaz vytvorí nový virtuálny stroj s názvom Debian5 a zaregistruje ho vo VirtualBoxe. Vytvorený virtuálny stroj je súbor XML, ktorý sa nachádza v domovskom adresári ~/.VirtualBox/Machines/Debian5/Debian5.xml.
Vytvorte virtuálny disk pre svoj virtuálny počítač:
$ /usr/bin/VBoxManage createhd --filename Debian5.vdi --size 4000 --variant Opravené
Vytvorili ste virtuálny disk s názvom Debian5.vdi s veľkosťou 4 GB (4000 MB); veľkosť je pevná, t.j. dynamicky sa nezväčšuje.
Virtuálny disk je vytvorený ako súbor ~/.VirtualBox/HardDisks/Debian.vdi
Vytvorte radič diskového zariadenia, ku ktorému pripojíte virtuálny disk a virtuálne CD/DVD zariadenie
$ /usr/bin/VBoxManage storagectl Debian5 --name "IDE Controller" --add ide --controller PIIX4
Tento príkaz vytvorí radič IDE s názvom „IDE Controller“, typ radiča je PIIX4.
Teraz pripojíme virtuálny disk k vášmu virtuálnemu stroju:
$ /usr/bin/VBoxManage storageattach Debian5 --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Debian5.vdi
Pripája sa ISO obrazže operačný systém, ktorý chcete nainštalovať:
$ /usr/bin/VBoxManage storageattach Debian5 --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /ISO/debian-40r3-i386-netinst.iso
Nastavenie siete:
$ /usr/bin/VBoxManage modulevm Debian5 --nic1 bridged --cableconnected1 on --bridgeadapter1 eth0
Pomocou tohto príkazu sa vytvorí sieťové rozhranie bridge NIC: kábel je pripojený pri spustení Linuxové systémy, adaptér - eth0.
Spustíme virtuálny stroj:
$ /usr/bin/VBoxManage startvm Debian5
Ak všetko pôjde podľa plánu, zobrazí sa nasledujúca správa a potom sa zobrazí okno virtuálneho počítača pripravené na inštaláciu:
Čaká sa na otvorenie vzdialenej relácie... Vzdialená relácia bola úspešne otvorená.
Ako vidíte, vytváranie a konfigurácia virtuálneho stroja z príkazového riadku vás oslobodí od nekonečného klikania myšou a otvára úplne nový svet možností automatizácie virtuálnych strojov. Nezašli sme príliš hlboko, ale dúfam, že to vzbudí vašu zvedavosť a povzbudí vás, aby ste preskúmali obrovskú silu, ktorú má príkazový riadok.
Niekedy je potrebné spustiť virtuálny počítač na hostiteľovi bez X. Poviem vám, ako to urobiť, mať prístup k hostiteľskému systému iba cez ssh + rdp (Remote Desktop Protocol). Popíšem proces pre OC Ubuntu 9.10 ako hostiteľa.
Začnime inštaláciou VirtualBoxu.
Najprv musíte nainštalovať balík dkms (Dynamic Kernel Module Support Framework):
Sudo apt-get install dkms
Stránka ponúka 2 možnosti: zaregistrovať zdroj balíka (deb download.virtualbox.org/virtualbox/debian karmic non-free) v /etc/apt/sources.list alebo stiahnuť a nainštalovať balík deb. Keď som zaregistroval zdroj a nainštaloval sudo apt-get virtualbox-3.1, dostal som veľa balíkov závislostí (vrátane niektorých pre rozhranie GUI). Preto je lepšie stiahnuť si balík deb. Stiahnite si a nainštalujte:
Sudo dpkg -i virtualbox-3.1_3.1.0-55467_Ubuntu_karmic_i386.deb
Možno tu budú potrebné aj závislosti (niektoré knižnice na parsovanie xml, v ktorých sú uložené konfigurácie, ale je ich podstatne menej ako v prvom prípade). Ak sa inštalácia nedokončila kvôli závislostiam, môžete to jednoducho urobiť
Sudo apt-get -f install
Týmto sa nainštalujú závislosti a VirtualBox
OK. Nainštalovaný VirtualBox. Začnime vytvárať hosťovské stroje.
Vytvorme samotné auto:
VBoxManage createvm --name ubuntu --ostype Ubuntu --register
(názov - názov počítača, ostype - typ systému. Kompletný zoznam všetkých typov nájdete pomocou príkazu VBoxManage list ostypes)
Nastavenie
VBoxManage modulevm ubuntu --pamäť 512 --disketa vypnutá --zvuk žiadny --nic1 premostený --bridgeadapter1 eth0 --vram 4 --accelerate3d vypnutý --boot1 disk --acpi zapnutý --cableconnected1 zapnutý --usb vypnutý --vrdp na --vrdpport 3390
Tu je všetko jasné. Môžete tiež zadať NAT ako typ siete (--nic1 nat). povoliť aj rdp
Vytvorte pevný disk pre virtuálny počítač:
VBoxManage createhd --filename /home/user/vbox/ubuntu.vdi --size 20000 --register
Pridanie radiča IDE do nášho počítača
VBoxManage storagectl ubuntu --name "IDE Controller" --add ide
Predtým vytvorený hdd pripojíme k IDE0
VBoxManage storage pripojte ubuntu --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/user/vbox/ubuntu.vdi
Na IDE1 pripájame inštalačný obrázok
VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/user/vbox/iso/ubuntu-9.10-alternate-i386.iso
Oznámenie počítaču, aby zaviedol systém z disku
VBoxManage modulevm ubuntu --boot1 dvd
Naštartujeme auto
Na inštaláciu základného systému použijeme klienta rdp (mám KDE, KRDC je súčasťou štandardného balíka). pripojte sa k hostiteľskému počítaču na port špecifikovaný v nastaveniach (--vrdpport 3390), nainštalujte systém, urobte sudo apt-get install openssh-server . Teraz máte prístup k virtuálnemu stroju cez ssh
Zastavenie virtuálneho počítača
Tlačidlo VBoxManage controlvm ubuntu acpi
cez acpi
Alebo tvrdšie
VBoxManage controlvm vypnutie ubuntu
Hovoríme, že bootuje z hdd
VBoxManage modulevm ubuntu --boot1 disk
Inštalačný disk môžete tiež odopnúť
VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --medium none
A začíname odznova
Nohup VBoxHeadless --startvm ubuntu &
Viac užitočných príkazov:
VBoxManage zoznam spustenýchvms
zobraziť všetky bežiace stroje
VBoxManage showvminfo ubuntu
zobrazenie informácií o virtuálnom stroji
Na jednom stroji s minimálne nainštalovaným systémom tak môžete vytvoriť niekoľko virtuálnych na rôzne účely a experimenty