Membuat virtual machine di Virtualbox menggunakan Command Line

Dalam tulisan ini, Host OS menggunakan Debian wheezy, kemudian diinstall virtualbox versi 4.1.18 dan Extension_Pack-4.1.8.

Untuk Guest OS nya diberi nama “wheezy” yang akan di-install Debian Wheezy netinst menggunakan berkas iso “debian-7.1.0-i386-netinst.iso” yang sebelumnya sudah diunggah ke “/home/vbox” yang merupakan home folder dari user “vbox” selaku user virtualbox.

Install virtualbox

# apt-get update
# apt-get install virtualbox

Buat user vbox

# useradd -m vbox -G vboxusers,cdrom
# passwd vbox
# su - vbox

Mulai tahapan pembuatan virtual machine-nya.

$ VBoxManage createvm --name wheezy --ostype Debian --register
Virtual machine 'wheezy' is created and registered.
UUID: e0e4a4fe-5ae5-4602-bb16-459f22424a8b
Settings file: '/home/vbox/VirtualBox VMs/wheezy/wheezy.vbox'

Check interface yang kita gunakan, karena kita akan menggunakan interface tersebut nantinya.

$ /sbin/ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:0c:29:86:8e:e5
          inet addr:10.xxx.xxx.xxx  Bcast:10.xxx.xxx.xxx  Mask:255.255.255.0
$ VBoxManage modifyvm "wheezy" --memory 2048 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0

Periksa konfigurasi yang barusan kita lakukan

$ VBoxManage showvminfo wheezy | grep "Memory size"
Memory size:     2048MB
$ VBoxManage showvminfo wheezy | grep "NIC 1"
NIC 1:  MAC: 080027D85B5D, Attachment: Bridged Interface 'eth0', Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny

Proses pembuatan harddisk, dengan format VDI (bisa juga diset ke VMDK atau VHD)

$ VBoxManage createhd --filename ~/VirtualBox VMs/wheezy/wheezy.vdi --size 10000 --format VDI
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Disk image created. UUID: 252a25f2-0327-42e1-b117-ddad42da1b09

Pasang disk yang tadi kita buat

$ VBoxManage storagectl wheezy --name "SATA Controller" --add sata --controller IntelAhci
$ VBoxManage storageattach "wheezy" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium ~/VirtualBox VMs/wheezy/wheezy.vdi

Pasang berkas iso debian-7.1.0-i386-netinst.iso

$ VBoxManage storagectl wheezy --name "IDE Controller" --add ide --controller PIIX4
$ VBoxManage storageattach wheezy --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium ~/debian-7.1.0-i386-netinst.iso
$ VBoxManage showvminfo wheezy | grep "IDE Controller"
Storage Controller Name (1):            IDE Controller
IDE Controller (1, 0): /home/vbox/debian-7.1.0-i386-netinst.iso (UUID: c0d2679e-1fd5-4e57-8967-c68218c00c7e)

Meng-enable remote desktop, untuk kemudahan dalam proses instalasi Guest OS nantinya.

$ VBoxManage modifyvm wheezy --vrde on
$ VBoxManage modifyvm wheezy --vrdemulticon on --vrdeport 3389
$ VBoxManage showvminfo wheezy | grep "VRDE"
VRDE:            enabled (Address 0.0.0.0, Ports 3389, MultiConn: on, ReuseSingleConn: off, Authentication type: null)
VRDE Connection:    not active

Start vm yang sudah dibuat

$ VBoxHeadless --startvm wheezy
Oracle VM VirtualBox Headless Interface 4.1.18_Debian
(C) 2008-2013 Oracle Corporation
All rights reserved.

VRDE server is listening on port 3389.

Muncul keterangan bahwa VRDE sudah listen di port 3389, artinya saatnya kita lakukan remote desktop menggunakan remote dektop fasilitas dari Windows.

vrde_virtualbox

Sekian dan semoga bermanfaat.

Virtual Server di HostOS yang tidak mempunyai GUI

Menyangkut pertanyaan saya di milis id-ubuntu tentang Virtual Server di HostOS yang tidak punya GUI, ternyata “VirtualBox Headless Server” bisa menjadi solusi buat saya… terima kasih buat teman-teman milis id-ubuntu yang sudah membantu… 🙂

Sekedar sharing, untuk langkah-langkah instalasi dan konfigurasinya bisa dilihat di HOWTO: Setup Headless Sun xVM VirtualBox 1.6 on Ubuntu Server 8.04.

Dan jika kita ingin GuestOS itu nantinya juga bisa diremote melalui ssh, maka ada sedikit trik tambahan, yaitu :

Jalankan 3 baris command berikut di HostOS (Ubuntu)

# VBoxManage setextradata [GuestOS-name] “VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol” TCP
# VBoxManage setextradata [GuestOS-name] “VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort” 22
# VBoxManage setextradata [GuestOS-name] “VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort” 2222

Silahkan ganti [GuestOS-name] dengan nama GuestOS yang terinstall di VirtualBox.

Di VirtualBox ini, untuk network saya set menggunakan NAT, dan ketika instalasi GuestOS selesai, maka otomatis kita bisa menggunakan koneksi internet yang ada pada HostOS (Ubuntu).

Oh ya, untuk ssh ke GuestOS silahkan gunakan command :

# ssh IP_HostOS -l username -p 2222

Untuk mengaktifkan service apache sehingga bisa diakses dari luar, maka perlu menjalankan 3 baris command berikut di HostOS (Ubuntu)

# VBoxManage setextradata [GuestOS-name] “VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/HostPort” 8900
# VBoxManage setextradata [GuestOS-name] “VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/GuestPort” 80
# VBoxManage setextradata [GuestOS-name] “VBoxInternal/Devices/pcnet/0/LUN#0/Config/apache/Protocol” TCP

Untuk mengakses webservernya, silahkan pointing ke http://IP_HostOS:8900

Sekian mudah-mudahan bermanfaat… 🙂

Mengaktifkan NAT di Sun xVM VirtualBox

Untuk mengaktifkan NAT di Sun xVM VirtualBox, ada sedikit trik yang harus di jalankan, pastikan kondisi GuestOS tidak dalam kondisi hidup (ON).

Misalkan kita menggunakan Ubuntu sebagai HostOS, dan OpenSolaris sebagai GuestOS nya, maka jalankan command-command dibawah ini melalui console di Ubuntu.

# VBoxManage setextradata [nama_virtual_mesin] “VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol” TCP
# VBoxManage setextradata [nama_virtual_mesin] “VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort” 22
# VBoxManage setextradata [nama_virtual_mesin] “VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort” 2222

Setelah dijalankan kita bisa mengecek hasil command-command tersebut dengan cara :

# VBoxManage getextradata [nama_virtual_mesin] enumerate

Jika terjadi kesalahan dalam penambahan extradata tersebut atau kita ingin mengembalikan settingan tersebut seperti semula, maka kita bisa gunakan command dibawah ini untuk meremovenya :

# VBoxManage setextradata [nama_virtual_mesin] “VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol”
# VBoxManage setextradata [nama_virtual_mesin] “VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort”
# VBoxManage setextradata [nama_virtual_mesin] “VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort”

Setelah selesai, silahkan jalankan GuestOS di VirtualBox, pastikan tidak ada error ketika proses startingnya.

Untuk mengaktifkan fungsi port forwarding, agar GuestOS bisa ikut menggunakan koneksi internet si HostOS, maka kita perlu merubah file /etc/sysctl.conf di HostOS nya 🙂

#net.ipv4.ip_forward=0

menjadi :

net.ipv4.ip_forward=1

Aktifkan DNS di GuestOSnya

# vi /etc/resolv.conf
nameserver 192.168.0.1

Selamat ber-NAT dan berinternet ria di Sun xVM VirtualBox…. 🙂