Langkau ke kandungan utama

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




















Ulasan

Catatan popular daripada blog ini

Apa Maksud RON dalam pengkelasan Petrol?

RON dan Petrol Oleh yusdirman, Oktober 2014 RON adalah singkatan daripada Research Octane Number Ianya kaedah penarafan bahan api. Lebih tinggi nilai RON, lebih mahal harga PETROL. Adakah minyak RON 97 lebih berkuasa berbanding RON 95? RON merujuk kepada tahap bahan api menahan rintangan "ketukan" semasa proses pembakaran oleh palam pencucuh dalam enjin. Ianya merujuk kepada tahap ketahanan bahan api untuk tidak terbakar sebelum dinyalakan oleh palam pencucuh dalam enjin. "ketukan" dalam konteks RON ini adalah apabila campuran bahan api dan udara dalam enjin terbakar lebih awal sebelum api dari palam pencucuh menbakarnya. Pembakaran awal ini mungkin disebabkan enjin terlalu panas. Haba dari silinder enjin itu sendiri mungkin telah menyalakan bahan api sebelum palam pencucuh menyala. Ini boleh menurunkan prestasi dan mungkin boleh memudaratkan enjin! Jadi, RON bukannya bermaksud LEBIH KUASA! Ianya bermaksud bahan api itu dapat menahan tekanan dari

Load Balancing dengan Nginx dan Puma

Load Balancing dengan Nginx dan Puma Tutorial ini adalah sangat ringkas hanya untuk menunjukkan kebolehan nginx sebagai load balancer yang dapat menjadi 'orang tengah' antara banyak server di belakangnya Keperluan 1. Paling kurang 2 server aplikasi 2. Satu server diinstall nginx Contoh Persekitaran yang sekarang 1. server1: os: debian application: ruby on rails web server : puma dns : myaplication1.yusdirman.com 2. server2: myaplication2.yusdirman.com os:debian application: ruby on rails web server : puma dns : myaplication1.yusdirman.com 3. nginx diinstall di server1 /ets/nginx/nginx.conf setup (default): worker_processes  2; worker_processes  auto; worker_rlimit_nofile 65536; error_log  logs/error.log  notice; error_log  logs/error.log  info; events {   worker_connections  65536; } http {   include       mime.types;   default_type  application/octet-stream;   sendfile        on;   tcp_nopush on;   tcp_nodelay on;   keepalive_tim

Server Redundancy - Pertindanan Komputer Pelayan

alkisahnya tercari-cari untuk buat server redundancy ( pertindihan komputer pelayan ) atas sebab perlunya server yang sentiasa on-line tanpa ada downtime yang lama. Dan, cabarannya adalah memang kami tak pernah jalani apa-apa latihan, pengalaman dan apa jua pengetahuan berkenaan teknologi ini. Yang pastinya, perlu banyak mengoogle. Setakat ini, ada banyak kaedah untuk memastikan aplikasi masih terus boleh berfungsi walaupun server mati/rosak. 1. guna 2 server yang sama. Bila satu mati, satu lagi yang masih hidup dapat terus melayan pengguna. 2. guna 2 talian rangkaian yang berbeza. Bila satu talian rosak/putus, masih ada satu lagi talian rangkaian yang berfungsi. 3. storan di server guna raid ( redundant array of independent disk ) atau dalam bahasa melayu : barisan disk berlainan yang bertindan. Raid dapat menjadikan sebilangan hd menjadi 1 dengan semua data pada 1 hd adalah sama dengan data pada hd 2. (mirroring) 4. satu IP maya untuk sebilangan server. 2 server yang mena