14 Mei 2012

RAID 5, mdadm, slackware 64, 6 Buah HDD dengan tambahan kipas =)



Allahumma inni a'uudzubika minal hammi wal hazan.Ya Allah ya Tuhan kami, sesungguhnya aku berlindung kepada-Mu daripada keluh kesah dan dukacita.
Wa a'uudzubika minal 'ajzi wal kasal. Dan aku berlindung kepada-Mu dari lemah kemahuan dan malas.
Wa a'uudzubika minal jubni wal bukhl. Dan aku berlindung kepada-Mu daripada sifat penakut dan kedekut.
Wa a'uudzubika minal ghalabatiddaini wa qohrirrijaal.
Dan aku berlindung kepada-Mu daripada tekanan hutang dan kezaliman manusia.
Assalamualaikum

        Selalunya terasa macam tak cukup masa je untuk update blog ni padahal niat untuk berkongsi ilmu itu satu yang baik dan setiap yang baik itu dari Allah. Tapi rasa malas itu menebal dan kemahuan untuk menaip blog ni memang lemah.

       Jadi, sebaik-baiknya adalah berdoa dan alhamdulillah bila tanya pakcik google, mmg ramai yang share pasal doa ni. Jazakallahukhairan


RAID 5, 6 Buah HDD, Slackware64 dan mdadm


Gambar di atas adalah cita-cita kami untuk file-server dengan raid 5. 


Gambar ni pula keadaan sebenar yang kami mampu usahakan. = )

Resepinya :
  1. Komputer Desktop Acer M9600. 
  2. Mainboard dengan 6 port sata
  3. 6 buah HDD 500GB
  4. tambahan 2 kipas di depan dan di belakang


Apa Itu RAID 5?


Block dengan p adalah block pariti. Contoh RAID5 dengan 4 HDD

Contoh 3 HDD dengan RAID5. 







Redundant Array Independent Disk Level 5
- RAID 5 memperuntukkan 1 HDD untuk toleransi kegagalan. Maksudnya satu HDD akan menyimpan data pariti yang akan digunakan apabila salah satu HDD rosak.
- Paling kurang, 3 buah HDD diperlukan untuk membina RAID 5. 
- Jika menggunakan 3 buah HDD 1 TB, jumlah saiz yang boleh dicapai adalah 2 TB. 
- Iaitu katakan n HDD digunakan, dengan s adalah saiz HDD dan andaikan saiz HDD adalah sama, maka jumlah keseluruhan saiz yang dapat dicapai dengan RAID 5 adalah (n-1)s


Kelebihan RAID 5
- Sangat ekonomi kerana saiz HDD yang besar dapat dicapai disamping ada ciri-ciri toleransi kegagalan.
- Mampu untuk baikpulih jika ada 1 HDD rosak pada satu-satu masa.
- Contohnya kami perlukan HDD space yang besar namun budget tidak mencukupi untuk membeli HDD / file server / sewa HDD space  dll. Jadi apa yang yang termampu hanyalah menggunakan apa yang ada dalam jabatan kami. Kami gunakan 6 buah HDD 500GB, dan dengan RAID 5, kami boleh mencapai saiz HDD sehingga 2.5 TB. Cukuplah untuk sistem yang kami bina ni dan mungkin mampu bertahan 2-3 tahun lagi sebelum penuh.. InsyaAllah.


Kelemahan RAID 5
- Data pariti dijana setiap kali terdapat aktiviti tulis ke atas HDD yang mengurangkan prestasi sistem. Namun pengurangan prestasi ini hanyalah memberi kesan kepada sistem yang benar-benar besar dan aktiviti tulis pada HDD sangat tinggi.
- Sistem hanya mampu dibaikpulih jika hanya 1 HDD sahaja rosak pada satu-satu masa. Jika 2 HDD rosak serentak, maka sistem akan gagal.

Namun, untuk kemungkinan berlakunya 2 HDD rosak secara serentak adalah sangat jarang walaupun ianya mungkin berlaku. Maka, untuk sistem yang tidak begitu kritikal / data juga disimpan secara selari pada server lain, RAID 5 masih lagi relevan untuk digunakan. InsyaAllah.



Tutorial RAID 5

Dalam tutorial ini, aku guna Slackware 13.37 64bit linux dengan hardware setup seperti di atas tadi.

Sepintas Lalu


Rujukan untuk tutorial ini adalah daripada :
http://slackware.osuosl.org/slackware-12.1/README_RAID.TXT

Seperti yang kita sedia maklum, untuk setup OS kedalam satu komputer memerlukan peruntukan ruang HDD. Dalah kes linux, ruang asas yang perlu dibina adalah swap dan os. Namun, biasanya kita akan peruntukkan juga ruang HDD untuk sistem contohnya /var adalah didalam satu bahagian HDD yang berbeza dengan bahagian root /

Berbeza dengan RAID 1 ( Mirror ), RAID 5 memerlukan kita untuk membuat satu bahagian bagi /boot yang mana sistem akan boot di sini.

Keperincian :
  • /
    • root
  • /boot
    • boot
  • /var
    • untuk sistem

Mula dengan Boot sistem menggunakan Slackware 13.37 64bit.
- Apabila komputer telah boot sehingga keluar konsol prompt, boleh mulakan pembahagian HDD ( partitioning ) untuk HDD pertama


Bahagian HDD
Katakan HDD adalah seperti berikut

/dev/sda
/dev/sdb
/dev/sdc
/dev/sdd
/dev/sde
/dev/sdf

Dengan menggunakan cfdisk atau fdisk, /dev/sda dibahagikan seperti berikut :
/dev/sda1 /boot 30 MB Linux Raid autodetect
/dev/sda2 / 2 GB Linux Raid autodetect
/dev/sda3 swap 4 GB Linux Raid autodetect
/dev/sda4 /var (saiz yang tinggal - 100MB) Linux Raid autodetect
* 100MB ditinggal tanpa membuat sebarang bahagian untuk HDD tersebut menyimpan data bahagian dalam HDD ini.
* Pastikan jenis bahagian HDD adalah fd ( linux raid autodetect )

untuk HDD lain, cukuplah sekadar hanya melarikan arahan di bawah :
#: sfdisk -d /dev/sda | sfdisk /dev/sdb
#: sfdisk -d /dev/sda | sfdisk /dev/sdc
#: sfdisk -d /dev/sda | sfdisk /dev/sdd
#: sfdisk -d /dev/sda | sfdisk /dev/sde
#: sfdisk -d /dev/sda | sfdisk /dev/sdf
* arahan ini menyalin jadual bahagian HDD di HDD pertama ke HDD kedua


Cipta Array untuk RAID


Dengan menggunakan arahan mdadm, boleh mula cipta array untuk raid.

Untuk setup dalam tutorial ini, kita ada 4 bahagian HDD yang mana /boot, /var dan / (root). Satu lagi adalah swap.

katakan :

swap  = md0     :   sd[a-f]3
/boot  = md1     :   sd[a-f]1
/         =  md2    :   sd[a-f]2
/var     = md3   :    sd[a-f]4

1. Untuk swap, kita gunakan raid 1 ( setiap hdd akan menyimpan salinan apa sahaja dalam swap )

#: mdadm --create /dev/md0 --level 1 --raid-devices 6 /dev/sd[a-f]3 --metadata=0

2. Untuk /boot juga, setiap HDD perlu ada salinan data dalam boot, maka sistem tidak bergantung hanya pada satu HDD sahaja untuk boot.

#: mdadm --create /dev/md1 --level 1 --raid-devices 6 /dev/sd[a-f]1 --metadata=0


3. Bahagian root atau / akan menggunakan raid 5. Satu HDD memperuntukan 2G dan jikalau menggunakan 6 HDD bersama raid 5, jumlah saiz HDD yang akan terhasil adalah 2 GB x 5 = 10 GB.

#: mdadm --create /dev/md2 --level 5 --raid-devices 6 /dev/sd[a-f]2 --metadata=0

4. Bahagian /var adalah untuk sistem web, database dan data-data berkaitan web (gambar, html, php dll). Bahagian ini adalah kritikal untuk sistem sebagai server.



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



Sebelum melarikan slackware setup, kita perlu setkan swap array untuk installer camkannya..



#: mkswap /dev/md0




Sekarang bolehlah setup slackware macam biasa.

  • Untuk swap partition, pilih /dev/md0
  • Untuk target partition, pilih /dev/md2
  • Untuk extra partition
    • pilih /dev/md1 untuk /boot
    • pilih /dev/md3 untuk /var

Setup Slackware macam biasa.

Untuk Tetapan LILO ( sebelum instalasi habis )
- Pastikan untuk "append=" semasa setup LILO, masukkan "root=/dev/md2"
- pilih MBR sebagai tempat untuk install LILO

Sebelum Habis
- Apabila instalasi Slackware telah habis, sebelum kita mulakan semula server, ada sedikit lagi tetapan yang perlu kita ubah.

Tukar ke direktori /mnt dan edit file /etc/lilo.conf



#:  chroot /mnt
#: nano /etc/lilo.conf





1. Tambah satu ayat sebagai baris baru, tetapi jangan senggang ( indent )

raid-extra-boot = mbr-only

2. Tukar boot = "ada apa apa" kepada :
 
boot = /dev/md2


 iaitu bahagian HDD yang ada OS untuk diboot.

3. Simpan dengan menggunakan ctrl-o

4. run lilo dengan melarikan arahan lilo


5. exit

6. reboot


InsyAllah, semoga dengan RahmatNya kita berjaya membina server dengan RAID 5 menggunakan 6 buah HDD 500GB. Dan juga semoga ilmu yang dipelajari dalam tutorial ini dapat digunakan dan dimanfaatkan. InsyaAllah..


Jika ada kesalahan dan pembetulan, harap tidaklah segan silu memaklumkan kepada saya.


Wassalamualaikum Warah Matullah




















Tiada ulasan:

Catat Ulasan

Demo sero guano?