標籤:hadoop storm
devicemapper的多重路徑
1.功能: 可以將多個物理裝置合成為一個邏輯裝置,可以做普通的合并,或者實作類別似raid0的條帶化,還可以用來屏蔽硬碟中的壞道扇區,還可做lvm快照來備份資料庫,或者通過零裝置檔案來類比非常大的裝置,用於測試功能。 Device mapper 是lvm 和 multipating 的底層技術。
2.安裝包: device-mapper device-mapper-multipath
3.工作原理: 通過mapping table來建立邏輯裝置(物理裝置和邏輯裝置每個扇區之間的對應關係)。表內容包括: 邏輯裝置的起始扇區:通常是0 邏輯裝置的扇區數量 類型(linear線性,連續組合;striped條帶化;error屏蔽壞道;snapshot快照;zero零裝置)
4.磁碟扇區的計算: 1扇區=512位元組b 1kb=1024b 扇區大小kb=扇區數*512/1024 比如10G的磁碟,扇區數為: 10000000kb=扇區數*512/1024=20000000個扇區 #blockdev --getsize /dev/sda6 查看裝置扇區數量 #echo “0 ‘blockdev --getsize /dev/sda6’ linear /dev/sda6 0” | dmsetup create mydevice 通過table建立邏輯裝置 0表示這個邏輯裝置從0扇區開始,有208782個扇區,linear表示連續的,/dev/sda6 0 表示從/dev/sda6的第0個扇區開始做邏輯裝置。當一個裝置用剩餘空間做邏輯裝置時候,扇區就不是從0開始了。 以下寫入開機指令碼後重啟才會生效
5.linear類型裝置 特性:把多個物理分區的扇區連續起來組合成一個邏輯裝置。 0 20000 linear /dev/sda1 0 20000 60000 linear /dev/sdb1 0 註:邏輯裝置從0到扇區取自sda1從0扇區開始取20000扇區,邏輯裝置從20000扇區開始,從sdb1的0扇區開始取60000個扇區,該邏輯裝置80000個扇區。 實現命令#echo “0 20000 linear /dev/sda1 0\n20000 60000 linear /dev/sdb1 0” | dmsetup create mydevice
6.stripe條帶化:通過chunksize 輪流寫入磁碟 0 1024 striped 2 256 /dev/sda1 0 /dev/sdb1 0 註:邏輯裝置從0扇區開始到1024扇區,類型為striped ,2個裝置, chunksize 256kb 從/dev/sda1和/dev/sdb1 的0 扇區開始 各取512扇區(注意扇區數必須是chunksize的倍數) 命令實現#echo “0 1024 striped 2 256 /dev/sda1 0 /dev/sdb1 0” | dmsetup create mydevice
7.error:通過合成邏輯裝置去除錯誤扇區 0 80 linear /dev/sda1 0 80 100 error 181 200 linear /dev/sdb1 0 命令實現#echo “0 80 linear /dev/sda1 0\n80 100 error\n181 200 linear /dev/sdb1 0” | dmsetup create mydevice
8.snapshot邏輯卷快照 特性:建立快照後,出現3個裝置(原裝置,快照裝置,cow裝置) 如果資料沒有改變,讀取資料從原裝置讀取,寫入變化的資料存放區到cow地區中,快照裝置儲存原裝置的資料。 #echo ―0 1000 snapshot /dev/sda1 /dev/vg0/realdev P 16 ‖ | dmsetup create mydevice從0扇區到1000扇區為/dev/sda1建立快照,名字為realdev,P表示下次啟動仍然生效,16為chunksize
9.zero零裝置 特性:類似/dev/zero,但是他是個塊裝置,不能寫東西,一般用來測試用,建立大的檔案系統進行測試。比如測試建立10T大小的裝置用ext3來格式化 #export HUGESIZE=$[100 * (2**40)/512] 100T的扇區數量 2**40為2的40次方 #echo "0 $HUGESIZE zero" | dmsetup create zerodev 產生的檔案在/dev/mapper/zerodev ext3每個分區最大支援2TB 10.多重路徑功能 特性:多重路徑功能,用來提供線路冗餘,監控每條鏈路,當鏈路失敗時自動切換鏈路,而且自動回復運行,防止單點故障。產生的裝置名稱 /dev/dm-X 類型:當兩路徑優先順序相等:負載平衡 當兩路徑優先順序不等: 冗餘 #multipath列出多重路徑裝置,後台需要開啟multipathd服務,優先順序大小為0-1024 實驗步驟: 儲存端配置雙網卡,配置/dev/sda6為iscsi裝置 伺服器端安裝device-mapper-multipath包,串連iscsi裝置 #vi /etc/multipath.conf 注釋掉 blacklist { devnode "*" 不同廠商的配置是不一樣的 } 取消注釋 default{ udev_dir .. .. path_grouping_policy failover(根據失效域來判斷執行策略) } #chkconfig multipathd on #service multipathd restart 之後產生的裝置位置在/dev/mpath/下,可製作檔案系統,掛載 #multipath –l 查詢裝置狀態
11.FC儲存 儲存端建立raid裝置,raid建立與HBA卡WWN號的映射關係(串連哪個HBA卡則使用哪塊磁碟裝置) WWN為HBA卡的授權名稱,用來區分一個或一組網路連接,表示網路上的一個串連 |
更多精彩內容請關註:http://bbs.superwu.cn
關注超人學院二維碼:650) this.width=650;" src="http://static.oschina.net/uploads/space/2015/0528/162643_u575_2273204.jpg" alt="162643_u575_2273204.jpg" />
關注超人學院java免費學習交流群:650) this.width=650;" src="http://static.oschina.net/uploads/space/2015/0528/162717_mwyh_2273204.png" alt="162717_mwyh_2273204.png" />
devicemapper的多重路徑