歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> multipath多路徑配置的常見問題

multipath多路徑配置的常見問題

日期:2017/3/3 15:54:08   编辑:關於Linux

使用mpath設備

用multipath生成映射後,會在/dev目錄下產生多個指向同一條鏈路的設備:

/dev/mapper/mpathn

/dev/mpath/mpathn

/dev/dm-n

但它們的來源是完全不同的:

/dev/mapper/mpathn 是multipath虛擬出來的多路徑設備,我們應該使用這個設備;

/dev/mpath/mpathn 是udev設備管理器創建的,實際上就是指向下面的dm-n設備,僅為了方便,不能用來掛載;

/dev/dm-n 是軟件內部自身使用的,不能被軟件以外使用,不可掛載。

簡單來說,就是我們應該使用/dev/mapper/下的設備符。對該設備即可用fdisk進行分區,或創建為pv。

測試multpath路徑

然後用iostat觀察各通道的流量和狀態,以判斷Failover或負載均衡方式是否正常:

# dd if=/dev/zero of=/dev/mapper/mpath0

# iostat -k 2

容錯模式:

mpath18設備讀寫時,sdaf、sdv會處於active狀態,都有數據流,但sdb、sdl組成的鏈路是enabled,作為ready情況。這為Failover(主備)情況

修改多路徑模式

默認情況下,multipath已經支持大部分常見的存儲型號(可見multipath.conf.defaults),但不同的multipath版本可能都有些不同。這時,建議參考存儲的官方文檔:

在前面的配置中,我們已經在/etc/mulitpah.conf中配置了多路徑的默認path_grouping_policy為multibus。但有時候,同一台機器上如果連接了一個以上的存儲時,可能默認規則並不完全適用。這時,我們可以給特定的存儲定制多路徑符合的策略。

devices {

device {

vendor "HITACHI" //廠商名稱

product "OPEN-V" //產品型號

path_grouping_policy group_by_prio //默認的路徑組策略

path_grouping_policy failover

#getuid_callout "/sbin/scsi_id -p 0x80-g -u -s /block/%n" //獲得唯一設備號使用的默認程序

path_checker readsector0 //決定路徑狀態的方法

path_checker tur

path_selector "round-robin 0" //選擇那條路徑進行下一個IO操作的方法

prio_callout "/sbin/mpath_prio_alua/dev/%n" //獲取有限級數值使用的默認程序

failback immediate //故障恢復的模式

#hardware_handler "0" //確認用來在路徑切換和IO錯誤時,執行特定的操作的模塊。

#no_path_retry queue //在disablequeue之前系統嘗試使用失效路徑的次數的數值

#rr_min_io 100 //在當前的用戶組中,在切換到另外一條路徑之前的IO請求的數目

}

}

※千萬不要寫錯path_checker(可能值有:readsector0, tur, emc_clariion, hp_sw, directio)。不清楚的,可從存儲的官方資料查看

本欄目更多精彩內容:http://www.bianceng.cn/OS/Linux/

排錯過程

# multipath -v3 -ll

# dmsetup ls

# multipathd -k

> > show config

> >reconfigure

> >show paths

> > CTRL-D

/var/lib/multipath/bindings

/dev/mapper/

# cat /sys/block/sda/device/vendor

# cat /sys/block/sda/device/model

※注意:

/var/lib/multipath/bindings顯示的內容包括黑名單中的wwid,其mpathn順序與multipath-ll的結果可能不同。實際以multipath -ll 的結果為可用設備。

路徑切換處理

自定義設備

※注意:1、綁定後,需重新生成路徑的映射表;2、當加入該wwid綁定後,沒有綁定的設備將不能使用,用-ll也無法看到這些設備,但/var/lib/multipath/bindings 中可見。

啟動服務和生成映

# modprobe dm-multipath

# service multipathd start

# multipath -v0

更新config文件

在您更新/etc/multipath.conf文件後,您必須手動讓m ultipathd 守護進程重新載入該文件。以下命令可重新載入更新的/etc/multipath.conf 文件。

# servicemultipathd reload

作者:csdn博客 徐長亮

Copyright © Linux教程網 All Rights Reserved