亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Linux上構建RAID10陣列

發布時間:2022-01-24 13:58:24 來源:億速云 閱讀:147 作者:柒染 欄目:開發技術

這篇文章的內容主要圍繞如何在Linux上構建RAID10陣列進行講述,文章內容清晰易懂,條理清晰,非常適合新手學習,值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!

RAID 10是一個冗余的備份陣列,由個Raid 1與Raid0的組合而成,繼承了Raid0的快速和Raid1的安全,實現高性能和高容錯性的磁盤I/O。

注意RAID 10的優缺點和其它分區方法(在不同大小的磁盤和文件系統上)的內容不在下面討論的范圍內。

Raid 10 陣列如何工作?

如果你需要實現一種支持I/O密集操作(比如數據庫、電子郵件或web服務器)的存儲解決方案,RAID 10就是你需要的。來看看為什么這么說,請看下圖。

如何在Linux上構建RAID10陣列

上圖中的文件由A、B、C、D、E和F六種塊組成,每一個RAID 1鏡像對(如鏡像1和2)在兩個磁盤上復制相同的塊。在這樣的配置下,寫操作性能會因為每個塊需要寫入兩次而下降,每個磁盤各一次;而讀操作與從單塊磁盤中讀取相比并未發生改變。不過這種配置的好處是除非一個鏡像中有超過一塊的磁盤故障,否則都能保持冗余以維持正常的磁盤I/O操作。

RAID 0的分區通過將數據劃分到不同的塊,然后執行同時將塊A寫入鏡像1、將塊B寫入鏡像2(以此類推)的并行操作以提高整體的讀寫性能。在另一方面,沒有任何一個鏡像包含構成主存的數據片的全部信息。這就意味著如果其中一個鏡像故障,那么整個RAID 0組件將無法正常工作,數據將遭受不可恢復的損失。

建立RAID 10陣列

有兩種建立RAID 10陣列的可行方案:復雜法(一步完成)和嵌套法(先創建兩個或更多的RAID 1陣列,然后使用它們組成RAID 0)。本文會講述復雜法創建RAID 10陣列的過程,因為這種方法能夠使用偶數或奇數個磁盤去創建陣列,而且能以單個RAID設備的形式被管理,而嵌套法則恰恰相反(只允許偶數個磁盤,必須以嵌套設備的形式被管理,即分開管理RAID 1和RAID 0)。

假設你的機器已經安裝mdadm,并運行著相應的守護進程,細節參見這篇文章。也假設每個磁盤上已經劃分出一個主分區sd[bcdef]1 (LCTT 譯注:共計五塊磁盤,這里是從sdb – sdf)。使用命令:

ls -l /dev | grep sd[bcdef]

查看到的輸出應該如下所示:

如何在Linux上構建RAID10陣列

然后使用下面的命令創建一個RAID 10陣列(LCTT 譯注:使用了四塊磁盤 bcde 創建):

 # mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[bcde]1 --spare-devices=1 /dev/sdf1

如何在Linux上構建RAID10陣列

當陣列創建完畢后(最多花費幾分鐘),執行命令

# mdadm --detail /dev/md0

的輸出應如下所示:

如何在Linux上構建RAID10陣列

在更進一步之前需要注意以下事項。

  1. Used Dev Space表示陣列所使用的每一塊磁盤的容量。

  2. Array Size表示陣列的整體大小。RAID 10陣列的大小通過(N*C)/M計算,其中N是活躍磁盤的數目,C是每個活躍磁盤的容量,M是每一個鏡像中磁盤的數目。在本文的情形下,這個值等于(4*8GiB)/2 = 16GiB。

  3. Layout是整個數據布局的詳細信息。可能的布局數值如下所示。


  • n(默認選項):代表就近(near)拷貝。一個數據塊的多個拷貝在不同磁盤里有相同的偏移量。這種布局提供和RAID 0陣列相似的讀寫性能。

如何在Linux上構建RAID10陣列

  • o代表偏移量(offset)拷貝。塊并不是在條帶里面復制的,而是整個條帶一起復制,但是循環會打亂,所以同一個分區中復制的塊會出現在不同的磁盤。因此,一個塊的后續拷貝會出現在下一個磁盤中,一個塊接著一個塊。為了在RAID 10陣列中使用這種布局,在創建陣列的命令中添加–layout=o2選項。

如何在Linux上構建RAID10陣列

  • f代表遠端(far)拷貝(多個拷貝在不同的磁盤中具有不同的偏移量)。這種布局提供更好的讀性能但帶來更差的寫性能。因此,對于讀遠遠多于寫的系統來說是最好的選擇。為了在RAID 10陣列中使用這種布局,在創建陣列的命令中添加–layout=f2。

如何在Linux上構建RAID10陣列

跟在布局選項n、f和o后面的數字代表所需的每一個數據塊的副本數目。默認值是2,但可以是2到陣列中磁盤數目之間的某個值。提供足夠的副本數目可以最小化單個磁盤上的I/O影響。

  1. Chunk Size,參考Linux RAID wiki的說明,是寫入磁盤的最小數據單元。最佳的chunk大小取決于I/O操作的速率和相關的文件大小。對于大量的寫操作,通過設置相對較大的chunk可以得到更低的開銷,但對于主要存儲小文件的陣列來說更小的chunk性能更好。為了給RAID 10指定一個chunk大小,在創建陣列的命令中添加–chunk=desiredchunksize。

不幸的是,并沒有設置一個大小就能適合全局的策略來提高性能,但可以參考下面的一些方案。

  • 文件系統:就整體而言,XFS據說是最好的,當然EXT4也是不錯的選擇。

  • 最佳布局:遠端布局能提高讀性能,但會降低寫性能。

  • 副本數目:更多的副本能最小化I/O影響,但更多的磁盤需要更大的花費。

  • 硬件:在相同的環境下,SSD比傳統(機械旋轉)磁盤更能帶來出性能提升

使用DD進行RAID性能測試

下面的基準測試用于檢測RAID 10陣列(/dev/md0)的性能。

1. 寫操作

往磁盤中寫入大小為256MB的單個文件:

# dd if=/dev/zero of=/dev/md0 bs=256M count=1 oflag=dsync

寫入1000次512字節:

# dd if=/dev/zero of=/dev/md0 bs=512 count=1000 oflag=dsync

使用dsync標記,dd可以繞過文件系統緩存,在RAID陣列上執行同步寫。這個選項用于減少RAID性能測試中緩存的影響。

2. 讀操作

從陣列中拷貝256KiB*15000(3.9 GB)大小內容到/dev/null:

 # dd if=/dev/md0 of=/dev/null bs=256K count=15000

使用Iozone進行RAID性能測試

Iozone是一款文件系統基準測試工具,用來測試各種磁盤I/O操作,包括隨機讀寫、順序讀寫和重讀重寫。它支持將結果導出為微軟的Excel或LibreOffice的Calc文件。

在CentOS/RHEL 7上安裝Iozone

先保證Repoforge可用,然后輸入:

# yum install iozone
在Debian 7上安裝Iozone
# aptitude install iozone3

下面的iozone命令會在RAID-10陣列中執行所有測試:

# iozone -Ra /dev/md0 -b /tmp/md0.xls
  • -R:往標準輸出生成兼容Excel的報告

  • -a:以全自動模式運行所有的測試,并測試各種記錄/文件大小。記錄大小范圍:4K-16M,文件大小范圍:64K-512M。

  • -b /tmp/md0.xls: 把測試結果存儲到一個指定的文件中

感謝你的閱讀,相信你對“如何在Linux上構建RAID10陣列”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關知識點,可以關注億速云網站!小編會繼續為大家帶來更好的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平武县| 泰和县| 普定县| 赤壁市| 镇赉县| 新野县| 阿城市| 三河市| 镇远县| 万载县| 福海县| 涟源市| 阿克陶县| 新宁县| 桐乡市| 贵州省| 乳山市| 旺苍县| 探索| 芜湖市| 湛江市| 天全县| 伊宁市| 东光县| 上虞市| 芜湖县| 肥东县| 桐乡市| 阿尔山市| 南通市| 舒城县| 彭泽县| 柳林县| 怀宁县| 龙江县| 长海县| 布尔津县| 岐山县| 五华县| 双城市| 延长县|