multipath多重路徑配置問題匯總

來源:互聯網
上載者:User

使用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)。不清楚的,可從儲存的官方資料查看

排錯過程

# 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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.