RHCE linux學習第八天

2021-09-25 11:02:45 字數 2530 閱讀 5875

7.1 raid磁碟冗餘陣列

近年來, cpu的處理效能保持著高速增長,intel公司在2023年最新發布的i9-7980xe處理器晶元更是達到了18核心36執行緒。但與此同時,硬碟裝置的效能提公升卻不是很大,因此逐漸成為當代計算機整體效能的瓶頸。而且,由於硬碟裝置需要進行持續、頻繁、大量的io操作,相較於其他裝置,其損壞機率也大幅增加,導致重要資料丟失的機率也隨之增加。

2023年,加利福尼亞大學伯克利分校首次提出並定義了raid技術的概念。raid技術通過把多個硬碟裝置組合成乙個容量更大、安全性更好的磁碟陣列,並把資料切割成多個區段後分別存放在各個不同的物理硬碟裝置上,然後利用分散讀寫技術來提公升磁碟陣列整體的效能,同時把多個重要資料的副本同步到不同的物理硬碟裝置上,從而起到了非常好的資料冗餘備份效果。

任何事物都有它的兩面性。raid技術確實具有非常好的資料冗餘備份功能,但是它也相應地提高了成本支出。就像原本我們只有乙個**本,但是為了避免遺失,我們將聯絡人號碼資訊寫成了兩份,自然要為此多買乙個**本,這也就相應地提公升了成本支出。raid技術的設計初衷是減少因為採購硬碟裝置帶來的費用支出,但是與資料本身的價值相比較,現代企業更看重的則是raid技術所具備的冗餘備份機制以及帶來的硬碟吞吐量的提公升。也就是說,raid不僅降低了硬碟裝置損壞後丟失資料的機率,還提公升了硬碟裝置的讀寫速度,所以它在絕大多數運營商或大中型企業中得以廣泛部署和應用。

出於成本和技術方面的考慮,需要針對不同的需求在資料可靠性及讀寫效能上作出權衡,制定出滿足各自需求的不同方案。目前已有的raid磁碟陣列的方案至少有十幾種,而劉遄老師接下來會詳細講解raid 0、raid 1、raid 5與raid 10這4種最常見的方案。

raid 0技術把多塊物理硬碟裝置(至少兩塊)通過硬體或軟體的方式串聯在一起,組成乙個大的捲組,並將資料依次寫入到各個物理硬碟中。這樣一來,在最理想的狀態下,硬碟裝置的讀寫效能會提公升數倍,但是若任意一塊硬碟發生故障將導致整個系統的資料都受到破壞。通俗來說,raid 0技術能夠有效地提公升硬碟資料的吞吐速度,但是不具備資料備份和錯誤修復能力。

儘管raid 0技術提公升了硬碟裝置的讀寫速度,但是它是將資料依次寫入到各個物理硬碟中,也就是說,它的資料是分開存放的,其中任何一塊硬碟發生故障都會損壞整個系統的資料。因此,如果生產環境對硬碟裝置的讀寫速度沒有要求,而是希望增加資料的安全性時,就需要用到raid 1技術了。

raid 1技術雖然十分注重資料的安全性,但是因為是在多塊硬碟裝置中寫入了相同的資料,因此硬碟裝置的利用率得以下降,從理論上來說,圖7-2所示的硬碟空間的真實可用率只有50%,由三塊硬碟裝置組成的raid 1磁碟陣列的可用率只有33%左右,以此類推。而且,由於需要把資料同時寫入到兩塊以上的硬碟裝置,這無疑也在一定程度上增大了系統計算功能的負載。

raid5技術是把硬碟裝置的資料奇偶校驗資訊儲存到其他硬碟裝置中。raid 5磁碟陣列組中資料的奇偶校驗資訊並不是單獨儲存到某一塊硬碟裝置中,而是儲存到除自身以外的其他每一塊硬碟裝置上,這樣的好處是其中任何一裝置損壞後不至於出現致命缺陷;圖7-3中parity部分存放的就是資料的奇偶校驗資訊,換句話說,就是raid 5技術實際上沒有備份硬碟中的真實資料資訊,而是當硬碟裝置出現問題後通過奇偶校驗資訊來嘗試重建損壞的資料。raid這樣的技術特性「妥協」地兼顧了硬碟裝置的讀寫速度、資料安全性與儲存成本問題。

鑑於raid 5技術是因為硬碟裝置的成本問題對讀寫速度和資料的安全效能而有了一定的妥協,但是大部分企業更在乎的是資料本身的價值而非硬碟**,因此生產環境中主要使用raid 10技術。

顧名思義,raid 10技術是raid 1+raid 0技術的乙個「組合體」。如圖7-4所示,raid 10技術需要至少4塊硬碟來組建,其中先分別兩兩製作成raid 1磁碟陣列,以保證資料的安全性;然後再對兩個raid 1磁碟陣列實施raid 0技術,進一步提高硬碟裝置的讀寫速度。這樣從理論上來講,只要壞的不是同一組中的所有硬碟,那麼最多可以損壞50%的硬碟裝置而不丟失資料。由於raid 10技術繼承了raid 0的高讀寫速度和raid 1的資料安全性,在不考慮成本的情況下raid 10的效能都超過了raid 5,因此當前成為廣泛使用的一種儲存技術。

7.2 lvm邏輯卷管理器

前面學習的硬碟裝置管理技術雖然能夠有效地提高硬碟裝置的讀寫速度以及資料的安全性,但是在硬碟分好區或者部署為raid磁碟陣列之後,再想修改硬碟分割槽大小就不容易了。換句話說,當使用者想要隨著實際需求的變化調整硬碟分割槽的大小時,會受到硬碟「靈活性」的限制。這時就需要用到另外一項非常普及的硬碟裝置資源管理技術了—lvm(邏輯卷管理器)。lvm可以允許使用者對硬碟資源進行動態調整。

邏輯卷管理器是linux系統用於對硬碟分割槽進行管理的一種機制,理論性較強,其建立初衷是為了解決硬碟裝置在建立分割槽後不易修改分割槽大小的缺陷。儘管對傳統的硬碟分割槽進行強制擴容或縮容從理論上來講是可行的,但是卻可能造成資料的丟失。而lvm技術是在硬碟分割槽和檔案系統之間新增了乙個邏輯層,它提供了乙個抽象的捲組,可以把多塊硬碟進行卷組合並。這樣一來,使用者不必關心物理硬碟裝置的底層架構和布局,就可以實現對硬碟分割槽的動態調整。lvm的技術架構如圖7-7所示。

C 學習第八天

介面 inte ce c 中介面定義的規則 1 介面本身的預設訪問級別為internal,即程式集本身訪問級別 2 介面中方法不能使用任何訪問修飾符 例如 public private internal protected 等修飾。系統自動為其設定為public 3 不能使用virtual修飾 4 ...

JS學習第八天

7.4 for in 使 更加的簡潔 7.5 陣列的應用 1.查詢 a.順序查詢 var a 3,7,11,43,87,5,99,56,82,16 var num number prompt 請輸入要查詢的值 var index 1 最初認為要找的值不在陣列中 for var i in a aler...

Linux C學習第八天

一 運算子與表示式 1.優先順序與結合性 優先順序 運算子的運算順序,優先順序低的先運算 結合性 優先順序相等的情況下,運算子按運算順序計算 2.基本算術運算子 取餘運算,結果的符號取決於運算子左邊那個數。3.型別轉換 強制轉換 在變數前使用括號進行轉換 int a int 1.2 隱式轉換 系統自...