Obrazek użytkownika cytrynek

Zarządzanie maszyną wirtualną na przykładzie Virtualbox-a i VboxManage

Treść: 

Wirtualizacja w obecnych czasach jest niezbędnym elementem administracji serwerem, dzięki któremu możemy zmniejszyć ilość maszyn fizycznych. Obecnie w naszej szkole maszyny wirtualne używane są m.in. do tworzenia serwerów LAMP na kierunku Aplikacje Internetowe. Poniżej znajduje się kilka niezbędnych poleceń terminala do programu Virtualbox -> VboxManage.

Strona internetowa dotycząca vboxmanage:

http://www.virtualbox.org/manual/ch08.html

http://www.howopensource.com/2011/06/how-to-use-virtualbox-in-terminal-commandline/

 

Tworzenie maszyny wirtualnej

VBoxManage createvm --name UbuntuLAMP

 

Tworzenie dysku twardego o pojemności 8000MB

VBoxManage createhd --filename UbuntuLAMP --size 8000

 

Rejestracja maszyny wirtualnej – aby była widoczna na liści zarówno w Virtualbox-ie jak i vboxmanage

VBoxManage registervm '/home/user/VirtualBox VMs/UbuntuLAMP/UbuntuLAMP.vbox'

lub

VBoxManage createvm --name UbuntuLAMP --register

 

Modyfikacja rodzaju maszyny

VBoxManage modifyvm UbuntuLAMP --ostype Ubuntu

 

Przydzielenie pamięci – 512MB maszynie

VBoxManage modifyvm UbuntuLAMP --memory 512

 

Sprawdzenie uruchomionych maszyn

VBoxManage list runningvms

 

Sprawdzenie dostępnych maszyn

VBoxManage list vms

 

Uruchomienie maszyny bez ekranu (w tle)

VBoxManage startvm UbuntuLAMP1 --type headless

 

Wyłączenie maszyny

VBoxManage controlvm UbuntuLAMP1 poweroff

 

Sprawdzenie zasobów systemowych maszyny

VBoxManage showvminfo UbuntuLAMP1

 

Uzyskanie informacji o interfejsie sieciowym (jeżeli jest zmostkowany)

VBoxManage list bridgedifs

 

Uzyskanie informacji o interfejsach sieciowych uruchomionych na wirtualnej maszynie UbuntuLAMP

VBoxManage showvminfo UbuntuLAMP | egrep ^NIC

 

Kopiowanie maszyny wirtualnej z rejestracją

VBoxManage clonevm UbuntuLAMP --name UbuntuLAMP1 –register

 

 Można się pokusić o utworzenie skryptu dotyczącego uruchamiania maszyn wirtualnych w oparciu o VBoxManage. Poniżej przedstawiam mój skrypt, na którym są 4 maszyny.

 

 #!/bin/bash


echo -e "\nUruchomione maszyny"
/usr/bin/vboxmanage list runningvms

echo -e "\n1. Uruchom WindowsXP+Corel"
echo "2. Uruchom Debian"
echo "3. Uruchom Win7"
echo "4. Uruchom UbuntuLAMP_ImpactJS"
echo "5. Zakoncz WindowsXP+Corel"
echo "6. Zakoncz Debian"
echo "7. Zakoncz Win7"
godzina=`date +"%m-%d-%Y_godz-%H.%M"`
echo "9. Eksport wybranej maszyny do ~/Dokumenty/$godzina.ovf"
echo -e "\nwybierz opcje\n"

read wpis

case "$wpis" in

1)  echo "wybrales WindowsXP+Corel {bee2f519-bfa3-4104-bcba-87d0bd0e51ad}"
    VBoxManage startvm bee2f519-bfa3-4104-bcba-87d0bd0e51ad --type headless
    ;;
2)  echo  "Debian {8eb63145-33ab-42c8-8da6-31cbb757592e}"
    VBoxManage startvm Debian --type headless
    ;;
3)  echo  "Win7 {891ce0e4-960a-447b-9391-f8894511868d}"
    VBoxManage startvm Win7 --type headless
    ;;
4) echo  "UbuntuLAMP_ImpactJS {42a412c5-3015-4aee-bd19-f39aa6f99dc8}"
   VBoxManage startvm UbuntuLAMP_ImpactJS --type headless
   ;;
5) echo  "Wylaczam WindowsXP+Corel"
   VBoxManage controlvm bee2f519-bfa3-4104-bcba-87d0bd0e51ad poweroff
   ;;
6) echo  "Wylaczam Debian"
   VBoxManage controlvm Debian poweroff
   ;;
7) echo  "Wylaczam Win7" 
   VBoxManage controlvm Win7 poweroff
   ;;   
8) echo  "Wylaczam UbuntuLAMP_ImpactJS" 
   VBoxManage controlvm UbuntuLAMP_ImpactJS poweroff
   ;;
9) echo  "Podaj nazwe maszyny" 
read maszyna

echo "Czy usunac pozostale pliki (ovf i ova)  z katalogu Dokumenty?(t/n)"
read decyzja

if [ $decyzja = "t" ]; then

	echo "usuwam pliki"
	rm ~/Dokumenty/*.ova
	rm ~/Dokumenty/*.ovf
else
	echo "pozostawiam pliki"
fi

echo -e "\nEksportuję do ~/Dokumenty/$maszyna-$godzina.ovf\n"
vboxmanage export $maszyna --output "Dokumenty/$maszyna-$godzina.ovf"

   ;;
*) echo "Signal number $1 is not processed"
   ;;
esac

 

 

 

 

Kategoria wpisu: