Langkau ke kandungan utama

Cara Membuat Raid 1 (mirror) dengan Slackware 13.37



Assalamualaikum.....

Tutorial ini menunjukkan cara membuat RAID cara perisian dengan menggunakan mdadm (linux) di bawah Sistem Pengoperasian Slackware.




Pengenalan

Raid merujuk kepada redundant array of independent disk ataupun dalam bahasa melayu lebih kurang bunyinya tindanan disk yang berasingan.

Secara pemahamannya, sebilangan hd berlainan yang digabung  menjadi satu samada dengan saiz sama tapi banyak salinan, atau saiz lebih besar (jumlah semua saiz hd).

Contohnya,

Katakan kita ada 2 HD 50GB

  1. Kita boleh jadikan satu HD 100GB dengan menggunakan raid. Raid ini dipanggil Disk Stripping ( Selang Seli HD ). ATAUPUN
  2. Kita boleh jadikan 2 HD berkongsi segala maklumat serupa di kedua-dua HD. Apa yang HD pertama ada, HD kedua juga turut ada data yang sama. Raid ini dipanggil Disk Mirroring atau Kembar HD ( Cermin HD macam tak sampai maksud "kedua HD adalah sama", so aku guna "kembar" untuk sampaikan maksudnya )
gambarannya adalah seperti berikut :



Itulah asasnya konsep RAID. Dan, dalam teknologi raid ada 2 jenis applikasi iaitu RAID secara fizikal dan RAID secara perisian. 

RAID fizikal memerlukan peranti RAID yang biasanya dilengkapi dalam komputer pelayan pada hari ini bagi memudahkan pengurusan IT membuat rutin teknikal. Namun bagi PC, biasanya peranti RAID tidak tersedia semasa pembelian.

Selain peranti, terdapat juga perisian yang mampu membuat RAID secara maya seolah-olah sistem mempunyai peranti RAID. Walaupun tidak seefisyen peranti fizikal, perisian RAID masih lagi relevan untuk diaplikasikan dan selamat (pengalaman sendiri).

Anda boleh baca lagi pasal RAID :

Tujuan membuat RAID pula biasanya berkait rapat dengan toleransi kegagalan. Atau dengan bahasa / pemahaman mudahnya adalah kebolehan sesuatu sistem untuk terus berfungsi jika salah satu kegagalan berlaku.

Dan dalam kes kita dalam post ini adalah HD. Jika salah satu HD rosak dalam RAID 1, masih ada satu lagi HD yang terus berfungsi kerana kedua-dua HD ini berkongsi data yang sama.

Berlainan pula dengan RAID 0, HD dibesarkan saiznya mengikut jumlah saiz kesemua HD. Jika salah satu HD rosak, abeh la semua rosak kerana kekurangan RAID 0 adalah ianya tidak menyimpan bit pariti. Namun kelebihannya yang dapat menggandakan saiz HD adalah tidak dapat disangkal.

Level RAID selain 0 dan 1 ada banyak. Setiap level mempunyai kelebihan dan kekurangan masing2.


Tutorial RAID 1 dengan mdadm , slackware linux
Untuk tutorial ini, kita akan menggunakan resepi di bawah :

1. Slackware linux 13.37
2. perisian mdadm linux
3. 2 biji HDD yang sama ( sama brand dan kapasiti )

* adalah perlu diingat, HD yang berlainan saiz masih memungkinkan kita membuat partition. Akan tetapi ianya tidak disyorkan kerana mungkin akan timbul pelbahai masalah.

Situasi sebelum RAID [ Perancangan ]

 Oleh kerana RAID dalam tutorial ini akan menggunakan 2 HD kosong, anggapkan situasinya kita akan membuat instalasi slackware / OS yang baru di atas HD kosong / baru.

Secara Am, langkah yang akan kita ikuti adalah


1. pemasangan HD (jika belum dipasang)

2. Boot sistem menggunakan DVD slackware.

3. Apabila sistem telah boot dan konsole prompt telah keluar dan menyuruh kita membuat pembahagian HD (partitioning), silalah gunakan alatan yang anda sukai samada fdisk / cfdisk.

4. Untuk membuat RAID 1, kita perlukan pembahagian HD yang sama dan serupa. Katakanlah dalam kes aku ni, aku nak buat setup untuk web server yang mana /var/www adalah fail untuk web dan fail-fail sistem. Maka aku akan buat pembahagian lebih kurang macam ni la.
  • 4 GB swap partition [ ram aku guna 4GB ]
  • 100GB /root
  • selebihnya  pada /var
          Contoh:
Device Boot    Start              End               Blocks        Id  System
/dev/sda1              63          3903794        1951866     fd  Linux raid autodetect
/dev/sda2       3903795       160151984    78124095   fd  Linux raid autodetect
/dev/sda3       160151985   312576704    76212360   fd  Linux raid autodetect

  • Setiap jenis (type) HD adalah FD ( Linux RAID autodetect )
  • Sangat-sangat disyorkan supaya tinggalkan unpartitioned space, iaitu ruang yang tidak dibahagikan dalam HD dengan saiz paling kurang 100MB untuk menyimpan data berkenaan partition table dll.

5. salin jadual pembahagiana HD pada HD pertama ke HD kedua hanya dengan arahan di bawah:

sfdisk -d /dev/sda | sfdisk /dev/sdb
* ( /dev/sda = HD pertama, /dev/sdb = HD kedua )
6. Membina jujukan RAID

  • RAID yang akan dibina adalah berdasarkan pembahagian HD yang telah dilakukan tadi.
  • cara kod arahan mdadm untuk RAID 1:
    taip di konsol 
    mdadm --create /dev/md1 --level 1 --raid-devices 2 /dev/sda1 /dev/sdb1 metadata=0
    mdadm --create /dev/md2 --level 1 --raid-devices 2 /dev/sda2 /dev/sdb2 metadata=0
    mdadm --create /dev/md3 --level 1 --raid-devices 2 /dev/sda3 /dev/sdb3 metadata=0
    
* /dev/md1 : untuk swap
* /dev/md2 : root  
* /dev/md3 : /var  
* sila sesuaikan dengan sistem / server anda mengikut keperluan

7. sebelum setup slackware, larikan arahan di bawah :

mkswap /dev/md1
     
8. Bolehlah kita setup slackware seperti biasa..

  • pilih /dev/md1 untuk swap partition
  • pilih /dev/md2 untuk root / install partition
  • pilih /dev/md3 dan taip /var untuk additional partition
9. Setup lilo 

  1. Pilih samada 'simple/expert' setup bila ditanya untuk install lilo
  2. Bila ditanya untuk  additional  "append=" parameters. Taip :
            root= /dev/md1
  3. Pilih "MBR" sebagai tempat untuk install lilo
  4. Jika ada warning keluar, abaikan.. 
10. Sebelum Reboot, ada satu perkara lagi perlu setting.

  1. Tukar ke direktori installasi
    chroot /mnt
  2. . Dengan menggunakan pengedit teks pilihan anda ( vim/pico/nano ), edit fail /etc/lilo.conf
    pico /etc/lilo.conf
  3. tambah satu ayat dalam satu baris baru dalam file ini.. Taip :
    raid-extra-boot = mbr-only
  4. Tukar ayat "boot= .."
    boot = /dev/md2
Simpan fail dan balik makan kat rumah, ops.. larikan lilo hanya dengan menaip lilo dalam konsol.

lilo

11. Abeh la cara nak setup raid HD secara perisian. Anda boleh reboot pc.


 Sedikit Info pasal RAID 1 dengan mdam


1. Cara untuk melihat status partition raid :

 taip cat /proc/mdstat di konsol.

Contoh paparan yang keluar:
root@slackware:~# cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] 
md1 : active raid1 sdb1[1] sda1[0]
      7815488 blocks [2/2] [UU]
      
md2 : active raid1 sdb2[1] sda2[0]
      97659008 blocks [2/2] [UU]
      
md3 : active raid1 sdb3[1] sda3[0]
      97659008 blocks [2/2] [UU]
      
md4 : active raid1 sdb4[1] sda4[0]
      773529664 blocks [2/2] [UU]

  • Tanda U adalah HD kita UP n running. Jika HD rosak maka akan ditanda U_. Contohnya untuk md1, jika statusnya adalah _U maka sdb1 adalah rosak , tapi sda1 tidak.
  • Jika tidak dapat dipulihkan dan perlu HD diganti, nanti aku buat tutorial lain pulak.
  • Iuttu shaja... ngantuk lar.

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