Membuat cluster di proxmox menggunakan share disk DRBD – Bagian 2

Pada tulisan sebelumnya kita telah lakukan pembuatan cluster dan share disk menggunakan DRBD, langkah selanjutnya adalah membuat VM, sesuai skenario kita akan buat satu vm yang akan kita pasang Debian Wheezy.

Tapi sebelum dilakukan pembuatan VM, kita konfigurasikan dulu lvm disk yang sudah kita buat sebelumnya agar bisa digunakan di proxmox.

Langsung saja ke DatacenterStorageAddLVM group.

add_lvm

KONFIGURASI VM

Kita lanjutkan ke proses pembuatan VM,  kita bisa langsung ke tombol “Create VM”, beri nama, pilih sistem operasinya dst, satu hal yang menjadi catatan pada pembuatan vm ini adalah saat penentuan dimana vm ini akan diletakkan, kita pilih VG yang sebelumnya sudah kita siapkan, yaitu “vg_drbd”.

vg_drbd

Saat VM sudah terbuat, saatnya kita melakukan konfigurasi selanjutnya.

KONFIGURASI HA

HA adalah kepanjangan dari High Availability yang fungsinya adalah agar jika suatu saat salah satu mesin proxmox mati, maka virtual machine yang ada di dalamnya bisa otomatis dipindahkan ke mesin proxmox yang lain, dalam hal ini jika proxmox01 mati maka virtual machine yang ada di proxmox01 akan dipindahkan ke proxmox02.

Syarat dari HA ini adalah:

  • Harus ada Shared storage
  • Network yang Reliable
  • Harus ada Fencing device

Tapi dalam tulisan ini dikarenakan saya tidak punya fencing devices maka kita akan coba menggunakan “manual fencing device” yang mana ini digunakan hanya untuk kebutuhan simulasi pada tulisan ini.

“Fencing is vital for Proxmox to manage a node loss and thus provide effective HA. Fencing is the mechanism used to prevent data incoherences between nodes in a cluster by ensuring that a node reported as “dead” is really down. If it is not, a reboot or power-off signal is sent to force it to go to a safe state and prevent multiple instances of the same virtual machine run concurrently on different nodes”

Jadi jika tidak ada fencing devices maka tidak akan ada yang bisa memberitahukan ke node yang lain jika salah satu node mati.

Informasi selengkapnya tentang fencing device bisa dibaca di link berikut.

Oke sekian basa-basinya dan mari kita coba, dan sebelumnya silahkan berdoa sesuai agama dan kepercayaannya masing-masing 🙂

Login ke proxmox01, kemudian salin tempel konfigurasi clusternya.

root@proxmox01:~# cp /etc/pve/cluster.conf /etc/pve/cluster.conf.new
root@proxmox01:~# vi /etc/pve/cluster.conf.new
<?xml version="1.0"?>
<cluster config_version="6" name="cluster01">
  <cman keyfile="/var/lib/pve-cluster/corosync.authkey"/>
  <fencedevices>
    <fencedevice agent="fence_manual" name="human"/>
  </fencedevices>
  <clusternodes>
    <clusternode name="proxmox01" nodeid="1" votes="1">
      <fence>
        <method name="single">
          <device name="human" nodename="proxmox01"/>
        </method>
      </fence>
    </clusternode>
    <clusternode name="proxmox02" nodeid="2" votes="1">
      <fence>
        <method name="single">
          <device name="human" nodename="proxmox02"/>
        </method>
      </fence>
    </clusternode>
  </clusternodes>
  <rm/>
</cluster>

Jangan lupa untuk mengubah config_version=”6″ menggunakan nilai yang lebih tinggi setiap kali kita melakukan perubahan pada konfigurasi cluster. Jangan lupa juga untuk melakukan validasi terhadap perubahan konfigurasi clusternya.

root@proxmox01:~# ccs_config_validate -v -f /etc/pve/cluster.conf.new

Setelah hasil validasi OK, maka lakukan “activate” terhadap konfigurasi yang sudah dibuat.

Datacenter -- HA -- Activate

Langkah selanjutnya adalah menambahkan VM yang sudah kita buat tadi ke dalam group HA.

Datacenter -- HA -- Add -- HA managed VM/CT

Jangan lupa pastikan VM ID diisi dengan VM ID dari VM yang akan kita masukkan ke group HA, dalam hal ini VM ID nya adalah 100, kemudian “Activate”.

add_vm_ha

Langkah selanjutnya adalah mengaktifkan service RGManager di proxmox01 dan proxmox02.

proxmox01 -- Services -- RGManager - Start

Sampai disini kita akan simulasikan apakah VM ID 100 tadi bisa failover ke proxmox02 jika proxmox01 tidak available. Dalam tulisan ini kita akan coba simulasikan dengan hanya mematikan service “RGManager” di proxmox01.

Sebelumnya pastikan bahwa VM ID 100 status “Managed by HA = Yes”

managed_by_ha

Stop RGManager

proxmox01 -- Services -- RGManager - Stop

Stopping Cluster Service Manager: [ OK ]
TASK OK

Jika kita lihat di log, maka akan terlihat status seperti di bawah ini.

stop_rgmanager

Langkah selanjutnya kita periksa, seharusnya VM ID 100 sudah jalan di proxmox02.

vm_pindah

Jika hasilnya sudah terlihat seperti diatas, artinya proses failovernya berhasil :).

Referensi :

Membuat cluster di proxmox menggunakan share disk DRBD

Ini adalah langkah-langkah membuat cluster di Proxmox menggunakan DRBD disk untuk shared storagenya.

Dalam tulisan ini saya punya dua mesin yang saya beri nama “proxmox01” dan “proxmox02”, skenarionya adalah, dua mesin ini akan saya cluster kemudian saya akan buat satu “vm” menggunakan debian wheezy, yang kemudian akan saya failover-kan.

VM “wheezy” yang saya akan failover-kan nantinya akan ditempatkan di disk drbd.

Langkah awal tentunya install dulu proxmox dan konfigurasikan agar mesin tersebut bisa terkoneksi ke internet. IP address yang saya gunakan adalah:

proxmox01 : 10.87.16.120
proxmox02 : 10.87.16.130

KONFIGURASI CLUSTER

Buat cluster dalam hal ini saya beri nama “cluster01”

root@proxmox01:~# pvecm create cluster01
Restarting pve cluster filesystem: pve-cluster[dcdb] notice: wrote new cluster config '/etc/cluster/cluster.conf'
.
Starting cluster:
   Checking if cluster has been disabled at boot... [  OK  ]
   Checking Network Manager... [  OK  ]
   Global setup... [  OK  ]
   Loading kernel modules... [  OK  ]
   Mounting configfs... [  OK  ]
   Starting cman... [  OK  ]
   Waiting for quorum... [  OK  ]
   Starting fenced... [  OK  ]
   Starting dlm_controld... [  OK  ]
   Tuning DLM kernel config... [  OK  ]
   Unfencing self... [  OK  ]

Tambahkan node proxmox02 ke “cluster01” yang tadi telah dibuat.

root@proxmox02:~# pvecm add 10.87.16.120
The authenticity of host '10.87.16.120 (10.87.16.120)' can't be established.
RSA key fingerprint is d3:8e:c7:ec:a8:20:4d:e3:79:1c:d7:b1:84:3d:36:e0.
Are you sure you want to continue connecting (yes/no)? yes
root@10.87.16.120's password:
copy corosync auth key
stopping pve-cluster service
Stopping pve cluster filesystem: pve-cluster.
backup old database
Starting pve cluster filesystem : pve-clustercan't create shared ssh key database '/etc/pve/priv/authorized_keys'
.
Starting cluster:
   Checking if cluster has been disabled at boot... [  OK  ]
   Checking Network Manager... [  OK  ]
   Global setup... [  OK  ]
   Loading kernel modules... [  OK  ]
   Mounting configfs... [  OK  ]
   Starting cman... [  OK  ]
   Waiting for quorum... [  OK  ]
   Starting fenced... [  OK  ]
   Starting dlm_controld... [  OK  ]
   Tuning DLM kernel config... [  OK  ]
   Unfencing self... [  OK  ]
waiting for quorum...OK
generating node certificates
merge known_hosts file
restart services
Restarting PVE Daemon: pvedaemon.
Restarting web server: apache2 ... waiting .
successfully added node 'proxmox02' to cluster.

Periksa dan pastikan bahwa status cluster ok, dan seharusnya jumlah node menjadi dua.

root@proxmox01:~# pvecm status
Version: 6.2.0
Config Version: 2
Cluster Name: cluster01
Cluster Id: 53601
Cluster Member: Yes
Cluster Generation: 16
Membership state: Cluster-Member
Nodes: 2
Expected votes: 2
Total votes: 2
Node votes: 1
Quorum: 2
Active subsystems: 5
Flags:
Ports Bound: 0
Node name: proxmox01
Node ID: 1
Multicast addresses: 239.192.209.51
Node addresses: 10.87.16.120

Periksa node dari cluster01

root@proxmox01:~# pvecm nodes
Node  Sts   Inc   Joined               Name
   1   M     20   2013-10-24 11:36:28  proxmox01
   2   M     28   2013-10-24 11:36:42  proxmox02

Sampai disini kita sudah mempunyai cluster

KONFIGURASI DRBD

Install dan konfigurasikan share disk DRBD.

root@proxmox01:~# apt-get update
root@proxmox01:~# apt-get install drbd8-utils
root@proxmox01:~# reboot

root@proxmox02:~# apt-get update
root@proxmox02:~# apt-get install drbd8-utils
root@proxmox02:~# reboot

Buat partisi untuk volume yang akan digunakan DRBD, dalam tulisan ini partisi yang saya gunakan adalah “/dev/sdb1”

Buat konfigurasi DRBD di proxmox01 dan proxmox02.

root@proxmox01:~# vi /etc/drbd.d/r0.res
resource r0 {
        protocol C;
        startup {
                wfc-timeout  0;     # non-zero wfc-timeout can be dangerous
                degr-wfc-timeout 60;
                become-primary-on both;
        }
        net {
                cram-hmac-alg sha1;
                shared-secret "h4ll0w0rd";
                allow-two-primaries;
                after-sb-0pri discard-zero-changes;
                after-sb-1pri discard-secondary;
                after-sb-2pri disconnect;
        }
        on proxmox01 {
                device /dev/drbd0;
                disk /dev/sdb1;
                address 10.87.16.120:7788;
                meta-disk internal;
        }
        on proxmox02 {
                device /dev/drbd0;
                disk /dev/sdb1;
                address 10.87.16.130:7788;
                meta-disk internal;
        }
}
root@proxmox01:~# drbdadm create-md r0
DRBD module version: 8.3.13
   userland version: 8.3.7
you should upgrade your drbd tools!
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.

Lakukan juga langkah diatas di proxmox02.

Periksa status DRBD, seharusnya statusnya masih “ro:Secondary/Secondary”

root@proxmox01:~# cat /proc/drbd
version: 8.3.13 (api:88/proto:86-96)
GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by root@sighted, 2012-10-09 12:47:51
 0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Diskless C r-----
    ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:31454240

Lakukan hal ini hanya disalah satu node, dalam hal ini saya lakukan di proxmox01

root@proxmox01:~# drbdadm -- --overwrite-data-of-peer primary r0

Stop service DRBD di proxmox01 dan proxmox02.

root@proxmox01:~# /etc/init.d/drbd stop
root@proxmox02:~# /etc/init.d/drbd stop

Start service DRBD di proxmox01 dan proxmox02.

root@proxmox01:~# /etc/init.d/drbd start
root@proxmox02:~# /etc/init.d/drbd start

Periksa status DRBD, pastikan bahwa statusnya adalah “Primary/Primary”

root@proxmox01:~# cat /proc/drbd
version: 8.3.13 (api:88/proto:86-96)
GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by root@sighted, 2012-10-09 12:47:51
 0: cs:SyncSource ro:Primary/Primary ds:UpToDate/Inconsistent C r-----
    ns:137736 nr:0 dw:0 dr:146128 al:0 bm:7 lo:1 pe:81 ua:64 ap:0 ep:1 wo:b oos:31326752
        [>....................] sync'ed:  0.5% (30592/30716)M
        finish: 0:20:27 speed: 25,496 (25,496) K/sec

Tunggu hingga sync nya selesai dan statusnya adalah “cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate”

root@proxmox01:~# cat /proc/drbd
version: 8.3.13 (api:88/proto:86-96)
GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by root@sighted, 2012-10-09 12:47:51
 0: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r-----
    ns:0 nr:31454276 dw:31454240 dr:64 al:0 bm:1920 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

Sunting konfigurasi LVM di proxmox01 dan proxmox02.

root@proxmox01:~# vi /etc/lvm/lvm.conf

# By default we accept every block device:
filter = [ "r|/dev/sdb1|", "r|/dev/disk/|", "r|/dev/block/|", "a/.*/" ]

Buat PV dari disk drbd (/dev/drbd0), kemudian buat VG nya, lakukan hanya di salah satu node, dalam hal ini saya lakukan di proxmox01.

root@proxmox01:~# pvcreate /dev/drbd0
  Writing physical volume data to disk "/dev/drbd0"
  Physical volume "/dev/drbd0" successfully created

root@proxmox01:~# vgcreate vg_drbd /dev/drbd0
  Volume group "vg_drbd" successfully created

Bersambung…

Error saat mengakses konsol Proxmox

Anda sedang belajar Proxmox?, Anda mengalami error seperti dibawah ini saat Anda ingin mengakses console untuk membuat VM?

TASK ERROR: No accelerator found!
TASK ERROR: command '/bin/nc -l -p 5901 -w 10 -c '/usr/sbin/qm vncproxy 101 2>/dev/null'' failed: exit code 2

Saya punya solusinya, mudah-mudahan juga menjadi solusi untuk Anda, caranya adalah dengan melakukan “disable KVM Hardware Virtualization”.

proxmox_error_console

Semoga bermanfaat 🙂

Activation of database cannot be made because of BACKUP PENDING

Pernah menemukan error seperti ini saat hendak mengaktifkan database db2?

SQL1116N  A connection to or activation of database "TEST" cannot be made
because of BACKUP PENDING.  SQLSTATE=57019

Saya pernah, dan ini solusinya:

userdb@server01:/> db2dart TEST /CHST /WHAT DBBP OFF

Updated the log file header control file.
The requested DB2DART processing has completed successfully!
Complete DB2DART report found in:
/db2/TEST/db2dump/DART0000/TEST.RPT

Langkah-langkah instalasi osTicket di Debian Wheezy

osTicket is the world’s most popular and trusted open source customer support ticketing system. osTicket is designed to help you improve customer service by providing your staff with a customer support platform they need to deliver fast, effective and measurable support.

osTicket is a FREE, open source software released under GPL license. Our core features and usability not only rival, but also exceed those of most bloated commercial helpdesk solutions.

osTicket is powerful, yet simple to use. This ensures that your staff can quickly begin using the system without any headaches or hassles, and with very little or no training.

Itu adalah kutipan dari website resminya tentang apa itu osTicket dan apa gunanya osTicket, dan berikut ini adalah langkah-langkah instalasinya:

# apt-get install mysql-server mysql-client
# mysql_secure_installation
# apt-get install apache2 php5 libapache2-mod-php5 php5-mysql php5-curl php5-gd php5-idn php-pear 
  php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode 
  php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
# mysql -u root -p
Enter password:

mysql> CREATE USER 'osticket'@'localhost' IDENTIFIED BY 'p@ssw0rd';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT USAGE ON * . * TO 'osticket'@'localhost' IDENTIFIED BY 'p@ssw0rd' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE DATABASE IF NOT EXISTS `osticket` ;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON `osticket` . * TO 'osticket'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
# cd /var/www/ 
# wget http://osticket.com/dl/osTicket-v1.7.1.zip
# unzip osTicket-v1.7.1.zip
# ln -s upload osticket
# chown -R www-data:www-data upload
# cp include/ost-sampleconfig.php include/ost-config.php
# chmod 0666 include/ost-config.php

Akses ke http://ip_server/osticket
Ikuti langkah-langkah instalasinya hingga selesai, jika ada error maka akan tampil di halaman instalasi tersebut.

Untuk keamanan, setelah instalasinya selesai, lakukan hal dibawah ini:

# chmod 0664 /var/www/osticket/include/ost-config.php
# rm -rf /osticket/setup

osticket

Sekian dan semoga bermanfaat.

Apache OCF resource agent tidak mau start ketika modul SSL diaktifkan

Lagi-lagi masih seputar pacemaker dan apache2, setelah kemarin ketemu masalah, sekarang ketemu lagi masalah Apache OCF resource agent tidak mau start saat server direstart, akhirnya ketemu… ternyata dikarenakan folder /var/run/apache2 nya hilang/dihapus ketika server direstart, sedangkan /var/run/apache2 digunakan oleh apache jika SSL module diaktifkan.

Error log di apache :

[error] (2) No such file or directory: Cannot create SSLMutex with file `/var/run/apache2/ssl_mutex'

Ternyata ini adalah bug resource-agents

Solusinya adalah di-patch atau tambahkan di script OCF apachenya agar membuat folder /var/run/apache2 sebelum apachenya start.

# vi /usr/lib/ocf/resource.d/heartbeat/apache
...
start_apache() {
  if
    silent_status
  then
    ocf_log info "$CMD already running (pid $ApachePID)"
    return $OCF_SUCCESS
  fi

  [ -d /var/run/apache2 ] || mkdir /var/run/apache2 # <--- tambahkan baris berikut

  ocf_run $HTTPD $HTTPDOPTS $OPTIONS -f $CONFIGFILE
  tries=0
  while :  # wait until the user set timeout
  do
    monitor_apache
        ec=$?
        if [ $ec -eq $OCF_NOT_RUNNING ]
        then
                tries=`expr $tries + 1`
                ocf_log info "waiting for apache $CONFIGFILE to come up"
                sleep 1
        else
                break
        fi
  done
        if [ $ec -ne 0 ] && silent_status; then
                stop_apache
        fi
        return $ec
}
...

Semoga bermanfaat…

Pacemaker Alert via email

Lagi-lagi tentang pacemaker, Anda ingin menerima alert via email jika terjadi sesuatu dengan Cluster Anda? Anda cukup menjalankan langkah berikut di semua node cluster Anda.

# crm_mon --daemonize --mail-to user@example.com &

Pasang di /etc/rc.local agar ketika server direstart, perintah diatas akan dijalankan secara otomatis.

Hasilnya Anda akan menerima email alert seperti berikut:

Status OK

Cluster notification
====

Completed operation start for resource r0:0 on node1

Details:
operation status: (0) complete
script returned: (0) ok
expected return value: (0) ok

Salah satu resource failed

Cluster notification
====

Operation start for resource WebSite on node1 failed: Timed Out

Details:
operation status: (2) Timed Out

Apache tidak bisa start di node cluster Pacemaker

Jika Anda pengguna cluster pacemaker, dan menemukan error seperti dibawah ini saat resource apache2 tidak mau start dan isi dari error log tidak menunjukkan clue yang berarti :

Failed actions:
    WebSite_start_0 (node=node1, call=24, rc=-2, status=Timed Out): unknown exec error

Anda bisa mencoba langkah berikut, langkah ini sudah saya coba dan menyelesaikan masalah saya.

# crm status
============
Last updated: Fri Sep 13 11:38:17 2013
Last change: Fri Sep 13 11:38:02 2013 via crm_attribute on node1
Stack: openais
Current DC: node2 - partition with quorum
Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff
2 Nodes configured, 2 expected votes
7 Resources configured.
============

Online: [ node2 node1 ]

 Resource Group: WebServer
     ClusterIP  (ocf::heartbeat:IPaddr2):       Started node1
     WebFS      (ocf::heartbeat:Filesystem):    Started node1
     Links      (heartbeat:drbdlinks):  Started node1
     DBase      (ocf::heartbeat:mysql): Started node1
     WebSite    (ocf::heartbeat:apache):        Stopped
 Master/Slave Set: ms_r0 [r0]
     Masters: [ node1 ]
     Slaves: [ node2 ]

Failed actions:
    WebSite_start_0 (node=node1, call=24, rc=-2, status=Timed Out): unknown exec error

Tambahkan baris berikut di apache2.conf (saya menggunakan Debian 7.1)

ExtendedStatus On

<Location /server-status>
     SetHandler server-status
     Order deny,allow
     Deny from all
     Allow from 127.0.0.1
</Location>

Kemudian restart resource apachenya.

# crm resource restart WebSite

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.

Langkah-langkah downgrade versi PHP di Debian Wheezy

Ceritanya mau mindahin aplikasi dari server sebelah ke Debian Wheezy, dan developernya minta di downgrade PHP nya dari 5.4 ke 5.3, alasannya musti ngedit code & framework kalau tetep dipaksain menggunakan PHP 5.4.

Google sebentar, nemu link dan cobain, Alhamdulillah berhasil.

# vi /etc/apt/sources.list

deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.us.debian.org/debian/ squeeze main contrib non-free

Periksa php dan module versi 5.4 yang terpasang :

# dpkg -l | grep php| awk '{print $2}' |tr "n" " "

Sunting berkas /etc/apt/preferences.d/preferences dan sesuaikan dengan kebutuhan Anda, silahkan dibuat jika berkas tersebut tidak ada.

# vi /etc/apt/preferences.d/preferences

Package: php5*
Pin: release a=oldstable
Pin-Priority: 700

Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700

Package: php-pear
Pin: release a=oldstable
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600

Hapus paket-paket PHP versi 5.4 beserta modul-modulnya.

# aptitude remove `dpkg -l | grep php| awk '{print $2}' |tr "n" " "`

Install paket  PHP 5.3 beserta modul-modul yang dibutuhkan.

# apt-get update
# apt-get -t oldstable install `dpkg -l | grep php5| awk '{print $2}' |tr "n" " "`

Install juga paket-paket tambahannya

# apt-get install php-pear uw-mailutils libgd-tools liblcms-utils libmagick core3-extra libmcrypt-dev mcrypt memcached

Periksa list paket PHP dan modul-modul yang terinstall.

# dpkg -l | grep php