12 Jun 2013

Tahap Kesediaan Tinggi Komputer Server : DRBD


Kronologi Setup Komputer server

1. software RAID dengan mdadm
- aku guna slackware dvd untuk setup RAID5 guna mdadm. Cepat sikit untuk akses arahan konsol



2. setup debian (wheezy)

3. setup repo debian guna debmal repo


deb http://mirror.debmal.my/debian/ wheezy-updates main contrib non-free
deb http://mirror.debmal.my/debian/ wheezy main contrib non-free
deb http://mirror.debmal.my/debian/ wheezy-backports main contrib non-free

4. Install dan setup network bind

5. install dan setup drbd

6. Install dan setup pacemaker


Install dan Setup DRBD

Dalam episod ini, aku akan tunjukkan cara-cara untuk setup drbd.

Objektif:
1. DRBD akan sync (selarikan) data antara server1 dan server2 secara masa-nyata. jika server1 mati, server2 akan ambil alih fungsi data dalam server1 tadi.

2. Data yang perlu sentiasa tersedia untuk pengguna  akses. Contohnya  dalam kes aku ni, data pesakit.

3. Data untuk akan digunakan oleh servis terutama sekali servis web. Fail web diletakkan dalam storan yang dikawalselia oleh DRBD supaya jika berlakunya kegagalan pada server1, fail yang sama masih lagi ada di server2 setelah server2 ambil alih servis dari server1.


Struktur :


  • Server1 dan server2 masing-masing mempunyai 4 antaramuka rangkaian. Seperti dalam tutorial sebelum ini, 2 peranti ini digunakan untuk capaian rangkaian setempat dan 2 lagi khusus untuk DRBD.


  • katakan eth2 dan eth3 adalah peranti yang dimaksudkan dan network bonding menggunakan ifenslave telahpun dilaksanakan. Kedua server menggunakan peranti maya drbd0.


  • kabel dari server1 ke server2 daripada pangkalan eth2 dan eth3 adalah kabel rangkaian tersilang (direct / cross cable). Atau dalam erti lain, server1 dan server2 dihubungkan secara terus tanpa melalui penukar rangkaian (network switch)
  • alamat IP server1 adalah 192.168.1.1, diatas peranti drbd0
  • alamat IP server2 adalah 192.168.1.2, diatas peranti drbd0



contoh gambaran kasar



Install DRBD

Setelah repo disetup. Kita boleh install drbd daripada repo. Dalam kes aku ni, oleh kerana aku guna debian, caranya sangat mudah

root@server1:~# aptitude install drbd8-utils 

lebih mudah lagi tambah -y di belakang supaya segala pengesahan dijawab dengan 'Y'

root@server1:~# aptitude install drbd8-utils -y

Setup Konfigurasi

Fail konfigurasi untuk drbd ada di /etc/drbd.conf

Contoh konfigurasi


global { usage-count no; } 

common { syncer { rate 1000M; } } 

resource r0
{
        protocol C;
device /dev/drbd0;
        disk /dev/md3;
        meta-disk internal;

        on server1 {
                address 192.168.1.1:7788;
        }

        on server2 {
                address 192.168.1.2:7788;
        }

net {
                after-sb-0pri discard-younger-primary; #discard-zero-changes;
                after-sb-1pri discard-secondary;
                after-sb-2pri call-pri-lost-after-sb;
        }
}


*peringatan : ini adalah contoh yang diambil terus daripada tutorial drbd.



Salin Konfigurasi ini ke server2

root@server1:~# scp /etc/drbd.conf root@server2:/etc/
root@server2's password: 

Mulakan Servis DRBD

root@server1:~# service drbd start
root@server2:~# service drbd start

Jana MetaData DRBD


root@server1:~# drbdadm create-md r0
root@server2:~# drbdadm create-md r0


Sediakan Sumber

root@server1:~# drbdadm up r0
root@server2:~# drbdadm up r0

Jadikan Server1 sebagai master
di server1

root@server1:~# drbdadm primary --force r0

Periksa status drbd

root@server1:~# cat /proc/drbd

version: 8.3.11 (api:88/proto:86-96)
srcversion: 41C52C8CD882E47FB5AF767 
 0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----
    ns:1220 nr:2240 dw:3512 dr:18905 al:1 bm:27 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0


Jika kapasiti storan adalah besar, lebih lama masa diambil untuk selarikan data (data sync).

semoga bermanfaat


Tahap Kesediaan Tinggi Komputer Server : Episod 'Pacemaker'



Sedikit nota ringkas untuk pacemaker. Dari sedikit pengalaman yang diperoleh


  • primitive
    • servis asas
    • berdasarkan fail init.d atau rc.d dalam folder /etc
    • Contoh
primitive nama_servis ocf:heartbeat:IPaddr2 \ 
params ip="192.168.12.3" nic="eth0"
  • group
    • servis yang kita kumpulkan bersama
    • akan dimulakan mengikut turutan dari kiri ke kanan 
  • location
    • lokasi servis/item yang kita setkan utuk berada di server yang mana.
    • contohnya servis web dan mysql perlu berada di server 1 jika server 1 hidup. 
  • colocation
    • servis/group yang perlu berada bersama-sama dengan servis/group lain
    • contohnya group web app perlu berada bersama-sama group shared storage.
  • order
    • turutan servis/group akan dimulakan oleh server 
  • clone
    • servis yang sama dan setting yang sama pada setiap server.

Contoh :

crm(live)configure# show
node ema1 \
attributes standby="off"
node ema2 \
attributes standby="off"
primitive app_apache lsb:apache2
primitive drbd ocf:linbit:drbd \
params drbd_resource="r0" \
op start interval="0" timeout="240" \
op stop interval="0" timeout="100" \
op monitor interval="59s" role="Master" timeout="30s" \
op monitor interval="60s" role="Slave" timeout="30s"
primitive fs_drbd ocf:heartbeat:Filesystem \
params device="/dev/drbd0" directory="/var/data" fstype="ext4" \
op start interval="0" timeout="60" \
op stop interval="0" timeout="120"
primitive ip_ema ocf:heartbeat:IPaddr2 \
params ip="10.1.126.111" nic="coro0"
primitive mysqld lsb:mysql
primitive nfs_exports ocf:heartbeat:exportfs \
params fsid="1" directory="/var/data/ema" options="rw,sync,crossmnt" clientspec="10.1.126.112/255.255.255.255" wait_for_leasetime_on_stop="false" \
op start interval="0" timeout="40" \
op stop interval="0" timeout="10" \
meta target-role="Started"
primitive nfs_server lsb:nfs-kernel-server
primitive p_ping ocf:pacemaker:ping \
params host_list="10.1.120.1" multiplier="1000" name="p_ping" \
op monitor interval="30" timeout="60" \
op start interval="0" timeout="60" \
op stop interval="0" timeout="20"
group emagrp fs_drbd ip_ema nfs_exports mysqld app_apache nfs_server
ms ms_drbd drbd \
meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" target-role="Master"
clone cl_ping p_ping \
meta target-role="Started"
colocation ema_on_drbd inf: _rsc_set_ emagrp ms_drbd:Master
order ema_after_drbd inf: ms_drbd:promote emagrp:start
property $id="cib-bootstrap-options" \
dc-version="1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff" \
cluster-infrastructure="openais" \
expected-quorum-votes="2" \
stonith-enabled="false" \
last-lrm-refresh="1370940527" \
no-quorum-policy="ignore"
rsc_defaults $id="rsc_options" \
resource-stickiness="200"


Peringatan Ringkas
pacemaker akan menggunakan skrip dalam /etc/init.d/ atau /etc/rc.d/. Adalah sangat penting untuk kita install applikasi yang sesuai dengan pacemaker kerana pacemaker akan menggunakan arahan seperti

/etc/rc.d/rc.httpd start
/etc/init.d/apache2 start

dan menggunakan maklumbalas dari arahan tersebut untuk menentukan aktiviti atau status servis. Jika semua ini tidak mengikut keperluan pacemaker, maka ralat akan dikeluarkan dan pacemaker tidak dapat berfungsi seperti kita kehendaki WALAUPUN pada keadaan sebenarnya servis itu berfungsi.


NFS-COMMON dan NFS-KERNEL-SERVER

- nfs-common adalah segala keperluan untuk gunakan nfs. Perlu dilarikan oleh server semasa dihidupkan. Jangan matikan jika sekiranya ada setting untuk nfs di pacemaker.

- nfs-kernel-server adalah aplikasi untuk menjadi hos kepada storan nfs. Perlu dilarikan oleh pacemaker.





10 Jun 2013

Linux HA - Corosync Pacemaker DRBD dengan MySQL Replication.



Aku setup 2 server dengan DRBD + Corosync + Pacemaker.

Salah satu servis yang diselia adalah mysql.

Namun, aku jadikan server ini sebagai slave untuk mysql replication. Data diambil dari server lain.




Servis :


root@server1:~# crm_mon
============
Last updated: Mon Jun 10 12:17:21 2013
Last change: Sun Jun  9 16:40:19 2013 via cibadmin on server1
Stack: openais
Current DC: server1 - partition with quorum
Version: 1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff
2 Nodes configured, 2 expected votes
11 Resources configured.
============

Online: [ server1 server2 ]

Master/Slave Set: ms_drbd [drbd]
    Masters: [ server1 ]
    Slaves: [ server2 ]
Resource Group: servergrp
    ip_server (ocf::heartbeat:IPaddr2): Started server1
    fs_drbd (ocf::heartbeat:Filesystem): Started server1
    nfs_exports (ocf::heartbeat:exportfs): Started server1
    mysqld (lsb:mysql): Started server1
    app_apache (lsb:apache2): Started server1
    nfs_server (lsb:nfs-kernel-server): Started server1
    nagios (lsb:nagios): Started server1
Clone Set: cl_ping [p_ping]
    Started: [ server2 server1 ]



Masalah :

Apabila server1 yang menjadi master, mysql melarikan replication dengan baik. Namun, apabila server1 mati, mysql replication akan keluar ralat setelah mysql diambilalih oleh server2


- mysql di server1
--- FAILOVER
- mysql di server2
-- replication error.. 

Punca : 
mysql replication akan membaca fail mysqlbin.log yang berada dalam folder /var/log/mysql ( dalam debian )
 

oleh kerana folder ini tidak berada dalam storan berkongsi, setelah server2 mengambil alih servis mysql daripada server1, server2 akan menggunakan set bin.log yang lain iaitu yang berada di server2.

Error la keluar..

Penyelesaian.. :
Sama juga seperti semasa setkan servis MySQL untuk corosync/pacemaker. 
/var/lib/mysql perlu berada dalam storan terkongsi.

dalam setting mysql untuk corosync, kandungan dalam /var/lib/mysql dipindahkan kedalam storan terkongsi antara server1 dan server2 iaitu dalam bahagian DRBD


katakan /var/data adalah folder di dalam bahagian DRBD

salin dulu kandungan asal 
root@server1:~# cp -r /var/lib/mysql /var/lib/mysql.old

pindah
root@server1:~# mv /var/lib/mysql /var/data

cipta link
root@server1:~# ln -s /var/data/mysql /var/lib/


Untuk server2

pindah/ubah nama kandungan asal 
root@server2:~# mv /var/lib/mysql /var/lib/mysql.old

cipta link
root@server2:~# ln -s /var/data/mysql /var/lib/



jika kita perhatikan daripada ls -las dalam /var/lib..

root@server1:/var/lib# ls -las | grep mysql
 0 lrwxrwxrwx  1 root      root        15 May 28 16:47 mysql -> /var/data/mysql
 4 drwx------  4 root      root      4096 May 28 16:18 mysql.old

Sama juga kes untuk setkan replication mysql diatas DRBD + corosync + pacemaker. mysql replication perlu membaca fail log yang berada dalam /var/log/mysql. Oleh kerana itu, folder ini perlulah berada dalam storan terkongsi..

anda boleh lihat di dalam fail konfigurasi mysql anda.. Dalam kes aku ni, aku guna my.cnf dalam folder /etc/mysql

root@server1:~# cat /etc/mysql/my.cnf
.
.
.
.
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
general_log_file        = /var/log/mysql/mysql.log
general_log             = 1
#
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
server-id = 126111
relay-log = /var/log/mysql/mysql-relay-bin.log
report-host = serverAplikasi
log_bin = /var/log/mysql/mysql-bin.log
.
.
.

Perhatikan fail log berada dalam folder /var/log/mysql. Folder ini perlu dipindahkan kedalam folder terkongsi.


* Peringatan, jika anda telahpun melarikan pacemaker+corosync, perlu pastikan anda lakukan aktiviti ini di dalam master server yang sedang larian mysql.

* Periksa dengan melarikan crm_mon -1 dan lihat pada server mana ianya dilarikan.

* contohnya dalam kes aku sekarang ni, jika lihat dalam segmen servis diatas, mysql dilarikan pada server1


salin dulu kandungan /var/log/mysql
root@server1:~# cp -r /var/log/mysql /var/log/mysql.old

pindahkan kedalam folder terkongsi
root@server1:~# mv /var/log/mysql /var/data

cipta link ke sana
root@server1:~# ln -s /var/data/mysql /var/log


untuk server2
pindahkan folder untuk salinan
root@server2:~# mv /var/log/mysql /var/log/mysql.old

cipta link
root@server2:~# ln -s /var/data/mysql /var/log

sebelum anda mula-semula servis mysql, pastikan kebenaran folder adalah untuk mysql:adm ( dalam kes debian )

root@server1:~# ls -las /var/data/log | grep mysql
4 drwxr-x---  2 mysql adm  4096 Jun 10 12:40 mysql

jika tidak, mysql tidak dapat akses kepada folder tersebut..

ubah kebenaran kepada folder tersebut dengan arahan dibawah

root@server1:~# chown -R mysql.adm /var/data/log/mysql

* untuk server2, anda perlu lakukan failover server1 sebelum anda menukar kebenaran untuk folder ini.

anda boleh mula-semula servis mysql.

jika dalam pacemaker+corosync
root@server1:~# crm resource mysqld restart

jika tidak
root@server1:~# service mysql restart


semoga bermanfaat, insyaAllah 




Tahap Kesediaan Tinggi Komputer Server - episod 'Software Raid 5 dengan 6 HDD'



Dengan Nama Allah Yang Maha Pemurah Lagi Maha Pengasihani

Assalamualaikum Warahmatullahi Wabarokatuh


Objektif :

Gabungkan 6 buah HDD 1 TeraByte dengan menggunakan software RAID5.


Resepi :

6 Buah HDD 1 TB
Server dengan 6 slot sata (Dalam kes aku, how swappable - boleh sedia-tukar)
linux installer ( aku guna slackware hanya untuk buat RAID, tapi server nanti install debian)

Struktur bahagian HDD:

bahagian 0 : / : raid5 (bahagian root) : 20GB, akan menjadi 100GB setelah RAID5
bahagian 1 : /boot : raid1 (mirror) : 10GB
bahagian 2 : /swap : raid 1 (mirror) : 8GB
bahagian 3 : [data] : raid5 (tidak dimount, khusus untuk tujuan DRBD)

Methodologi :

1. pasang HDD pada keenam-enam sata

2. pasang installer linux

3. Boot server pada installer linux (DVD)

4. Mulakan mod arahan (command mode)

5. pastikan HDD yang terpasang cukup 6.
(check pada bios / gunakan arahan fdisk -l)

6. buat bahagian mengikut keperluan masing2. Akunyer server ikut di bawah ni dan tutorial ini berdasarkan bahagian di bawah ni. gunakan cfdisk lebih mudah jika anda guna slackware.

- Pastikan jenis bahagian untuk setiapnya adalah FD ( Linux Raid Autodetect )

root@skodra:~# cfdisk /dev/sda


   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63    19535039     9767488+  fd  Linux raid autodetect
/dev/sda2        19535040   117194174    48829567+  fd  Linux raid autodetect
/dev/sda3       117194175   132825419     7815622+  fd  Linux raid autodetect
/dev/sda4       132825420  1953134504   910154542+  fd  Linux raid autodetect

7. salin jadual bahagian HDD dari sda kepada HDD lain

root@skodra:~# sfdisk -d /dev/sda | sfdisk /dev/sdb
root@skodra:~# sfdisk -d /dev/sda | sfdisk /dev/sdc
root@skodra:~# sfdisk -d /dev/sda | sfdisk /dev/sdd
root@skodra:~# sfdisk -d /dev/sda | sfdisk /dev/sde
root@skodra:~# sfdisk -d /dev/sda | sfdisk /dev/sdf


8. Mulakan mdadm untuk raid md0.

aku buat md0 sebagai linux swap partition. Oleh kerana swap partition perlu ada disetiap HDD, maka gunakan raid1

root@skodra:~# mdadm --create /dev/md0 --level 1 --raid-devices 6 /dev/sd[a-f]1 --metadata 0

(untuk slackware dan debian, perlu memasukkan setting --metadata 0)
9. periksa status

root@skodra:~# cat /proc/mdstat

Personalities : [raid1] [raid6] [raid5] [raid4]

md0 : active raid1 sda1[0] sdf1[5] sde1[4] sdd1[3] sdc1[2] sdb1[1]
      9767424 blocks [6/6] [UUUUUU]


10. raid5 untuk md1

md1 aku buat saiz dalam 50 GB yang akan menjadi 250GB apabila telah disatukan dalam raid5. Mount untuk / ( root)


root@skodra:~# mdadm --create /dev/md1 --level 5 --raid-devices 6 /dev/sd[a-f]2 --metadata 0

11. raid1 untuk md2

md2 adalah untuk mount /boot. Dalam raid5, perlu ada partition raid1 untuk partition /boot

root@skodra:~# mdadm --create /dev/md2 --level 1 --raid-devices 6 /dev/sd[a-f]3 --metadata 0


12. raid5 untuk md3

ini adalah bahagian untuk data. aku akan buat DRBD nanti jadi selepas setkan DRBD barulah aku akan mount bahagian ini. Untuk mount pula, pacemaker dan corosync yang akan main peranan.

root@skodra:~# mdadm --create /dev/md3 --level 5 --raid-devices 6 /dev/sd[a-f]4 --metadata 0

13. Periksa status

root@skodra:~# cat /proc/mdstat


Personalities : [raid1] [raid6] [raid5] [raid4] 
md3 : active raid5 sda4[0] sdf4[5] sde4[4] sdd4[3] sdc4[2] sdb4[1]
      4550771200 blocks level 5, 512k chunk, algorithm 2 [6/6] [UUUUUU]
      
md2 : active (auto-read-only) raid1 sda3[0] sdf3[5] sde3[4] sdd3[3] sdc3[2] sdb3[1] 7815552 blocks [6/6] [UUUUUU]
      
md1 : active raid5 sda2[0] sdf2[5] sde2[4] sdd2[3] sdc2[2] sdb2[1]
      244147200 blocks level 5, 512k chunk, algorithm 2 [6/6] [UUUUUU]
      
md0 : active raid1 sda1[0] sdf1[5] sde1[4] sdd1[3] sdc1[2] sdb1[1]
      9767424 blocks [6/6] [UUUUUU]
      
unused devices:



14. Dalam kes diatas, setiap peranti raid telahpun siap synchronization.

15. Tunggu sehingga synchronization siap barulah buat DRBD. Untuk keselamatan.. :-)

16. Buang DVD slackware dari pemacu DVD dan masukkan DVD Debian.

17. Reboot server kepada DVD debian.

18. Setup macam biasa

19. Semasa pemilihan bahagian HDD, setkan

md0 sebagai swap
md1 sebagai / dan format sebagai ext4
md2 sebagai /boot dan format ext4
md3 tidak perlu lakukan apa-apa


20. Install debian.

21. Dalam kes aku, aku guna lilo untuk boatloader. terpulang pada anda juga.

* Sifir RAID5

katakan anda ada 6 HDD dengan setiap satunya 1TB
dengan RAID5 anda akan dapat jumlah saiz sebanyak 5TB boleh digunakan kerana 1TB lagi akan menyimpan metadata.

sama juga dengan kes diatas, jika setiap bahagian HDD bersaiz 50GB, dengan raid5, jumlah saiz akan menjadi 250GB, dengan 50GB lagi untuk menyimpan metadata.


InsyaAllah dapat memberikan manfaat.

Tahap Kesediaan Tinggi Komputer Server - episod 'rangkaian tertindan'




Dengan Nama Allah Yang Maha Pemurah Lagi Maha Pengasihani.



Episod 1

Rangkaian Bertindan (Network Bonding)


Konsep: 

Dua kad rangkaian dengan 2 kabel pada 2 port di switch namun dijadikan 1 ( master-slave.

Teknologi :

Dalam linux, pakej ifenslave digunakan. Dalam tutorial ini debian digunakan. Untuk Slackware sila rujuk di http://yusdirman.blogspot.com/2011/11/server-redundancy-pertindanan-komputer.html

Struktur Senibina :



Ringkasan :

- Server dengan 4 pangkalan rangkaian.
- 2 rangkaian digunakan untuk salinan pendua data (kabel silang)
- 2 rangkaian untuk antaramuka pengguna dan disambung pada switch sama / lain.



Methodologi :
OS: Debian.

resepi:
eth0, eth1, eth2 dan eth3
2 kabel rangkaian silang
2 kabel rangkaian biasa
server 1
server 2
switch


1. install ifenslave dengan :

   aptitude install ifenslave-2.6 

2. edit fail /etc/network/interfaces

nano /etc/network/interface

3. katakan, 
drbd0 :  sambungan terus dari server 1 ke server 2.
coro0 : sambungan kepada rangkaian setempat

Pada server 1

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Setting asal
# The primary network interface  
#auto eth0
#iface eth0 inet static
#       address 10.2.122.114
#       netmask 255.255.248.0
#       gateway 10.1.120.1


# drdb network bonding interface. Direct cross cable
auto drbd0
iface drbd0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        network 192.168.1.0
        slaves eth2 eth3
        bond_mode active-backup
        bond_miimon 100
        bond_downdelay 200
        bond_updelay 200

#corosync network inteface
auto coro0
iface coro0 inet static
        address 10.2.11.1
        netmask 255.255.248.0
        gateway 10.2.1.1
        network 10.2.11.0
        slaves eth0 eth1
        bond_mode active-backup
        bond_miimon     100
        bond_downdelay 200
        bond_updelay 200


Pada server 2



# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Setting asal
# The primary network interface  
#auto eth0
#iface eth0 inet static
#       address 10.2.122.115
#       netmask 255.255.248.0
#       gateway 10.1.120.1


# drdb network bonding interface. Direct cross cable
auto drbd0
iface drbd0 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        network 192.168.1.0
        slaves eth2 eth3
        bond_mode active-backup
        bond_miimon 100
        bond_downdelay 200
        bond_updelay 200

#corosync network inteface
auto coro0
iface coro0 inet static
        address 10.2.11.2
        netmask 255.255.248.0
        gateway 10.2.1.1
        network 10.2.11.0
        slaves eth0 eth1
        bond_mode active-backup
        bond_miimon     100
        bond_downdelay 200
        bond_updelay 200


4. Simpan.

5. 
Pasang kabel silang dari server 1 eth2 kepada server 2 eth2
Pasang kabel dari server 1 dan server 2 di eth0 ke switch rangkaian setempat

6. Mula-semula servis rangkaian

service networking restart

7. Papar tetapan rangkaian 

Tetapan rangkaian server 1 :

root@server1:~# ifconfig 
coro0     Link encap:Ethernet  HWaddr bc:30:5b:db:e2:ea  
          inet addr:10.2.11.1  Bcast:10.2.11.255  Mask:255.255.248.0
          inet6 addr: fe80::be30:5bff:fedb:e2ea/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:72574 errors:0 dropped:827496 overruns:0 frame:0
          TX packets:5442 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:7865021 (7.5 MiB)  TX bytes:626065 (611.3 KiB)

drbd0     Link encap:Ethernet  HWaddr bc:30:5b:db:e2:ee  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::be30:5bff:fedb:e2ee/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:250 errors:0 dropped:0 overruns:0 frame:0
          TX packets:484 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:23069 (22.5 KiB)  TX bytes:34008 (33.2 KiB)

eth0      Link encap:Ethernet  HWaddr bc:30:5b:db:e2:ea  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:40324 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5442 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4411618 (4.2 MiB)  TX bytes:626065 (611.3 KiB)
          Interrupt:36 Memory:d6000000-d6012800 

eth1      Link encap:Ethernet  HWaddr bc:30:5b:db:e2:ea  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:32250 errors:0 dropped:827336 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3453403 (3.2 MiB)  TX bytes:0 (0.0 B)
          Interrupt:48 Memory:d8000000-d8012800 

eth2      Link encap:Ethernet  HWaddr bc:30:5b:db:e2:ee  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:250 errors:0 dropped:0 overruns:0 frame:0
          TX packets:484 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:23069 (22.5 KiB)  TX bytes:34008 (33.2 KiB)
          Interrupt:32 Memory:da000000-da012800 

eth3      Link encap:Ethernet  HWaddr bc:30:5b:db:e2:ee  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:42 Memory:dc000000-dc012800 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:15395 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15395 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2818521 (2.6 MiB)  TX bytes:2818521 (2.6 MiB)


8. Status 'UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1' menunjukkan kad rangkaian adalah dibawah satu kad rangkaian maya.


9. coro0 dan drbd0 adalah kad rangkaian maya yang memegang no IP server dan salah satu alamat MAC kad rangkaian akan digunakan.

10. Pasangkan kabel rangkaian silang dari server 1 ke server 2 di eth3

11. Sambungkan kabel rangkaian dari server 1 ke switch di eth1

12. Sambungkan kabel rangkaian dari server 2 ke switch di eth1

13. Ujilari dengan gabungan 

- ping dari server 1 ke server 2

root@server1:~# ping 10.2.11.2
PING 10.2.11.2 (10.2.11.2) 56(84) bytes of data.
64 bytes from 10.2.11.2: icmp_req=1 ttl=64 time=0.341 ms
64 bytes from 10.2.11.2: icmp_req=2 ttl=64 time=0.186 ms
64 bytes from 10.2.11.2: icmp_req=3 ttl=64 time=0.183 ms
....

- di server 2 taip arahan di bawah untuk mematikan eth0 

root@server2:~# ifconfig eth0 down

perhatikan ping masih lagi menerima balasan.



semoga bermanfaat insyaAllah