人們應該是追求資料的健全保存後,再取得效能上的平衡。
而一般人細究 RAID 是沒有意義,要認知自身的需求,評估選擇有利的應用。
容錯式磁碟陣列(RAID, Redundant Array of Independent Disks),舊稱容錯式廉價磁碟陣列(Redundant Array of Inexpensive Disks),簡稱磁碟陣列。利用虛擬化儲存技術把多個硬碟組合起來,成為一個或多個硬碟陣列組,目的為提升效能或資料冗餘,或是兩者同時提升。
在運作中,取決於 RAID 層級不同,資料會以多種模式分散於各個硬碟,RAID 層級的命名會以 RAID 開頭並帶數字,例如:RAID 0、RAID 1、RAID 5、RAID 6、RAID 7、RAID 01、RAID 10、RAID 50、RAID 60。每種等級都有其理論上的優缺點,不同的等級在兩個目標間取得平衡,分別是增加資料可靠性以及增加記憶體(群)讀寫效能。
簡單來說,RAID把多個硬碟組合成為一個邏輯硬碟,因此,作業系統只會把它當作一個實體硬碟。RAID常被用在伺服器電腦上,並且常使用完全相同的硬碟作為組合。由於硬碟價格的不斷下降與RAID功能更加有效地與主機板整合,它也成為普通使用者的一個選擇,特別是需要大容量儲存空間的工作,如:視訊與音訊製作。
這邊不討論,硬碟壞了,而要從中把資料提取出來。
mindmap
RAID
存取速度
容錯或重建
自動化
備份功能
減輕負載 ?
獨立設備["獨立設備 (NAS / 電腦)"]
硬碟空間
愚知和盲從
資料和硬碟是重點,其它不在此項考慮(如電源燒壞,螢幕不亮)
注意:假設情況如由 N 顆碟組成的 RAID,此時壞掉一顆硬碟,你將可能需另外準備 M 顆新的硬碟。
M=N
mindmap
Fail
如何發現錯誤
寫入
讀取
寫入和讀取
誰來重建
單兵
專業團隊
硬碟資源
同型號停產
舊硬碟處置["舊硬碟*(N-1)"]
新硬碟準備["新硬碟*M"]
時間成本
實體 Disk * 2 (up)
Physical Drives 1TB + 1TB = 2TB Logical Drive(Array)
無『容錯功能 Fault Tolerant 』
任何1台硬碟受損,RAID 0 即損毀,無法讀取內部資料。
只要1台硬碟受損,就救不回來了!
實體 Disk * 2^n (n>=1)
Physical Drives 1TB + 1TB = 1TB Logical Drive(Array)
無『容錯功能 Fault Tolerant』
鏡像功能(Mirror)將一隻檔案自動變成兩份
其中一台硬碟機發生問題,只要另一台仍為正常狀態,便可以維持其RAID 1功能正常運作。
只要不是兩顆同時壞,更換壞掉的那顆即可,資料複製就可完成重建。相對的很簡單!
一般人能排除。
當然同時壞,就沒救了。
實體 Disk * 3 (up)
Physical Drives 1TB + 1TB + 1TB = 2 TB Logical Drive(Array) + 1 TB Parity Blocks
Parity 運算
若有一台硬碟故障時,RAID 5 Status會顯示『RAID Degraded』,但還是可以正常讀寫資料,當下最重要、該盡快處理的,不是立刻更換正常硬碟將 RAID 5 Rebuild,正確、安全的做法是趁 RAID 5還能夠讀取資料時,趕快將資料備份出來,事後再作重建 Rebuild。
先不考慮 Parity 壞掉。就算一台硬碟壞了,而通常 RAID 5 內的硬碟都是相同廠牌型號,所以硬碟品質基本上是相同。注意,先備份!
實體 Disk * 4 (up)
Physical Drives 1TB + 1TB = 2 TB Logical Drive(Array) + 2 TB Parity Blocks
Parity 運算
同時發生兩台硬碟機故障時,也能夠容許、並維持磁碟陣列持續正常運作,儲存、寫入資料不受影響,實際上不會因為壞兩台硬碟,而導致整組 RAID 6 Offline 的情況。
一般人常有的迷思,並不是說使用 RAID 就萬能,真的有如神助 ?
專業的不見得是好的。
G. 有可能要求救於專業的『RAID資料救援』
因為文章是引用它們的,所以就幫它們打廣告。
備份(英語:backup),在資訊科技與資料管理領域,指將檔案系統或資料庫系統中的資料加以複製;一旦發生災難或錯誤操作時,得以方便且及時地恢復系統的有效資料和正常運作。重要資料應當異地備援,降低風險。
假設今天是 20230931
flowchart TD
subgraph Full
direction LR
LongTimeAgo-20230931
end
base on 3.1. 的完全備份後,每日進行備份
flowchart TD
subgraph Inc6
direction LR
20231006
end
subgraph Inc5
direction LR
20231005
end
subgraph Inc4
direction LR
20231004
end
subgraph Inc3
direction LR
20231003
end
subgraph Inc2
direction LR
20231002
end
subgraph Inc1
direction LR
20231001
end
base on 3.1. 的完全備份後,每日進行備份
flowchart TD
subgraph Diff6
direction LR
20231006-6[20231006]
20231005-6[20231005]
20231004-6[20231004]
20231003-6[20231003]
20231002-6[20231002]
20231001-6[20231001]
end
subgraph IDiff5
direction LR
20231005-5[20231005]
20231004-5[20231004]
20231003-5[20231003]
20231002-5[20231002]
20231001-5[20231001]
end
subgraph Diff4
direction LR
direction LR
20231004-4[20231004]
20231003-4[20231003]
20231002-4[20231002]
20231001-4[20231001]
end
subgraph Diff3
direction LR
20231003-3[20231003]
20231002-3[20231002]
20231001-3[20231001]
end
subgraph Diff2
direction LR
20231002-2[20231002]
20231001-2[20231001]
end
subgraph Diff1
direction LR
20231001-1[20231001]
end
I.1. RAID
[ChatGPT]
"Block Striping" 是一種在資料存儲和數據管理中使用的技術,通常應用於儲存系統、RAID(Redundant Array of Independent Disks)組態、分散式儲存和雲儲存等場景中。它的主要目標是提高數據的存取速度和容錯性。
Block Striping 通常涉及將數據分成固定大小的區塊(或稱為 "块")並將這些區塊分佈到多個儲存設備或磁盤上,而不僅僅將數據寫入單個儲存設備。這樣做有幾個優勢:
- 提高性能: 通過將數據分散到多個設備上,可以平行處理讀取和寫入操作,從而提高了存取速度。不同的區塊可以同時在不同的磁盤上進行讀寫,從而減少了 I/O 瓶頸。
- 容錯性: 如果其中一個磁盤失效,只需重新創建並還原失敗的區塊,而不需要從頭開始重建整個儲存系統。這提高了系統的容錯性,減少了數據損失的風險。
- 平衡負載: 通過均勻分佈區塊到多個磁盤上,可以實現負載平衡,確保每個磁盤的使用率大致相等,從而提高了整個系統的效率。
Block Striping 的實現方式可以因不同應用和系統而異。在 RAID 組態中,常見的 RAID 級別,如 RAID 0 和 RAID 5,使用了 Block Striping 技術。在分散式儲存系統中,數據通常被分為許多區塊,然後分佈到不同的伺服器或節點上。
總之,Block Striping 是一種用於提高數據存取速度、容錯性和負載平衡的技術,通過將數據分區到多個儲存設備上實現這些優勢。
[ChatGPT]
"Data Striping"(數據分段)是一種資料儲存和管理技術,通常應用於儲存系統、RAID(Redundant Array of Independent Disks)組態、分散式儲存和儲存虛擬化等領域。它的主要目標是改進數據的存取速度和效能。
Data Striping 類似於 Block Striping,但它將數據分成不同大小的區段(或稱為 "條帶" 或 "段"),然後按照固定的順序依次存儲在多個儲存設備或磁盤上。這樣做的主要優勢是:
- 提高性能: 數據分段使得在多個設備之間進行平行讀寫操作成為可能。不同的數據段可以同時在不同的磁盤或設備上進行存取,從而提高了數據存取的速度和效能。
- 負載平衡: 通過分散數據段到多個設備上,可以實現負載平衡,確保每個儲存設備的使用率大致相等,這有助於提高整個系統的效率。
- 容錯性: 類似於 Block Striping,如果其中一個磁盤失效,只需重新創建和還原失敗的數據段,而不需要重建整個儲存系統,這提高了容錯性。
Data Striping 的實現方式可以因不同應用和系統而異。在 RAID 組態中,常見的 RAID 級別,如 RAID 0,使用了 Data Striping 技術。在分散式儲存系統中,數據通常被分為不同的段,然後分佈到不同的伺服器或節點上。
總之,Data Striping 是一種用於提高數據存取速度、負載平衡和容錯性的技術,通過將數據分段並分佈到多個儲存設備上實現這些優勢。這有助於優化儲存系統的性能和可用性。
我看不出有什麼不同。
[ChatGPT]
"Block Striping" 和 "Data Striping" 都是資料存儲和管理技術,旨在提高數據存取速度、效能和容錯性,但它們有一些關鍵差異:
- 分割單位:
- Block Striping(區塊分段): Block Striping 將數據分成固定大小的區塊或块,然後將這些區塊分佈到多個儲存設備或磁盤上。每個區塊是獨立的,不關心其內容。
- Data Striping(數據分段): Data Striping 將數據分成不同大小的區段或段,然後按照固定的順序依次存儲在多個儲存設備或磁盤上。每個數據段是有意義的數據片段,通常包含一個文件或一個文件的一部分。
- 用途和結構:
- Block Striping: Block Striping 主要用於提高數據存取的速度和效能。它可以在多個磁盤之間平行處理讀取和寫入操作,從而加速數據存取。
- Data Striping: Data Striping 通常在多個設備之間分佈有關同一數據集的不同部分。這有助於實現負載平衡、提高容錯性和分佈數據。
- 數據組織:
- Block Striping: 在 Block Striping 中,數據被劃分為相同大小的块,並且每個块可以獨立處理。
- Data Striping: 在 Data Striping 中,數據被劃分為不同大小的段,這些段通常是有關同一數據集的部分。
- 容錯性:
- Block Striping: 在一些 Block Striping 應用中,單個磁盤的故障可能會影響整個块的完整性,這可能需要重建整個块。
- Data Striping: 在 Data Striping 中,如果單個設備或磁盤失效,只需重新創建和還原失敗的數據段,而不需要重建整個段,這提高了容錯性。
總之,Block Striping 和 Data Striping 都是用於改善數據存取效能和容錯性的技術,但它們區分在於數據的分割方式和用途。 Block Striping 主要關注數據存取速度,而 Data Striping 關注數據的分佈和組織,以實現負載平衡和容錯性。选择使用哪種技術取決於特定應用的需求。
Created and designed by Lanka Hsu.
HelperX is available under the BSD-3-Clause license. See the LICENSE file for more info.