Mirror dua hard disk (menyiapkan software RAID1) di Ubuntu Server 8.10


Ubuntu Sebuah server pengisian pulsa tiba-tiba berhenti bekerja dan terdengar suara pada harddisk, seperti ada yang mengetuk palu di sana. Ini merupakan kerusakan fisik pada harddisk yang kerap terjadi pada harddisk yang telah berumur, atau pada harddisk dengan jam terbang tinggi. Untuk mengantisipasi kehilangan data pada situasi tersebut, Anda memerlukan sebuah harddisk cadangan yang berfungsi sebagai cermin (mirror). Perubahan apapun yang terjadi pada harddisk pertama, akan dilakukan juga pada harddisk kedua.

Teknik berikut ini pernah diterapkan pada Ubuntu 8.10, bisa juga diterapkan pada distro berbasis Debian lainnya.

Secara garis besar yang akan dilakukan adalah:

1. Boot dengan harddisk pertama.
2. Konfigurasi harddisk kedua sebagai RAID.
3. Boot dengan harddisk kedua.
4. Konfigurasi harddisk pertama sebagai RAID.
5. Simulasi penyelamatan.

Saat ini kita boot dengan harddisk pertama (sda). Karena itu kita akan memasang RAID terlebih dahulu di harddisk kedua (sdb) yang masih kosong. Pastikan tidak ada aktifitas transaksi selama pemasangan.

1. Pasang harddisk kedua /dev/sdb, minimal seukuran harddisk utama /dev/sda.
2. Pasang paketnya:

# apt-get install mdadm

3. Sesuaikan partisi /dev/sdb dengan /dev/sda, gunakan fdisk agar sektor awal dan akhir masing-masing partisi persis sama.
Semua partisi /dev/sdb bertipe fd (Linux raid auto).
4. Pastikan tidak ada jejak RAID di /dev/sdb:

# mdadm –zero-superblock /dev/sdb1
mdadm: Unrecognised md component device – /dev/sdb1

# mdadm –zero-superblock /dev/sdb5
mdadm: Unrecognised md component device – /dev/sdb5

Abaikan bila ada pesan kesalahan seperti itu. Kemudian aktifkan partisi RAID:

# mdadm –create /dev/md0 –level=1 –raid-disks=2 missing /dev/sdb1
# mdadm –create /dev/md1 –level=1 –raid-disks=2 missing /dev/sdb5

Lihat hasilnya:

# cat /proc/mdstat

Personalities : [raid1]
md1 : active raid1 sdb5[1]
9936064 blocks [2/1] [_U]

md0 : active raid1 sdb1[1]
234259712 blocks [2/1] [_U]

5. Buat filesystem:

# mkfs.ext3 /dev/md0
# mkswap /dev/md1

6. Beritahukan daemon-nya:

# cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.orig
# mdadm –examine –scan >> /etc/mdadm/mdadm.conf

7. Sesuaikan /etc/fstab:

proc      /proc           proc    defaults                   0       0
/dev/md0  /               ext3    defaults,errors=remount-ro 0       1
/dev/md1  none            swap    sw                         0       0
/dev/scd0 /media/cdrom0   udf,iso9660 user,noauto            0       0

Sesuaikan juga /etc/mtab:

/dev/md0 / ext3 rw,errors=remount-ro 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
/sys /sys sysfs rw,noexec,nosuid,nodev 0 0
varrun /var/run tmpfs rw,noexec,nosuid,nodev,mode=0755 0 0
varlock /var/lock tmpfs rw,noexec,nosuid,nodev,mode=1777 0 0
procbususb /proc/bus/usb usbfs rw 0 0
udev /dev tmpfs rw,mode=0755 0 0
devshm /dev/shm tmpfs rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
lrm /lib/modules/2.6.24-16-generic/volatile tmpfs rw 0 0

8. Sesuaikan /boot/grub/menu.lst menjadi:

title           Ubuntu 8.04, kernel 2.6.24-16-generic RAID (hd1)
root            (hd1,0)
kernel          /boot/vmlinuz-2.6.24-16-generic root=/dev/md0 ro
initrd          /boot/initrd.img-2.6.24-16-generic
quiet

title           Ubuntu 8.04, kernel 2.6.24-16-generic RAID (hd0)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.24-16-generic root=/dev/md0 ro
initrd          /boot/initrd.img-2.6.24-16-generic
quiet

Lalu carilah tulisan kopt agar menjadi:

# kopt=root=/dev/md0 ro

Biarkan tanda # tetap di situ.

Lalu perbaharui ramdisk:

# update-initramfs -u

9. Salin data sda ke sdb:

# mkdir /mnt/md0
# mount /dev/md0 /mnt/md0
# cp -dpRx / /mnt/md0

Lihat progress-nya di konsole lain:

# watch df

10. Pasang GRUB:

# grub

grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)
grub> quit

11. Restart.

Boot-lah dengan pilihan pertama (hd1), karena partisinya sudah RAID.

Mudah-mudahan boot berlangsung lancar agar kita bisa melanjutkan langkah berikutnya, yaitu pemasangan RAID pada harddisk pertama (sda).

1. Ubah tipe semua partisi /dev/sda menjadi fd. Gunakan fdisk.
2. Aktifkan:

# mdadm –add /dev/md0 /dev/sda1
# mdadm –add /dev/md1 /dev/sda5

Pantau proses penyalinannya:

# watch cat /proc/mdstat

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sda5[2] sdb5[1]
6072448 blocks [2/1] [_U]
resync=DELAYED

md0 : active raid1 sda1[2] sdb1[1]
150215680 blocks [2/1] [_U]
[=========>………..]  recovery = 49.1% (73821056/150215680) finish=21.1min speed=60328K/sec

unused devices: <none>

Tunggulah hingga selesai.
3. Beritahukan daemon-nya:

# cp /etc/mdadm/mdadm.conf.orig /etc/mdadm/mdadm.conf
# mdadm –examine –scan >> /etc/mdadm/mdadm.conf

Sampai disini pemasangan mirror harddisk telah selesai. Sekarang restart, dan cobalah kedua pilihan boot itu, baik hd1 maupun hd0. Seharusnya keduanya sama saja.

Selanjutnya mari lakukan simulasi penyelamatan bila salah satu harddisk bermasalah, misalnya harddisk kedua hd1 alias sdb yang mengalami kerusakan.

1. Boot dengan harddisk pertama (hd0).
2. Hapus sdb dari RAID:

# mdadm –manage /dev/md0 –fail /dev/sdb1
# mdadm –manage /dev/md1 –fail /dev/sdb5
# mdadm –manage /dev/md0 –remove /dev/sdb1
# mdadm –manage /dev/md1 –remove /dev/sdb5

3. Hapus semua partisi yang ada di /dev/sdb. Gunakan fdisk.
4. Restart, dan gunakan hd0 untuk boot. Sampai di sini kita punya asumsi bahwa hd1 alias sdb adalah harddisk baru.
5. Sesuaikan partisinya dengan sda sebagaimana langkah pemasangan RAID sebelumnya.
6. Pastikan tidak ada jejak RAID di sdb:

# mdadm –zero-superblock /dev/sdb1
# mdadm –zero-superblock /dev/sdb5

Daftarkan sebagai RAID:

# mdadm –add /dev/md0 /dev/sdb1
# mdadm –add /dev/md1 /dev/sdb5

Perhatikan prosesnya:

# watch cat /proc/mdstat

Tunggulah hingga selesai.
7. Pasang GRUB:

# grub

grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)
grub> quit

Penyelamatan selesai.

Mirror dua harddisk seperti ini disebut sebagai RAID 1.

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s