Dawid Cieszyński

.NET/PHP Software Developer

Wczoraj zastrajkował mi dysk na serwerze. Mimo udanego odzyskania tablicy partycji dzięki TestDisk moje Gentoo miało problemy z widzialnością partycji (konfigurowałem na różne sposoby i nic to nie dało).

Więc postawiłem sobie do testów Ubuntu Server 9.10, przebrnąłem przez manuala i znowu mam maszynkę na moje backupy przez rsync. Ciekawe czy da się postawić na nim wirtualną maszynę np. z Windowsem i podłączyć się do niej zdalnie… DA SIĘ :)  i nie jest to zbyt skomplikowane.

Artykuł dotyczy ręcznego tworzenia maszyn wirtualnych. Aktualnie zamiast tego polecam użycie phpVirtualBox

Tu jest instrukcja do VirtualBox 1.5.2, aktualnie VirtualBox jest w wersji 3.1 i ta instrukcja nie do końca do niego pasuje. Więc przedstawię instrukcję wg. mojego przypadku

    1. Dodanie źródeł pakietów

      Najpierw trzeba dodać do listy repozytorów (/etc/apt/sources.list)  repozytorium dla tej wersji Ubuntu
      deb http://download.virtualbox.org/virtualbox/debian karmic non-free

      Musimy użyć repozytoriów Sun’a ponieważ pakiety dostępne domyślnie w Ubuntu nie zawierają funkcjonalności RDP, USB i USB over RDP (zawarte w zamkniętej wersji VirtualBox’a) Informacje o edycjach VirtualBox.

      Repozytoria dla innych dystrubucji

    2. Zainstalowanie VirtualBox
      sudo apt-get install virtualbox
    3. Utworzenie i zainstalowanie wirtualnej maszyny

      Tutaj było najwięcej problemów. Poniższy ciąg poleceń tworzy wirtualną maszynę: 

      VBoxManage createvm -name "ws2008" -register
      VBoxManage modifyvm "ws2008" --memory 512 --acpi on --boot1 dvd --nic1 intnet
      VBoxManage createvdi --filename "ws2008.vdi" --size 10240 --register
      VBoxManage storagectl "ws2008" --name "IDE Controller" --add ide
      VBoxManage modifyvm "ws2008" --hda "ws2008.vdi"
      VBoxManage registerimage dvd /storage/isos/ws2008.iso
      VBoxManage storageattach "ws2008" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /storage/isos/ws2008.iso
      VBoxManage modifyvm "ws2008" --vrdpport 3390
      
      1. Utworzenie i zarejestrowanie maszyny
      2. Ustawienie maszyny: 512MB RAM, włączone ACPI, bootowanie z dvd, sieć wewnętrzna
      3. Utworzenie i zarejestrowanie obrazu dysku  10GB
      4. Dodanie kontrolera IDE do maszyny. (Tego brakowało w instrukcji do wcześniejszych wersji, jeśli ktoś z was miał błąd ERROR: Could not find a storage controller named 'IDE Conroller', to właśnie dlatego, że maszyna nie miała kontrolera IDE dyskusja na forum VirtualBox )
      5. Przypisanie obrazu dysku do maszyny.
      6. Zarejestrowanie obrazu płyty instalacyjnej windows’a
      7. “Włożenie płyty” do wirtualnego dvd (nie wiem czy poprzedni krok był konieczny, bo tutaj i tak podaję ścieżkę; ten krok także się różny od przytoczonej wcześniej instrukcji do wersji 1.5.2)
      8. Ustawienie portu dla VRDP (Virtual Remote Desktop Protocol)
    4. Uruchomienie maszyny
      VBoxVRDP -startvm "ws2008"
      
    5. Podłączenie pulpitem zdalnym

      Teraz wystarczy się podłączyć przez pulpit zdalny z naszą maszyną na porcie który ustawiliśmy, w przykładzie: server:3390

    6. Oczywiście zanim zainstalujmy Guest Additions kursor myszy będzie się dziwnie zachowywał :)
      VBoxManage storageattach "ws2008" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /usr/share/virtualbox/VBoxGuestAdditions.iso
      
    7. Internet

      Jeśli ktoś potrzebuje na maszynie podłączenie do internetu, należy podłączyć NAT (przy wyłączonej maszynie wirtualnej):

      VBoxManage modifyvm "ws2008" --nic1 nat
      
    8. Dodatkowo możemy przekierować port wirtualnej maszyny aby był widzialny na zewnątrz:
      VBoxManage setextradata "ws2008" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
      VBoxManage setextradata "ws2008" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 3389
      VBoxManage setextradata "ws2008" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 3389
      

      gdzie guestssh to nasza nazwa przekierowania (zostawiłem nazwę z przykładu z wiki VirtualBox’a)

    9. Teraz możemy podłączyć się do naszego Windows’a albo przez VRDP udostępniony przez VirtualBox, albo przez RDP samego Windows’a. :D