Rabu, 29 September 2010

Belajar software RAID1 mirror dengan gmirror di FreeBSD

Oke, sediakan harddisk 2 buah dengan size yang sama, misal sebagai berikut
  • /dev/ad1
  • /dev/ad3
Kita format masing-masing dari harddisk melalui root :

  1. redfreebsd# dd if=/dev/zero of=/dev/ad1
  2. redfreebsd# fdisk -vBI /dev/ad1
  3. redfreebsd# bsdlabel -B -w ad1s1 auto
  4. redfreebsd# newfs /dev/ad1s1a
format juga harddisk kedua /dev/ad3 dengan step yang sama.

Untuk membuat software raid1 mirror di FreeBSD kita lewati step-step sebagai berikut :
  • Aktifkan debugging dan access informasi pada device di kern.geom.debugflags
  • redfreebsd# sysctl kern.geom.debugflags=17


  • Gunakan gmirror untuk membuat raid1 mirror
  • redfreebsd# gmirror label -v -b round-robin gm0 /dev/ad1

  • Tambahkan parameter di file /boot/loader.conf dengan geom_mirror_load="YES"
  • redfreebsd# echo "geom_mirror_load=YES" > /boot/loader.conf


  • Reboot freebsd-nya
  • redfreebsd# reboot
  • Setelah reboot, Lihat device raid1 yang sudah dibuat
  • redfreebsd# ls -l /dev/mirror/
  • Tambahkan atau insert harddisk /dev/ad3 ke raid1.
  • redfreebsd# gmirror insert gm0 /dev/ad3

  • Lihat proses pada saat gmirror menambahkan harddisk /dev/ad3 ke raid1, gambbar dibawah menunjukkan proses masih 10%.
  • redfreebsd# gmirror status
  • Setelah selesai 100% insert harddisk /dev/ad3 ke mirror raid1, kita coba mount raid1 mirror yang kita buat.
  • redfreebsd# mount /dev/mirror/gm0s1a /DATA

  • Kita tambahkan mount point di /etc/fstab, agar pada saat reboot freebsd. mirror yang kita buat automount.
  • redfreebsd# echo "/dev/mirror/gm0s1a /DATA ufs rw 1 1" >> /etc/fstab
Selesai.

Selasa, 14 September 2010

Tips : Shell Scripting - Membuat name file dengan date

Ketika anda ingin rename atau backup log file, misalnya "secure.log" menjadi nama file "Sep-14-2010-1002.log" . Kita bisa buat script kecil dengan perpaduan perintah date di linux.
Sebelumnya kita gunakan lihat parameter date itu apa saja :

syahal@redarix:~/tmp> date --help
FORMAT controls the output. Interpreted sequences are:

%% a literal %
%a locale's abbreviated weekday name (e.g., Sun)
%A locale's full weekday name (e.g., Sunday)
%b locale's abbreviated month name (e.g., Jan)
%B locale's full month name (e.g., January)
%c locale's date and time (e.g., Thu Mar 3 23:05:25 2005)
%C century; like %Y, except omit last two digits (e.g., 20)
%d day of month (e.g, 01)
%D date; same as %m/%d/%y
%e day of month, space padded; same as %_d
%F full date; same as %Y-%m-%d
%g last two digits of year of ISO week number (see %G)
%G year of ISO week number (see %V); normally useful only with %V
%h same as %b
%H hour (00..23)
%I hour (01..12)
%j day of year (001..366)
%k hour ( 0..23)
%l hour ( 1..12)
%m month (01..12)
%M minute (00..59)
%n a newline
%N nanoseconds (000000000..999999999)
%p locale's equivalent of either AM or PM; blank if not known
%P like %p, but lower case
%r locale's 12-hour clock time (e.g., 11:11:04 PM)

kita coba dengan perintah ini,

syahal@redarix:~/tmp> date +"%b-%d-%Y-%H%M"
Sep-14-2010-1027

Setelah itu, kita coba padukan hasil date untuk dijadikan nama file :

syahal@redarix:~/tmp> vi date-generator
isi scriptnya sebagai berikut :

#!/bin/bash
NOW=$(date +"%b-%d-%Y-%H%M")
LOGFILE="$NOW.log"
#Perintah dibawah bisa anda sesuaikan, dibawah hanya menampilkan hasil dari echo saja
echo $LOGFILE



simpan dengan :wq!

syahal@redarix:~/tmp> chmod +x date-generator ( agar bisa di-execute ).
syahal@redarix:~/tmp> ./date-generator
Sep-14-2010-1036.log

Selesai.

Kamis, 09 September 2010

Belajar Konfigurasi Software RAID1 Mirror di Linux

RAID, singkatan dari Redundant Array of Independent Disks merujuk kepada sebuah teknologi di dalam penyimpanan data komputer yang digunakan untuk mengimplementasikan fitur toleransi kesalahan pada media penyimpanan komputer (utamanya adalah hard disk) dengan menggunakan cara redundansi (penumpukan) data, baik itu dengan menggunakan perangkat lunak, maupun unit perangkat keras RAID terpisah.
Kata "RAID" juga memiliki beberapa singkatan Redundant Array of Inexpensive Disks, Redundant Array of Independent Drives, dan juga Redundant Array of Inexpensive Drives. Teknologi ini membagi atau mereplikasi data ke dalam beberapa hard disk terpisah. RAID didesain untuk meningkatkan keandalan data dan/atau meningkatkan kinerja I/O dari hard disk. -wiki
Jenis-jenis RAID :

- RAID level nol: Bandwith data tranfer rate dua kali lebih cepat dr 1 Harddisk, jika satu HD crash maka data akan hancur
- RAID level pertama: Data bersifat mirroring, jika ada 2 harddisk dan salah satu harddisknya crash, maka data masih tetap aman.
- RAID level kedua : Koreksi kesalahan dengan menggunakan kode Humming
- RAID level ketiga : Pengecekan terhadap disk tunggal di dalam sebuah kelompok disk.-
- RAID level keempat: Pembacaan dan penulisan secara independen
- RAID level kelima : Menyebarkan data dan paritas ke semua drive (tidak ada pengecekan terhadap disk tunggal). - wiki

Disini saya coba buat raid level 1 mirror dengan software raid mdadm di linux bukan hardware raid.

1. Sediakan 2 harddisk atau bisa gunakan VirtualBox untuk harddisk virtual, dengan masing-masing kondisi kita sudah format dengan ext4.
misal : /dev/sdb1 dan /dev/sdc1

2. Kita gunakan software raid mdadm :
mail:/# mdadm --create --verbose --level=raid1 --raid-devices=2 /dev/sdb1 /dev/sdc1



Anda bisa lihat progress pembuatan raid1 nya di /proc/mdstat
mail:/#cat /proc/mdstat


Pada gambar diatas dapat dilihat, bahwa progress pembuatan raid nya masih 6,4 %

Kita lihat detail dari /dev/md0 yang telah kita buat, gunakan perintah
mail:/#mdadm --detail /dev/md0




3. Kemudian format raid1 (/dev/md0) dengan ext4




4. Setelah selesai kita buat raid1, coba mount /dev/md0 ke directory /DATA/, dan coba dengan membuat satu file di /DATA/test.txt, apakah file tersebut benar-benar di mirror?



Pakai perintah df -h untuk melihat apa saja yang di mount.




5. Oke, setelah itu kita coba lihat apakah file test.txt yang sudah dibuat akan membuat duplikat di /dev/sdb1 dan /dev/sdc1

kita umount /dev/md0 di directory /DATA/ terlebih dahulu



kita stop device /dev/md0, gunakan perintah :
mail:/#mdadm --stop /dev/md0





kita cek struktur partisi di sistem linux-nya, terlihat bahwa /dev/md0 sudah di-deattach dan tidak terdapat dalam struktur partisi ( Gambar bawah ) . Kemudian kita coba mount partisi harddisk /dev/sdb1. Apakah ada file test.txt yang tadi kita buat di raid1 ( /dev/md0 ) ?



Ternyata pada gambar diatas terlihat bahwa test.txt terdapat di partisi /dev/sdb1.

Lalu kita lihat di partisi harddisk /dev/sdc1 ( lihat gambar bawah ). Ternyata file test.txt ada juga. Ini membuktikan bahwa raid 1 memang me-mirror-kan file test.txt yg tadi kita buat ke masing-masing partisi diharddisk /dev/sdb1 dan /dev/sdc1.




6. Kita normalkan kembali raid1.




7. Agar raid1 bisa secara automount pada saat kita reboot, hidupkan service /etc/init.d/boot.md



8. Tambahkan entry mount point di /etc/fstab.



9. Selesai :)