Pacemaker, Corosync, DRBD, Apache, PHP dan MySql di Debian 7 “Wheezy”

Ini adalah catatan kecil tentang bagaimana melakukan instalasi dan konfigurasi cluster di Debian 7 (Wheezy), dalam tutotial singkat ini, Perangkat lunak yang digunakan adalah, Pacemaker, Corosync, DRBD, Apache, PHP dan MySql.

Tujuan akhir dari konfigurasi ini adalah membuat cluster aktif-pasif dengan menggunakan dua node (dalam tutorial ini menggunakan nama “satu” dan “dua”) yang mana kedua node tersebut bisa melakukan failover jika salah satu node  mengalami kerusakan. Sedangkan service yang dilayani adalah service Webserver dan MySQL.

DRBD disini berfungsi melakukan “raid over network” terhadap salah satu partisi disk yang mana partisi tersebut merupakan letak berkas data mysql dan berkas webserver, jadi ketika satu node mengalami kerusakan maka data akan tetap aman.

Pacemaker, Corosync, DRBD, Apache, PHP dan MySql di Debian 7 “Wheezy”

Clonning zone/container Solaris

Ini adalah langkah-langkah cara melakukan clonning terhadap zone/container di Solaris, dalam tulisan ini dicontohkan bahwa kita akan melakukan clonning dari zone “sumber” menjadi zone “tujuan”.

root@globalzone # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0 global            running    /                              native   shared
1 sumber            running    /zone/sumber                   native   shared

Terlihat hanya ada satu non-global zone yaitu zone “sumber”

Matikan zone “sumber” dan export konfigurasi zone “sumber”

root@globalzone # zoneadm -z sumber halt
root@globalzone # zonecfg -z sumber export -f /zone/tujuan.cfg

Sesuaikan dengan konfigurasi zone Anda, dalam contoh ini hanya zonepath serta alamat ip yang disesuaikan.

root@globalzone # cat /zone/tujuan.cfg
create -b
set zonepath=/zone/tujuan
set autoboot=true
set ip-type=shared
add net
set address=10.87.2.20
set physical=bge0
end
add dedicated-cpu
set ncpus=1-2
end

Buat zone kosong berdasarkan dari konfigurasi yang tadi kita export.

root@globalzone # zonecfg -z tujuan -f /zone/tujuan.cfg

Lakukan clonning

root@globalzone # # zoneadm -z tujuan clone sumber
Copying /zone/sumber...

root@globalzone # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0 global            running    /                              native   shared
- sumber            installed  /zone/sumber                   native   shared
- tujuan            installed  /zone/tujuan                   native   shared

Jika sudah seperti ini tinggal nyalakan zone “tujuan” dan ikuti step-step yang muncul dilayar hingga finish.

root@globalzone # zoneadm -z tujuan boot
root@globalzone # zlogin -C tujuan

Selamat, proses clonning berhasil dan saatnya berexperimen.

Langkah-langkah memindahkan zone/container Solaris ke mesin yang berbeda

Berikut ini adalah tutorial langkah-langkah memindahkan zone/container Solaris ke mesin yang berbeda, disini kita akan memindahkan “zone01″ dari server “source” ke server “destination”

Server source dan server target sama-sama mempunyai sistem operasi Solaris 10/08, dan kebetulan juga tipe mesin yang sama “Sun Sparc M5000″.

List semua zone yang ada di server “source”, terlihat bahwa kita punya “global zone” dan “zone01″, apa perbedaan global zone dan non-global zone? silakan menuju ke link berikut ini.

root@source # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0  global           running    /                              native   shared
1  zone01           running    /zone/zone01                   native   shared

Matikan zone yang akan kita pindah, dalam hal ini adalah “zone01″

root@source # zoneadm -z zone01 halt
root@source # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0  global           running    /                              native   shared
-  zone01           installed  /zone/zone01                   native   shared

Terlihat bahwa status “zone01″ berubah menjadi “installed”

Langkah selanjutnya adalah men-detach “zone01″, setelah itu cek kembali, seharusnya status “zone01″ akan berubah menjadi “configured”.

root@source # zoneadm -z zone01 detach
root@source # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0  global           running    /                              native   shared
-  zone01           configured /zone/zone01                   native   shared

Setelah status “zone01″ berubah menjadi “configured” maka langkah selanjutnya adalah masuk ke folder dimana “zone01″ berada (dalam hal ini ada di /zone), kemudian kompres folder “zone01″ dan salin ke mesin “destination”.

root@source # cd /zone
root@source # tar cvf - zone01 | gzip -c > /backup/zone01.tar.gz
root@source # cd /backup
root@source # scp zone01.tar.gz user@destination:/zone/

Setelah selesai menyalin, saatnya bekerja pada server “destination”.

Masuk ke folder “/zone” kemudian extract berkas hasil salin dari mesin “source” (zone01.tar.gz)

root@destination # cd /zone
root@destination # gunzip < zone01.tar.gz | tar xvf -

Setelah selesai proses extract, maka saatnya kita membuat zone dengan nama “zone01″.

root@destination # zonecfg -z zone01
zone01: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:zone01> create -a /zone/zone01
zonecfg:zone01> commit
zonecfg:zone01> exit

Coba kita cek kembali zone yang ada di server “destination”, seharusnya muncul zone01 dengan status “configured”

root@destination # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0  global           running    /                              native   shared
-  zone01           configured /zone/zone01                   native   shared

Saatnya attach “zone-01″, pastikan tidak muncul galat.

root@destination # zoneadm -z zone01 attach
These patches installed on the source system are inconsistent with this system:
119788-10: not installed
121081: version mismatch
(08) (06)

Jika muncul galat seperti diatas, lakukan langkah dibawah ini, kemudian coba attach kembali “zone01″ nya.

root@destination # echo 121081 >> /usr/lib/brand/native/bad_patches
root@destination # echo 119788 >> /usr/lib/brand/native/bad_patches
root@destination # zoneadm -z zone01 attach
root@destination # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0  global           running    /                              native   shared
-  zone01           installed  /zone/zone01                   native   shared

Yes…! status “zone01″ sudah berubah menjadi “installed”, artinya “zone01″ sudah berhasil dipindah ke mesin “destination”, langkah selanjutnya adalah coba menyalakan zone tersebut di mesin “destination”

root@destination # zoneadm -z zone01 boot
root@destination # zoneadm list -cv
ID NAME             STATUS     PATH                           BRAND    IP
0  global           running    /                              native   shared
1  zone01           running    /zone/zone01                   native   shared

Alhamdulillah, “zone01″ statusnya sudah berubah menjadi “running” yang artinya zone tersebut sudah hidup di mesin “destination”, selanjutnya silakan coba login ke “zone01″

root@destination # zlogin -C zone01

Untuk keluar dari console login “zone01″ gunakan “tilde” + “titik” (~.)

Langkah-langkah bagaimana "Openfiler" Join ke Windows Domain

Dalam tulisan ini tidak dibahas bagaimana caranya instalasi Openfiler, jadi pada tulisan ini diasumsikan bahwa Openfiler telah terinstall dengan baik.

1. Langkah pertama adalah setting konfigurasi network.

Klik menu “System” pilih menu “Network Setup”, kemudian sesuaikan konfigurasi network Anda

domain2

2.  Langkah kedua adalah konfigurasi NTP

Klik menu “System” pilih menu “Clock Setup”, kemudian sesuaikan dengan konfigurasi NTP Anda.

domain5

domain3

3. Langkah ketiga adalah mengaktifkan Service CIFS

Klik menu “Services” pilih menu “Manage Services” kemudian klik “enable pada “Modify Boot” agar service CIFS otomatis start saat mesin Openfiler direstart, kemudian pilih “Start” pada tab “Start / Stop”

domain6

domain4

4. Langkah keempat proses Join Domain

Klik menu “Accounts” pilih “Use Windows domain controller and authentication”, sesuaikan dengan konfigurasi Domain Anda, setelah selesai klik “Submit”.

domain1

5. Langkah kelima, berdo’a dan testing

Saya lebih suka testing menggunakan console, jadi langkahnya adalah ssh ke mesin Openfiler, kemudian jalankan command berikut :

# wbinfo -u (check user)
# wbinfo -g (check groups)

Jika user dan group yang ada di Domain sudah muncul saat kita jalankan command-command diatas artinya proses Join Domain sudah selesai.

Semoga bermanfaat.

Masalah-masalah phpVirtualBox

Meneruskan tulisan kemarin tentang instalasi phpvirtualbox di BlankOn Rote, hari ini ditemukan sedikit problem bahwa vm-vm yang dibuat sebelum menginstall phpVirtualBox dan extpack nya, ketika dijalankan maka akan muncul “access denied”.

Solusinya mudah, berikan hak akses secukupnya terhadap user “vbox” atas folder dimana vm-vm tersebut berada.

# chown -R vbox:vboxusers /path/lokasi_vms

Problem selanjutnya adalah ketika vm-vm tersebut dijalankan maka menu “console” nya  tidak berfungsi (grey area), dan berikut solusinya :

List dulu vm-vm yang ada di mesin kita :

# su - vbox
$ VBoxManage list -l vms | grep Name:
Name:         Windows Seven
Name:         Ubuntu 12.04
Name:         BlankOn Rote

Terlihat ada tiga vm yang kita punya, tapi disini saya contohkan satu mesin saja :)

$ VBoxManage modifyvm "BlankOn Rote" --vrdeport 9000-9010
$ VBoxManage modifyvm "BlankOn Rote" --vrde on
$ VBoxManage controlvm "BlankOn Rote" vrde on

Ternyata dan ternyata; ada cara yang lebih mudah, tinggal klik kanan pada Nama VM — Settings — Display — Remote Display, kemudian aktifkan dan sesuaikan.

setting_display

Bagaimanapun lewat console tetap lebih indah :)

Install phpvirtualbox di BlankOn

Ini adalah tutorial bagaimana caranya menginstall phpVirtualBox di BlankOn Rote, tentunya sebelum menginstall phpVirtualBox kita harus menginstall VirtualBox nya terlebih dahulu.

Install VirtualBox, apache2, PHP dan unzip.

$ sudo -s
# apt-get update
# apt-get install virtualbox
# apt-get install apache2 php5 unzip

Buat user vbox

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

Periksa terlebih dahulu versi virtualbox yang terinstall di BlankOn Rote, kemudian download paket yang sesuai dengan versi VirtualBox yang ada di mesin kita.

# dpkg -s virtualbox | grep Version
Version: 4.1.18-dfsg-1

Dikarenakan versi VirtualBox yang terinstall di mesin kita adalah versi 4.1.18, maka kita download phpvirtualbox-4.1-11.zip

# wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.1-11.zip
# unzip phpvirtualbox-4.1-11.zip
# mv phpvirtualbox-4.1-11 /var/www/phpvirtualbox
# cd /var/www/phpvirtualbox
# mv config.php-example config.php

Ubah berkas “config.php”, sesuaikan dengan username dan password  user “vbox” yang tadi dibuat.

# vi config.php
var $username = 'vbox';
var $password = 'pass';

Ubah juga berkas “/etc/default/virtualbox”

# vi /etc/default/virtualbox
VBOXWEB_USER=vbox

Install Extension Pack, sesuaikan juga dengan versi VirtualBox yang terinstall di mesin BlankOn Rote

# wget http://download.virtualbox.org/virtualbox/4.1.8/Oracle_VM_VirtualBox_Extension_Pack-4.1.8.vbox-extpack
# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.8.vbox-extpack
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".

Login menggunakan user vbox

# su - vbox
$ VBoxManage setproperty websrvauthlibrary null
$ /usr/lib/virtualbox/vboxwebsrv &

Testing akses menggunakan user “admin” dan password “admin”
http://ip_address_blankon/phpvirtualbox

phpvirtualbox

Selesai dan semoga bermanfaat.