歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

淺談linux性能調優之五:調優軟raid

淺談linux性能調優之五:調優軟raid      存儲中的一個重要角色,RAID獨立冗余磁盤陣列,從分類上將有兩種:基於raid卡的硬raid(硬件實現,速度高,適用於大型應用),基於系統的軟raid(一般包含於內核之中,性能不如硬raid,但是可優化,小型服務器)     特點:數據完整性,防止故障,容量突破,性能提升  下面我快速的介紹一下:   RAID 0:   沒校驗,數據分段寫入磁盤,吞吐量增大,不容錯,100%使用,至少2塊   test : mdadm --create /dev/md0 --level=0 --raid-devices=2 --chunk=64 /dev/sd{a,b}1          mke2fs -j -b 4096 -E stribe=16 /dev/md0   notice: --chunk 是在創建時指定,stribe是在格式時指定,stribe = chunk / stribe   RAID 1:   鏡像,容錯,讀性能,至少2塊,2的倍數,利用率(100/n)%   test : mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda4,5   RAID 5:   分布式奇偶校驗條帶化,容錯,性能,若一個磁盤損壞,再插入一個新磁盤時,會降級(需要重新計算校驗值)   至少3塊,支持熱備盤,利用率100*(1-1/n)%   test : mdadm --create /dev/md0 --level=5 --raid-device=3 /dev/sd{a,b,c}2        RAID5中數據經常更新時,開銷較大   RAID 6:   兩份校驗,可以同時壞兩塊盤,至少4塊,利用率100*(1-2/n)   test : mdadm --create /dev/md0 --level=6 --raid-device=4 /dev/sd{a,b,c,d}1   RAID 10:   先作raid1,再作raid0   至少4塊   mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sd{a,b,c,d}1   mdadm -C /dev/md0 -l10 -n4 /dev/sdb{5,6,7,8}   郵件工作:   /etc/mdadm.conf     MAILADDR [email protected]     MAILFROM [email protected]     PROGRAM /usr/bin/myscripts   測試:mdadm -Fslt       總結:從各自的特點可以看出:             raid0容量大,讀寫性能高,但是安全性不好。             raid1安全性好,利用率低             raid5分布式奇偶校驗,安全性好,讀寫性能較好,但是若數據修改頻繁,建議不使用,可以看看上面的圖             raid6與raid5類似,支持同時壞兩塊盤             raid10集成raid1,raid0。比起raid5,6修改數據時開銷小         你若使用raid,raid級別的選擇便是很重要的!         優化建議:         1.若你使用兩個或兩個以上raid,建議配置“軟raid的熱遷移”,首先節省了冗余盤的成本,再者結合郵件通知機制做好數據保護         2.對於raid0,5,6 存在兩個特別重要的概念:(chunk size),(Stripe size)             chunk size:                   RAID中每個成員盤一次寫入的數據量,大於chunk size才到下一個盤讀寫             Stripe size = (chunk size)/(filesystem blocksize)                   表示:在一個盤中一次性寫入量             chunk size = page size(4K) * N             chunk size = avgrq-sz * 512 / 1024 / disks(iostat -x /dev/sda)             Stripe size = (chunk size)/(filesystem blocksize)                 注意:chunk size   創建時使用   --chunk = 8                       stripe size  格式化時使用 -E stripe = 2         3.寫位圖:只針對RAID1               在操作失敗時,可以在失敗的基礎上基礎操作,而並非從頭開始(例如我們復制一個大文件)                   --write-bebind 優先讀                   --write-mostly 優先寫         4.具體還可以在/sys/block/mdX/md中調節
Copyright © Linux教程網 All Rights Reserved