Langkau ke kandungan utama

MDADM - tukar hard disk rosak dengan HOT SWAP di atas linux slackware 14



Assalamualaikum WBT

 Puji-pujian yang terlayak hanyal untuk Allah Yang Maha Esa. Dialah yang Maha Menciptakan alam ini dan selayaknya untuk deberi segala Pujian. Dialah yang merajai Hari Pembalasan, Yang Maha Mengetahui dan Maha Melihat.

Dengan nama Allah yang Maha Pemurah dan Pengasihani. Dengan nama-nama Allah yang Agung dan Dia Agungkan..


*UPDATE
- aku dah cuba beberapa kali untuk tukar HD secara terus semasa server masih lagi  hidup dan sistem masih lagi jalan.

langkah secara ringkas
1. guna

mdadm --manage /dev/mdX --fail /dev/sdaX

2. guna
mdadm --manage /dev/mdX --remove /dev/sdaX

3. guna

hdparm -Y /dev/sda ( @ hdparm -y /dev/sda ?)

4. pastikan status HD dengan

fdisk -l. 

5. Cabut HD tanpa matikan server

6. Biarkan seketika / tengok /var/log/message

7. pasang semula HD

8. biarkan seketika / tengok status dengan

fdisk -l

9. tambah semula HD kedalam tindanan RAID sedia ada

mdadm --manage /dev/mdX --add /dev/sdaX


10. pastikan status RAID

cat /proc/mdstat



Cubaan pertama : GAGAL
- sebabnya raid sedang dalam keadaan kemaskini data. Oleh kerana bahagian HD yang ketiga adalah sangat besar ( kurang lebih dalam 900G), maka prosesnya memakan masa agak lama.
- masa aku buat cubaan pertama, HD masih dalam kemaskini.

Cubaan Kedua: BERJAYA
- sebabnya : HD telah dikemaskini.
- ikut step yang betul; mdadm --fail, mdadm --remove, hdparm -Y /dev/sdX

Cubaan Ketiga : Gagal
- sebabnya: tidak dapat dipastikan. Mungkin salah pada hdparm -Y. Mungkin sepatutnya guna hdparm -y .. ( -Y : sleep mode, -y: standby mode)

Cubaan keempat: Berjaya
- sebabnya: Step dah betul.. mula-mula guna hdparm -Y dan kemudian hdparm -y. Tapi dah pastikan dengan hdparm -C ( untuk tengok status HD)




Apa nak buat jika salah satu HD kita dalam tindanan RAID kita rosak dan perlu diganti baru?


Persoalan yang seringkali berlegar dalam kepala dan agak merunsingkan hati. Namun, Alhamdulillah hari ini diberi peluang olehNya untuk meneroka satu lagi ilmu dalam bidang IT dan Ins Sya Allah saya akan nukilkan di sini.


Situasi untuk tutorial ini

1. Server adalah Dell High performance yang sokong HD hot swap ( tukar HD secara terus tanpa perlu off kan server )

2. Tindanan RAID adalah seperti berikut

/dev/md0 = raid 1 (mirror)
bilangan HD = 6
devices = /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
mount : swap partition


/dev/md1 = raid 1 (mirror)
 bilangan HD = 6
devices = /dev/sda2 /dev/sdb2 /dev/sdc2 /dev/sdd2 /dev/sde2 /dev/sdf2
 mount : / (root)

/dev/md1 = raid 5 (stripe)
 bilangan HD = 6
devices = /dev/sda3 /dev/sdb3 /dev/sdc3 /dev/sdd3 /dev/sde3 /dev/sdf3
 mount : /var (sistem, data, web, mysql, dll...)



Kes : katakan /dev/sda rosak dalam /dev/md2 iaitu apabila dilarikan arahan

cat /proc/mdstat

maka statusnya keluar : 

 md2 : active raid5 sdf3[6] sde3[4] sdd3[3] sdc3[2] sda3[0] sdb3[1]
      4112330240 blocks level 5, 512k chunk, algorithm 2 [6/5] [UUUUU_]
      [====>................]  recovery = 22.4% (184683648/822466048) finish=578.1min speed=18384K/sec

maka adapun status ini menunjukkan salah satu HD tidak aktif dan mungkin rosak..

jadi, tutorial ini akan menunjukkan secara terperingkat cara-cara untuk menggantikan HD ini ( /dev/sda) dengan yang baru

3. HD lama dan HD baru adalah SAMA saiz, brand dan model.


TUTORIAL TUKAR HD DARI TINDADAN RAID MDADM


1. matikan bahagian HD dalam bahagian raid menggunakan araham mdadm

mdadm --manage /dev/md0 --fail /dev/sda1
mdadm --manage /dev/md1 --fail /dev/sda2
mdadm --manage /dev/md2 --fail /dev/sda3

2. Buangkan drive tersebut daripada senarai raid

 

mdadm --manage /dev/md0 --remove /dev/sda1
mdadm --manage /dev/md1 --remove /dev/sda2
mdadm --manage /dev/md2 --remove /dev/sda3

3. Setkan HD yang rosak itu sebagai tidak aktif 

hdparm -Y /dev/sda

4. Buka dan tukarkan HD dengan yang baru

4.1 Sebelum cabut HD daripada pelabuh, gunakan arahan di bawah ini untuk menyalakan lampu LED mengikut nama HD. Larikan arahan di bawah dan lampu led untuk HDD /dev/sda akan menyala.

dd if=/dev/sda of=/dev/null

tekan ctrl+c untuk hentikan arahan di atas

bolehlah cabut HDD itu dan gantikan yang baru.


5. Apabila HD telah dipasang semula, Slackware akan kenalpasti HD tersebut secara automatik.

6. pastikan HD telah dikenalpasti dengan fdisk -l fdisk -l

7. Bina bahagian HD dengan sfdisk sfdisk -d /dev/sdb | sfdisk /dev/sda

8. Tambah semula kedalam raid

mdadm --manage /dev/md0 --add /dev/sda1
mdadm --manage /dev/md1 --add /dev/sda2
mdadm --manage /dev/md2 --add /dev/sda3


* Perhatian ! 1. pastikan HD yang anda setkan tidak aktif adalah HD yang anda cabut dari server 2. Pastikan RAID anda bukan RAID 5 JIKA anda ingin tukarkan lebih daripada satu HD. Jika RAID 5, pastikan HD telah selesai kemaskini data 3. Sentiasa pastikan aktiviti RAID anda dengan melihat pada /proc/mdstat


Jika seluruh Tindanan RAID anda rosak!

contohnya untuk RAID 5, jika terdapat lebih daripada satu HD rosak pada satu-satu masa, dan, anggap anda telah ada backup di tempat (sever) lain, maka anda perlu bina semula sekeluruhan tindanan RAID.


1. Pastikan status tindanan RAID anda

cat /proc/mdstat

2. buang tindanan yang rosak.

mdadm --remove /dev/mdX

 3. Bina semula tindanan RAID anda

mdadm --create /dev/mdX --level 5 --raid-devices 6 /dev/sd[a-f]3 --metadata 0

*jika sistem berikan peringatan seperti "devices already in a raid array. continue?"

tekan y ( yes )

4. tengok status semula

cat /proc/mdstat


InsyaAllah raid anda akan terbina semula dan anda bolehlah buat salinan daripada data backup ke server sekarang.



 


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