Wednesday, 11 January 2012

Linux တခုေပၚ မွာ Hard Drive ေတြကို RAID လုပ္ရေအာင္..

-->


RAIDကို အသံုးျပဳတဲ့ ရည္ရြယ္ခ်က္ ေတြက ကြဲလြဲႏိုင္ပါတယ္... ဒါေပမဲ့ သူ႕ကို Backup Server/ DataBase Server/ Sharing Server/ blar blar server အတြက္သံုးဖို႕ Data Access Time ျမန္ျမန္ ရခ်င္တဲ့ အခါေတြမွာ မသံုးမျဖစ္ကို သံုးၾကပါတယ္ (Access Time ေျပာလို႕ Access Time အတြက္ဆိုရင္ SSD သံုးမွာေပါ့လို႕ေတာ့ မေျပာနဲ႕ ေနာ္... SSD ရဲ့ ေစ်းက မေသး ဘူးဆို တာျငင္း လို႕မရဘူး... :D) .. အားသာခ်က္ ေတြက ရွိတာကိုး... Detail ကိုေတာ့ ရွာဖတ္ ၾကည့္ပါ ( http://en.wikipedia.org/wiki/RAID မသိ ေသးေသာသူ သာရည္ရြယ္ ပါသည္)..

အခု sample ေလးမွာေတာ့ RAID အတြက္ information က ေအာက္ပါ အတိုင္း ပါ...

OS : Debian 5
Attached HDD : 10GB 4 pics
sda : System (not in array)
sdb : will be in array
sdc : will be in array
sdd : will be in array
RAID Array Level : 5 (RAID5)
Require Linux Package : mdadm

(သာမန္ အားျဖင့္ RAID Array 5 က အဆင္အေျပဆုံး ပဲလို႕ထင္တယ္ ဘာလို႕ လဲဆိုေတာ့ HDD ၃လုံးက ေနစလိုရတယ္.. Fault Tolerance က ၁လုံး လက္ခံတယ္.. ေနာက္ မူရင္း HDD Size နဲ႕ တအား မကြာသြားဘူး)

စျပီ လိုအပ္တဲ့ mdadm ကို အရင္ install လုပ္ပါမယ္..
#apt-get install mdadm


အရင္ Attach လုပ္ထားတဲ့ HDD ေတြရဲ့ Information ေတြကို ၾကည့္ပါမယ္..
#fdisk -l



အဲဒီမွာ /dev/sda1 /dev/sda2 /dev/sda5 ေတြက system အတြက္ သံုးထားတဲ့ sda ရဲ့ partition ေတြ ပါ သူ႕ရဲ့ partition ေတြကို system ကသိေနပါျပီ.. အဲ /dev/sdb /dev/sdc နဲ႕ /dev/sdd ေတြကိုေတာ့ system က partition အေနနဲ႕ မသိေသးပါဘူး..

fdisk နဲ႕ပဲ အဲဒီ Hard Drive ေတြကို System က Partition အေနနဲ႕ သိေအာင္ လုပ္ေပးမယ္ ေနာက္ RAID Create လုပ္ရင္ Auto Detect ျဖစ္ေအာင္ပါ တခါတည္း လုပ္ပါမယ္.. Hard Drive "sdb" ကို စလုပ္ ပါမယ္.. အဲဒီ အတြက္ fdisk command နဲ႕ ေအာက္က အတိုင္း စပါမယ္..

#fdisk /dev/sdb

Command ႐ိုက္ျပီး ရင္ ေတာ့ ေအာက္က ပံုထဲမွာအတိုင္း လုပ္ေဆာင္ ပါမယ္...


n = new partition လုပ္ပါမယ္
p = primary partition ပါ
1 = partition number ပါ ( 1 to 4 မိမိ ၾကိဳက္ႏွစ္သက္ရာ ေပးႏိုင္ပါတယ္)
First cylinder ဘယ္က စမလဲ Default “Enter” ေခါက္ပါမယ္..
Last cylinder ဘယ္မွာ ဆုံးမလဲ Default “Enter” ေခါက္ပါမယ္..

t = partition's system id ကို change ပါမယ္..
fd = partition ရဲ့ system type ကို change ပါမယ္.. linux raid auto ဆိုတဲ့ system type ကို change ပါမယ္..

w = အထက္ပါ လုပ္ေဆာင္ခ်က္ေတြကို save တာပါ..

/dev/sdb အတြက္ ျပီးသြား ပါျပီး .. အထက္ပါ အဆင့္ေတြ အတိုင္း /dev/sdc နဲ႕ /dev/sdd အတြက္ပါ လုပ္လိုက္ပါမယ္..

"fdisk -l" command နဲ႕ တခ်က္ စစ္ၾကည့္ လိုက္ပါ Hard Drive ၃ခု လုံး RAID အတြက္ Ready ျဖစ္ေနပါျပီ..

#fdisk -l



အဲဒီ /dev/sdb1 /dev/sdc1 /dev/sdd1 partitionသံုးခုကို RAID စလုပ္ပါမယ္..

#mdadm --create /dev/md1 --level=5 --raid-disk=3 /dev/sdb1 /dev/sdc1 /dev/sdd1



အဲဒီ Array လုပ္ထားတဲ့ /dev/md1 ကို Format ခ်ပါမယ္ File System “ext3” နဲ႕ပါ..

#mkfs.ext3 /dev/md1



အဲဒီ Format ခ်ထားတဲ့ /dev/md1 Device ကို အသံုးျပဳ ႏိုင္ေအာင္ mount လုပ္ပါမယ္ backup ဆိုျပီ Directory တခု ေဆာက္ျပီး အဲဒီ ေပၚကို mount လုပ္ပါမယ္...

#mkdir /backup
#mount /dev/md1 /backup



System မွာ အျမဲ mount ျဖစ္ဖို႕ကို /etc/fstab မွာသြား ေရးပါမယ္..

#vi /etc/fstab



ေရးျပီး Save ျပီးရင္ System ကို Restart တေခါက္ေလာက္ ခ်ၾကည့္ပါSystem ျပန္တက္လာရင္ သင့္ရဲ့ RAID5 Arrayလုပ္ထားတဲ့ Device ကိုသံုး ဖို႕ Ready ျဖစ္ေနပါျပီ...

#df -H


RAID5 Device ရဲ့ Info ကိုၾကည့္ပါ မယ္..
#mdadm --detail /dev/md1



ဒီ RAID Array Device ကို Management/Control လုပ္ဖို႕ဆိုရင္ "mdadm” ဆိုတဲ့ commandကိုေတာ့ detail သိရွိ ထားဖို႕လိုအပ္ ပါတယ္...

ကဲ ျပသနာ ရွာၾကည့္ရေအာင္..... :D
ေနာက္ဆုံး Hard Drive (/dev/sdd) ကို ၾကိဳးဆြဲ ျဖဳတ္ လိုက္ျပီ ဗ်ာ Hard Drive မေကာင္းေတာ့ဘူး ပ်က္သြားတယ္ေပါ့ .. :D RAID5 Array Detail ျပန္ၾကည့္ရေအာင္...

#mdadm --detail /dev/md1


အဲဒီ remove လုပ္လိုက္တဲ့ Hard Drive ေနရာမွာ တျခား Hard Drive တလုံးကို Attach လုပ္ျပီး RAID ကိုျပန္ျပင္ ပါမယ္.. (အဲဒီမွာ သတိ ထားရမွာက ေနာက္ အစားထိုး မဲ့ Hard Drive က ယခင္ Hard Drive နဲ႕ Size ျခင္း တူရင္တူ မတူရင္ ၾကီး ရပါမယ္ ငယ္လို႕ မရပါ)

ဒီမွာေတာ့ New 12GB Hard Drive ကို အရင္ Hard Drive ေနရာမွာ အစားထိုး ထားေတာ့ system မွာယခင္ Drive Name /dev/sdd နဲ႕ပဲျပန္ေပၚပါတယ္.. System က partition တခု အေနနဲ႕ သိရေအာင္ အေပၚက partition createလုပ္တဲ့ ပံုစံနဲ႕ New Hard Drive ကို partitionအရင္ လုပ္ပါ..

ျပီးရင္ ေအာက္က Command နဲ႕ New Hard Drive ကို Add ေပးလိုက္႐ံု ပါပဲ....

#mdadm /dev/md1 --add /dev/sdd1

-->


Detail ၾကည့္ၾကည့္ပါ သူဟာသူ RAID ကို Re-Building ျပန္လုပ္ေနပါလိမ့္မယ္..

#mdadm --detail /dev/md1



ကဲ ဒီေလာက္ဆို OK မွာပါ။... Cheers !!!

Ref:


>>

UTEE

No comments:

Post a Comment