Pages - Menu

Showing posts with label Storage. Show all posts
Showing posts with label Storage. Show all posts

Monday, January 19, 2015

What is RAID ?



RAID ဆိုတာ တစ်ခုထက်ပိုသော Data သိမ်းဆည်းနိုင်တဲ့ တစ်ခုထက်ပိုတဲ့ Harddisk များကို Logical Device တစ်ခုတည်းဖြစ်သွားအောင် လုပ်လိုက်တဲ့ Array နည်းပညာကိုဆိုလိုပါတယ်။ တကယ်တော့ Harddiskမှ မဟုတ်ပါဘူး Data သိမ်းဆည်နိုင်တဲ့ Drive အားလုံးပါဝင်ပါတယ်။
Hardware RAID(RAID Controller) နဲ့ Software RAID နဲ့ Storage Array ဆိုပြီးတော့ RAID ကို သုံးမျိုးခွဲခြားနိုင်ပါတယ်။ ဘာကွာလဲဆိုတော့ Hardware RAID တော်တော်များများဟာ အလွယ်တကူ ဖြုတ်တပ်နိုင်တဲ့ SCSI ဟတ်ဒစ်တွေ သုံးထားတဲ့ Server တွေ အများစုမှာ ပါဝင်ပြီး BIOS ထဲက ပုံစံလိုမျိုး configure လုပ်ရမှာ ဖြစ်သော်လည်း Configure လုပ်ရတာ လွယ်ကူပါတယ်။ Software RAID ဟာ Server မဟုတ်တဲ့ သာမာန် PC များမှာ configure လုပ်နိုင်ပြီး OS အမျိုးအစားပေါ်မူတည်ပြီး configure ပြုလုပ်နိုင်ပြီး ကျွန်တော့် အတွေ့အကြုံအရ software RAID ကို သိပ်မကြိုက်သလို configure လုပ်ရတာ နည်းနည်း လက်ပေါက်ကပ်ပါတယ်။
Storage Array ဆိုတာကတော့ အနည်းဆုံး Hardware RAID(Raid Controller) နှစ်ခုပါဝင်ပြီး Multiple Raid Level ကို
အထောက်အပံပေးထားပါတယ်။
ဘယ်လိုပဲ Hardware RAID တွေ၊ Software RAID ရှိနေပါစေ တကယ်တမ်း RAID level တွေကို ကောင်းကောင်းနားလည်ထားရင် configure လုပ်ရတာ လွယ်ကူပါတယ်။
RAID level တွေက RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6, RAID 7, RAID 10, RAID 0+1, RAID S ဆိုပြီး ရှိကြပါတယ်။ RAID level ပေါ်မူတည်ပြီး အနည်းဆုံးလိုအပ်တဲ့ ဟတ်ဒစ် အရေအတွတ်ကွာဟသွားသလိုပဲ အမှားခံနိုင်စွမ်းနဲ့ မြန်ဆန်မှုတွေလဲ ကွားခြားသွားပါတယ်။
ကျွန်တော်ကတော့ အသုံးများတဲ့ RAID 0, RAID 1 နဲ့ RAID 5 ကိုသာ အဓိက ရေးသားသွားမှာဖြစ်ပြီး ကျန်တာတွေကတော့ description ပုံစံမျိုးပဲ ရေးသွားမှာပါ။
RAID 0 ကတော့ Striping လုပ်ပြီး ရိုးရှင်းစွာ သိမ်းပါတယ်။ ပြောရရင်တော့ Hard Disk နှစ်ခုကို ပေါင်းထားသလိုပါပဲ။ ပေါင်းထားလို့ ဖြစ်လာတဲ့ RAID array ပေါ်မှာ ဒေတာတွေ သိမ်းဆည်းပါတယ်။ ဒါပေမဲ့ Hard Disk တစ်လုံးက ပျက်စီးသွားရင်ပဲ Array တစ်ခုလုံး ပျက်စီးသွားနိုင်လို့ အမှားမခံနိုင်ပါဘူး။ သို့သော် Data ကို ခွဲပြီး သိမ်းပေးသောကြောင့် Performance မှာမှု အံမခန်း မြန်ဆန်ပါသည်။
RAID 1 ကို မြန်မာပြည်မှာ အသုံးများပါတယ်။ RAID 1 တည်ဆောက်နိုင်ဖို့ အနည်းဆုံး Size တူညီတဲ့ Hard Disk နှစ်လုံး လိုအပ်ပါတယ်။ သို့သော် သူက အပေါ်က RAID 0 လို Size တွေ မပေါင်းပါဘူး။ ဥပမာ 250GB ရှိတဲ့ Hard Disk နှစ်လုံးကို ပေါင်းရင် 500GB ဖြစ်မသွားပါဘူး။ နှစ်ခုပေါင်းရင် 250GB ဖြစ်သွားမှာပါ။ RAID 1 array ဆိုသည်မှာ ဟတ်ဒစ်တစ်လုံးမှာ “1″ ဆိုတဲ့ File သိမ်းရင် နောက်ထပ် Hard Disk တစ်လုံးမှာလဲ အဆိုပါ “1″ ဖိုင်ကို သိမ်းဆည်းသော ကြောင့် Duplexing (သို့) Mirroring လုပ်တယ်လို့လဲ ဆိုကြပါတယ်။ ထို့ကြောင့် Hard Disk တစ်လုံး ပျက်စီးသွားရင်တောင် နောက်တစ်လုံးထဲမှာ DATA တွေ ကျန်ရှိနေမှာ ဖြစ်ပါတယ်။
RAID 2 ရဲ့ အလုပ်လုပ်ပုံကတော့ error-correcting coding ဆိုပြီး ပြောကြပါတယ်။
RAID 3 ရဲ့ အလုပ်လုပ်ပုံကတော့ Bit-Interleaved Parity ဖြစ်ပါတယ်။
RAID 4 ကို Dedicated Parity Drive လို့လဲ ခေါ်ဝေါ်ကြပါတယ်။
RAID 5 ကတော့ အသုံးများကြတယ်လို့ ဆိုနိုင်ပါတယ်။ အနည်းဆုံး RAID 5 သုံးမယ်ဆိုရင် အနည်းဆုံး HDD သုံးလုံး လိုအပ်မှာဖြစ်ပါတယ်။ သူ့ရဲ့ fomula ကို မျက်လုံးထဲမှာ မြင်သာအောင် ပြောရမယ်ဆိုရင် {Size x (NumberHDD – 1)} ဖြစ်ပါတယ်။ ဥပမာ- 50GB ရှိတဲ့ HDD သုံးလုံးရှိတယ်ပေါ့… ခုနက fomula အရ {50GB x (3 – 1)} ဆိုပြီး တွက်လိုက်ရင် 150GB ရရှိမှာ မဟုတ်ပဲ 100 GB Size ရှိတဲ့ Array တစ်ခု ဖြစ်ပေါ်လာမှာဖြစ်ပါတယ်။ RAID 5 က DATA တွေကို ခွဲပြီး သိမ်းဆည်းပြီး Backup Data တွေ ထားနိုင်ဖို့ Hard Disk တိုင်းမှာ Parity ဆိုပြီး နေရာလွတ်လေး ချန်ထားခဲ့ပါတယ်။ Hard Disk တိုင်းမှာ မတူညီတဲ့ Data ခွဲပြီး သိမ်းဆည်းတာကြောင့် backup လုပ်ဖို့ Parity ထားရခြင်းဖြစ်ပါတယ်။ Parity ထဲမှာ သူ့မှာ မပါတဲ့ Data တွေကို သိမ်းဆည်းပြီးတော့ RAID 1 လိုတော့ Mirror ပွားတဲ့ ပုံစံမျိုးတော့ မဟုတ်ပါဘူး။ ဥပမာ- ဖိုင် 6 ခု ရှိတယ်ပေါ့။ hard disk တစ်လုံးထဲမှာ “1″ “2″ဆိုတဲ့ File တွေ သိမ်းထားပြီး “3″ “4″ “5″ “6″ ထဲက တစ်ဝက်(“3″ “4″) ကို သူ့ရဲ့ Hard disk ရဲ့ parity မှာ သိမ်းဆည်းပါတယ်။ Hard Disk တိုင်းက ဒေတာ ပမာဏ ၃ပုံ/၂ပုံ ကို သိမ်းဆည်းတယ်လို့ အကြမ်းမျဉ်း မှတ်လို့ရပါတယ်။ RAID 5 ကို စာရေးပြီးပြောရတာ တကယ်ရှုပ်ပါတယ်။ အောက်က ပုံသာ ကြည့်လိုက်ကြပါ။ ရှင်းသွားပါလိမ့်မယ်။
RAID 6: Independent Data Disks with Double Parity
RAID 0+1 ကတော့ A Mirror of Stripes လို့ ခေါ်ကြပါတယ်။
RAID 10 ကို RAID 0+1 နှင့် ပြောင်းပြန်အလုပ်လုပ်ပြီး A Stripe of Mirrors ဖြစ်ပါတယ်။
RAID 7 ဆိုတာ Server ထဲကို Raid 3 (သို့) 4 ကို cache လုပ်ပြီး ထည့်လိုက်ခြင်းဖြစ်ပါတယ်။

RAID S ဆိုတာ EMC coporation က ပိုင်ဆိုင်တဲ့ Symmetrix Storage နည်းပညာများမှာ သုံးပြီး Parity RAID လို့လဲ ခေါ်ဝေါ်ကြပါတယ်။

Tuesday, July 15, 2014

Storage Overview



Storage Overview
 
Storage အပိုင်းကိုစပီးလေ့လာမယ်ဆိုရင်.. ပထမဦးဆုံးသိထားရမယ့်အချက်တွေရှိပါတယ်။ အဲဒါတွေက ဘာတွေလဲဆိုတော့ DAS, NAS & SAN တို့ဖြစ်သလို RAID အကြောင်းလဲသေသေချာချာသိဖို့ လိုအပ်ပါတယ်။ DASဆိုတာဘာလဲ ? NAS ဆိုတာဘာလဲ ? SAN ဆိုတာဘာလဲ? ဆိုတာအရင်ဆုံးသိဖို့လိုအပ်တယ်။ (ကျွန်တော့ အယူအဆ) DAS ဆိုတာက Direct attach storage. အခု ကျနော်တို့ လက်ရှိအသုံးပြုနေတဲ့  လက်တော့တွေ ကွန်ပျူတာတွေမှာ တွဲလျှက်(Built_In)ပါလာတဲ့HDD ကိုတိုက်ရိုက်ချိတ်ဆက်အသုံးပြုတာမျိုးကို DAS လို့ခေါ်ပါတယ်။ External HDD တွေကို Laptop & Desktop တွေမှာချိတ်ဆက်အသုံးပြုတာမျိုးကိုလဲ DAS လို့ခေါ်တယ်။ နောက်တခုက NAS အကြောင်း။ NAS ဆိုတာ Network Attach Storage။ သူကျတော့  Local Network အတွင်းမှာ Share သုံးနိုင်သလို WAN Network အတွင်းမှာရှိတဲ့ user ပေါင်းမြောက်များစွာမှ ၎င်း NAS ကို share ပီးအသုံးပြုနိုင်တယ်။ NAS မှာ Support လုပ်ပေးနိုင်တဲ့ Protocols တွေအများကြီးရှိတယ်။ ဥပမာ။   ။ NFS, SMB/CIFS or AFP…
ထိုနည်း၎င်းပဲ SAN ကို Support လုပ်တဲ့ Protocols တွေရှိပါတယ်။ ဥပမာ။   ။ iSCSI , Fibre channel, ATA over Ethernet(AOE) and HyperSCSI စသည်ဖြင့်။ SAN and NAS ရဲ့ Definition ကို ရိုးရှင်းလွယ်ကူစွာ ခွဲခြားနိုင်ပါတယ်။ NAS ရဲ့ အလုပ်လုပ်ဆောင်ပုံက Unstructured Data Type အမျိုးအစားကို Support ပေးနိုင်ခြင်းဖြစ်ပါတယ်။ Unstructured Data ဆိုတာဘာလဲဆိုတော့ အခု ကျနော်တို့ လက်ရှိအသုံးပြုနေတဲ့ File အမျိုးအစားတွေဖြစ်တယ်။ Office နဲ့ ပတ်သတ်တဲ့ file တွေ movies တွေ Application တွေ အစရှိတဲ့ file type အမျိုးအစားတွေကိုခေါ်တယ်။ တနည်းအားဖြင့် File_Based အမျိုးအစားလို့လဲခေါ်ပါတယ်။

SAN ရဲ့အလုပ်လုပ်ဆောင်ပုံက Structured Data Type အမျိုးအစားကို Support ပေးနိုင်ခြင်းဖြစ်ပါတယ်။ Structured Data ဆိုတာဘာလဲဆိုတော့ MsSQL, Oracle အစရှိတဲ့ Database fileတွေကို ဆိုလိုခြင်းဖြစ်တယ်။တနည်းအားဖြင့် Block_Based လို့လဲခေါ်ကြပါတယ်။ ဒီတော့ကား ကိုယ့်ရဲ့ Environment မှာ ဘယ်လို Data Type အမျိုးအစား အသုံးပြု နေတယ်ဆိုတာသိရှိပါက ကျနော်တို့အနေနဲ့ အကြမ်းဖြင်းအားဖြင့် NAS သုံးရမလား SAN သုံးရမလား ဆိုတာ သိနိုင်လိမ့်မယ်လို့မျှော်လင့်ပါတယ်။ ယခုနောက်ပိုင်း နည်းပညာတွေမြင့်မားလာတာနဲ့အမျှ အရင်လို SAN သတ်သတ် NAS သတ်သတ် ခွဲခြားစရာမလိုအောင် နည်းပညာပိုင်းဖွံ့ဖြိုးတိုးတက်လာကြပါတယ်။ Unified ဆိုတဲ့ နည်းပညာ ပေါ်လာပီးတဲ့နောက်မှာ File Type နှစ်မျိုးစလုံး (File_based & Block_based)ကို Support လုပ်နိုင်သွားပါတယ်။ ကျန်တဲ့အပိုင်းကတော့ ကိုယ့်လိုအပ်လျှင်လိုအပ်သလို Customize လုပ်နိုင်သွားပါပီ။


Redundancy Array Of Independent Disk ( RAID )

နောက်တခုက Storage ပိုင်းကို လေ့လာမယ်ဆိုရင် မသိမဖြစ်သိနေရမှာက RAID ( Redundant Array of Independent Disk ) အကြောင်းဖြစ်တယ်။ တကယ့် Environment မှာ အသုံးများဆုံး Raid အမျိုးအစားအကြောင်းတွေကိုပဲ ပြောပြပေးသွားမှာပါ။

Raid 0, Raid 1, Raid 5, Raid 6, Raid 10 (also known as RAID 1 + 0) and Raid 01 (also known as RAID 0 = 1)



Raid 0

Raid 0 မှာ Mirror မရှိသလို Parityလည်း မရှိပါ။ Blocks အနေနဲ့ကတော့striped အနေနဲ့သွားပါတယ်။

အားသာချက်တွေကတော့…Performance အနေနဲ့ကတော့ ပြောစရာမလိုအောင် ကောင်းတယ်။ အနည်းဆုံး HDD 2 လုံးလိုအပ်ပါလိမ့်မယ်။ အားနည်းချက်ကတော့ Redundancy မရှိဘူး။ ဘာကြောင့်လဲဆိုတော့ ( no mirror & no parity ) မရှိလို့ပါ။ Striping လို့လဲခေါ်ကြပါသေးတယ်။ အရေးကြီးတဲ့နေရာတွေမှာ Raid 0 ကိုမသုံးပါ။ ပုံလေးနဲ့ မြင်ရရင် ပိုရှင်းသွားမယ်ထင်တယ်။


Raid 1
Raid 1 ကိုအသုံးပြုမယ်ဆိုရင် အနည်းဆုံး HDD ၂ လုံးလိုအပ်ပါလိမ့်မယ်။ Performance အနေနဲ့ကတော့ Raid 0 လောက် Excellent မဖြစ်ပေမယ့် Good Condition လောက်တော့ရှိတယ်။ နောက်တခုက Redundancy အနေနဲ့ကတော့ Excellent တာအသေအချာပဲ။ သူက Mirror ကိုး။ သူ့မှာ Parity မရှိသလို Striping မရှိပါဘူး ဒါကြောင့် မြန်တာပါ။



Raid 5

Raid 5 ကို အသုံးပြုမယ်ဆိုလျှင် အနည်းဆုံး HDD ၃ လုံးလိုအပ်ပါလိမ့်မယ်။ Performance အနေနဲ့ကတော့ သူလည်းပဲ Raid 1 လိုပဲ Good Condition ပဲရှိတယ်။ Excellent တော့မဖြစ်ဘူး။ ဘာလို့လဲဆိုတော့ သူ့မှာ Striping ပါလာပီ။ Redundancy ကလဲ Good Condition. ဘာလို့လဲဆိုတော့ Parity 1 ခုခြင်းစီက က Any Disk မှာ ရှိနေလို့ပါ။ တနည်းအားဖြင့် Distributed Parity လို့လဲခေါ်ပါတယ်။ Raid 5 ကိုတော့ လက်ရှိ Environment မှာအသုံးများကြတယ်။ သူက Both Performance and Redundancy လဲရတယ်။ Cost အနေနဲ့ကြည့်မယ်ဆိုရင်လဲသက်သာတယ်။ များသောအားဖြင့် Database Environment တွေမှာသုံးကြတယ်။ ဘာလို့လဲဆိုတော့ကား Read Operation က မြန်တယ်။ Write Operation မှာတော့ အနည်းငယ် လေးပါတယ်။ Raid 5 ကိုအသုံးပြုမယ်ဆိုလျှင် 1 Disk Failure ကိုကာကွယ်နိုင်ပါတယ်။








Raid 6
Raid 6 ကိုအသုံးပြုမယ်ဆိုလျှင်တော့ 2 disk failure ကို ကာကွယ်ပေးနိုင်ပါတယ်။ Raid 6 ရဲ့ အလုပ်လုပ်ဆောင်ပုံက Raid 5 ရဲ့ အလုပ်လုပ်ဆောင်ပုံနဲ့ထပ်တူနီးပါးကျပါတယ်။ သူလည်းပဲ Write Operationမှာ အနည်းငယ် နှေးပါတယ်။ ထူးခြားတာတခုက Parity အနေနဲ့ Data Block တခုစီမှာ Parity 2 ခုစီပါတဲ့အတွက် Excellent Redundancy ပါ။



Raid 10 (also known as Raid 1 + 0)
Raid 10 ကတော့ အနည်းဆုံး HDD ၄လုံးလိုအပ်ပါလိမ့်မယ်။ သူ့ကိုကျတော့ Strip of Mirrors လို့လဲအသိများကြတယ်။ Redundancy မှာတော့ Raid 5 နဲ့မတူတော့ဘူး Excellent Condition ဖြစ်သွားပီ။ ဘာလို့လဲဆိုတော့ Blocksတစ်ခုခြင်းစီက Diskတွေတစ်ခုခြင်းစီကို mirror လုပ်ပါတယ်။ Performance မှာကျတော့သူက Excellent Condition ဖြစ်သွားပီ Disk တွေကိုStriped လုပ်သွားလို့ပါ။ Group ခွဲပီးတော့သူကအလုပ်လုပ်ပါတယ်။ Raid 10 ကတော့ Budget တတ်နိုင်တဲ့ ကုမ္ပဏီတွေအတွက် The Best Option ပါ။





Raid 01 (also known as RAID 0 +1)
Raid 01 ကိုအသုံးပြုမယ်ဆိုလျှင် အနည်းဆုံး HDD 3 လုံးပဲလိုအပ်ပါမယ်။ သူ့ကို Mirror of Stripes လို့လဲ လူအသိများကြပါတယ်။ Raid 01 က နည်းနည်းတော့ Complex ဖြစ်တယ်။ Group ၂ ခုခွဲရတယ်။ ဥပမာအနေနဲ့ HDD 6 လုံးရှိတယ်ဆိုပါဆို့။ ၃ လုံး တစ်Groupစီ ခွဲထားရပါမယ်။ A,B,C ဆိုပါစို့။ Group တခုခြင်းစီမှာ Data က Strip လုပ်ပါလိမ့်မယ်။Eg: HDD ၃လုံးရှိတဲ့ ပထမ Group မှာ First block (A) က first disk မှာရေးပါလိမ့်မယ်။အဲလိုပဲ second block (B) က second Disk ။ third block (C) က third Disk ။ ဒုတိယ Group မှာလည်း ထိုနည်းလည်းကောင်းပဲ။ဒါကြောင့် Disk 1 က  Disk 4 ကို mirror / Disk 2 က Disk 5 ကို Mirror / Disk 3 က Disk 6 ကို mirror လုပ်သွားပါလိမ့်မယ်။ Raid 01 အကြောင်းကိုဘာလို့ ရှင်းပြရတာလဲဆိုတော့ Raid 10 နဲ့ မတူတဲ့အချက်တွေကို သတိပြုမိအောင်လို့ပါ။ Performance အနေနဲ့ကတော့ Raid 10 & Raid 01 အတူတူပါဘဲ။ Capacity လဲအတူတူပဲ။ အဓိက ကွာခြားချက်က Fault Tolerance ပါ။ Raid 01 က Fault Tolerance နည်းတယ် Raid 10 ထက်ပိုပီးတော့။ ပထမ Group မှာရှိတဲ့ Disk 1 နဲ့ ဒုတိယ Group မှာရှိတဲ့ Disk 4 သာ Fail ဖြစ်ခဲ့မယ်ဆိုရင် Data အားလုံး Down သွားမှာပါ။ Raid 10 မှာ ကျတော့ Group တစ်ခုစီမှာရှိတဲ့ Disk တစ်လုံးစီ ပျက်သွားရင်တောင် Raid 10 က ဆက်လက်အလုပ်လုပ်နေအုံးမှာဖြစ်ပါတယ်။ 
 
Thanks

Ba Gyi Phyo