|
本帖最后由 per1-q1222 于 2012-5-20 14:12 编辑
"一是假如有2个或者多个盘同时坏了,是不是阵列和数据就完蛋了?"
RAID的基礎為stripping, 而且在算法上存在順序性..
例如往左或是往右...
data stripping的單位為stripe...
如果一個stripe的大小為256KB...
那麼在n顆PD下會是256/n進行stripping...
但是會有一個問題就是其中一條Stripe中的Dx數據異常或丟失..
那麼RAID f/w操作RAID Controller進行stripe重組時就無法復原該stripe...
因此在某些RAID level下就針對stripe進行動手腳...
例如RAID 5/6(P+Q)...
這類RAID mode稱為parity RAID mode..
簡單的RAID 5透過一組D資料數據進行XOR operation去產生parity(在數據救援上也比double-parity RAID mode好處理)...
例如: 有4顆PD的情況下, 會是D1 xor D2 xor D3 =P1, P1即為parity...
parity會穿插在各顆PD上, 而且存在順序性...
![]()
因此假設Dy發生異常, 例如其中一顆PD故障或著異常的communication loss...
Dy = Pn xor D1 xor D2 xor .... xor Dx, x!=y
Pn的parity與其他的D數據進行XOR操作後會求得原來的Dy還原整個stripe...
這是一個RAID 5的操作模型, 又稱single parity RAID mode..
不過有一個問題就是, 如果D數據區塊損毀超過2..
那就無法再用XOR operation進行復原..
因此從邏輯上觀點來看, 只能毀損一顆...
parity RAID mode本身可以提供冗餘機制以便進行容錯...
但是重點是一個RAID f/w究竟提供那些特徵來強化數據可靠性和穩定性..?!
"二是如果阵列卡坏了,再买一块同样的卡,能不能保住阵列和数据?"
RAID HBA掛掉了...
這要依靠RAID f/w的操作機制, 本身HBA掛掉並不會影響到PD上建立的COD...
以LSI來說, 每顆PD會在tail吃掉約512MB左右的空間作為metadata(COD)...
一般Desktop RAID並不會另外有一份metadata存放在特殊的persistent area...
例如像是NVSRAM...
因此Desktop RAID並不需要另外維護metadata...
大多情況進行遷移(migration), 只要不變更盤序, 應該不會有甚麼問題...
enterprise RAID大多設計都另外有一份metadata進行維護...
你這種整個array的遷移稱為online Array Roaming...
"三是假如用NAS的话,因为家用NAS一般都是4盘位,如果我一开始选用4块2t盘做raid5,将来想要扩容的话,是不是就只能把4块老盘都一块一块换成新的更大容量的盘?只换一块应该还是按最小硬盘2t来计算raid5的总容量吧?"
這要視NAS本身提供的算法...
一般這種情況進行OCE...
就是要等量的盤...
|
|