Sabtu, 24 Desember 2011

Cegah Kerusakan Server FreeBSD dengan GMIRROR

"Mencegah lebih baik daripada mengobati"

Ketika memiliki sebuah server, satu hal yang perlu diperhatikan ialah reliabilitas server itu sendiri. Salah satu hal yang membuat server reliabel ialah tersedianya sistem backup server itu sendiri. Kali ini saya mencoba menggunakan applikasi "gmirror" -applikasi bawaan FreeBSD- sebagai sistem backup hardisk. Fungsi utama dari gmirror adalah membuat mirroring hardisk atau bisa juga dikatakan mengeset 2 hardisk atau lebih menjadi RAID 1. Saya memilih menggunakan gmirror, karena applikasi ini telah tersedia pada OS FreeBSD, dan juga pemakaiannya cukup sederhana.

Pada kasus ini saya mempunyai Server dengan spesifikasi sebagai berikut:
HDD utama (ad0): 8GB
HDD cadangan (ad1): 10Gb
OS: FreeBSD 32bit 8.0
Untuk melakukan mirroring hardisk, saya cukup menambahkan hardisk yang sama atau lebih besar dari yang akan di mirror (>=8GB). Dalam kasus ini saya menggunakan HDD 10GB sebagai hardisk backup. Berikut ini step-step yang dilakukan


*Mengecek lokasi HDD
#ls /dev
...
...
ad0
ad0s1
ad0s1a
ad0s1b
ad0s1d
ad0s1e
ad0s1f
ad1
...
...

*Setting informasi debug pada kern.geom
#sysctl kern.geom.debugflags=17

*Setting metadata HDD yang akan dimirror
#gmirror label -vb ge0 /dev/ad0

*Inisiasi GEOM. Inisiasi ini akan menuliskan metadata ke /dev/mirror/ge0***
#gmirror load

*cek status gmirror
#gmirror status
#gmirror list

*Setting pada /boot/loader.conf agar mirroring berjalan otomatis
#ee /mnt/boot/loader.conf
 geom_mirror_load="YES"

*ubah alamat mount dari ad0 ke mirror/ge0 menggunakan editor vi
#vi /etc/fstab
 :%s/ad0/mirror\/ge0/g

*bila tidak bisa menggunakan editor vi, silahkan edit dengan menggunakan editor ee
*reboot server
#reboot

*Bila komputer berjalan dengan baik, lanjutkan login sebagai root
*Mirroring HDD ad0 (8GB) ke HDD ad1 (10Gb)
#gmirror insert ge0 /dev/ad1

*Cek status mirroring
#gmirror status

*Bila gmirror masih dalam proses inisisasi mirroring akan terlihat seperti berikut
      name    Status  Components
mirror/ge0  DEGRADED  ad0
                      ad1 (12%)


*Bila gmirror proses inisisasi mirroring telah selesai akan terlihat seperti berikut

      name    Status  Components
mirror/ge0  COMPLETE  ad0
                      ad1


Troubleshoot

1. Booting Error
Kasus booting error terjadi karena pengalamatan mount disk tidak sesuai dengan yang tertera pada /etc/fstab . Pada saat mirroring, mungkin lupa untuk mengganti /etc/fstab atau tidak meng-enable-kan geom_mirror_enable="YES" pada /boot/loader.conf. Untuk mengatasi hal tersebut

----------------------------------
Mounting root from ufs:/dev/ad1sa
setrootbyname failed
ffs_mountroot: can't find rootvp
Root mount failed: 6


Manual root filesystem specification:
  <fstype>:<device>  Mount <device> using filesystem <fstype>
            e.g. ufs:da0s1a
  ?             List valid disk boot devices
  <empty line>       Abort manual input


mountroot>
---------------------------------
Bila terjadi hal demikian, pertama-tama cek alamat disk yang tersedia dengan mengetik '?'
mountroot>?

akan muncul informasi

---------------------------------
List of GEOM managed disk devices:
mirror/ge0s1f mirror/ge0s1e mirror/ge0s1d mirror/ge0s1c mirror/ge0s1b 
mirror/ge0s1a mirror/ge0s1 ad2s1 mirror/ge0 ad0s1 ad2 acd0 ad0 fd0
---------------------------------
informasi tersebut menunjukkan disk yang dapat dimount antara lain:
mirror/ge0s1a
mirror/ge0s1b
mirror/ge0s1d
mirror/ge0s1e
mirror/ge0s1f

*Lakukan pengalamatan root (/) ke mirror/ge0s1a
mountroot>ufs:mirror/ge0s1a
*Lakukan pengalamatan usr (/usr) ke mirror/ge0s1a. Hal ini dilakukan agar dapat mengedit /etc/fstab, karena editor ee maupun vi ada pada /usr
#mount /dev/mirror/ge0s1f /usr
*Set semua disk mount agar dapat ditulis (+rw)
#mount -o rw -a
*edit /etc/fstab dengan menggunakan editor vi atau ee sehingga pengalamatannya seperti berikut
Filesystem            Size    Used    Avail    Capacity    Mounted on
/dev/mirror/ge0s1a                                           /
devfs                                                        /dev
/dev/mirror/ge0s1e                                           /tmp
/dev/mirror/ge0s1f                                           /usr
/dev/mirror/ge0s1d                                           /var
*reboot komputer
#reboot

1 komentar:

Abduh mengatakan...
Komentar ini telah dihapus oleh pengarang.