CentOS7 DM-Multipath+HUAWEI OceanStor存儲多路徑配置
1、安裝iscsi客戶端
CentOS7上安裝iscsi-initiator-utils
# yum install iscsi-initiator-utils
# systemctl start iscsi
or
# service iscsi start
# systemctl enable iscsi
2、在存儲器(HUAWEI OceanStor S2600T)中,創建存儲池和LUN
具體可以參考:《OceanStor S2600T&S5500T&S5600T&S5800T&S6800T 存儲系統 基礎存儲業務指南》,以上兩個步驟可以按照文檔說明進行配置即可。
3、 在CentOS7中,配置啟動器
更改啟動器的名字,位置/etc/iscsi/initiatorname.iscsi(可選)
IQN命名規則:IQN.<yyyy-mm>.<反向域名>:<標識字符串(隨機或自定義)>
如:
InitiatroName=iqn.2016-07.com.example.foo:77c1157e7af
或
InitiatroName=iqn.2016-07.com.example.foo:myhostname
4、在CentOS7中,配置存儲器的IP(即存儲系統iSCSI主機端口的IP)
命令為:
# iscsiadm -m discovery -t st -p <存儲系統iSCSI主機端口的IP>
這裏是系統多路徑+存儲器雙控配置,特此說明存儲器A控的iSCSI主機端口假設為IP-A,存儲器B控的iSCSI主機端口假設為IP-B,則需要分別執行以下兩步:
# iscsiadm -m discovery -t st -p <存儲系統A控iSCSI主機端口的IP-A> # iscsiadm -m discovery -t st -p <存儲系統B控iSCSI主機端口的IP-B>
5、在CentOS7中,登陸存儲器
命令為:
# iscsiadm -m node -p <存儲系統iSCSI主機端口的IP> -l
這裏是系統多路徑+存儲器雙控配置,特此說明存儲器A控的iSCSI主機端口假設為IP-A,存儲器B控的iSCSI主機端口假設為IP-B,則需要分別執行以下兩步:
# iscsiadm -m node -p <存儲系統A控iSCSI主機端口的IP-A> -l
# iscsiadm -m node -p <存儲系統B控iSCSI主機端口的IP-B> -l
6、在CentOS7中,設置自啟動模式和開機自動掛載
將/etc/iscsi/iscsid.conf中,node.startup=設置為automatic(默認,無需修改)
# service restart iscsi
設置開機自動掛載
iscsiadm -m node –T LUN_NAME -p ISCSI_IP --op update -n node.startup -v automatic
系統多路徑+存儲器雙控配置
iscsiadm -m node –T LUN_NAME -p <存儲系統A控iSCSI主機端口的IP-A> --op update -n node.startup -v automatic
iscsiadm -m node –T LUN_NAME -p <存儲系統A控iSCSI主機端口的IP-A> --op update -n node.startup -v automatic
如果只有一個LUN,或者想掛載所有的LUN,則‘-T LUN_NAME‘可以省略。
7、在存儲器控制臺中,創建主機和主機組
在此不用關心CentOS7系統具體使用幾塊網卡與存儲器的控制器相連,創建主機名稱後,選擇使用存儲器的機器類型,這裏是Linux,然後就可以選擇以上創建的兩個存儲器啟動器即可。
8、在存儲器控制臺中,創建映射視圖
參看《OceanStor S2600T&S5500T&S5600T&S5800T&S6800T 存儲系統 基礎存儲業務指南》中的指示來執行,本人在實際使用時沒有使用端口組,而是直接將主機和LUN組映射起來。
9、在CentOS7中,查看完整的映射
# iscsiadm -m node
10、在CentOS7中,查看掛載的磁盤
# fdisk -l
或
# cat /proc/partitions
或者使用parted的命令進行查看(進入parted命令的交互模式後輸入print)
以上命令執行後可以看到兩個路徑上掛載的同樣大小的磁盤。
11、安裝DM-Multipath軟件包
# yum install device-mapper-multipath
12、創建及修改DM-Multipath的配置文件
- 拷貝配置文件multipath.conf
查看系統中/etc/multipath.conf文件是否存在,如果不存在:
將/usr/share/doc/device-mapper-multipath-/multipath.conf (Red Hat 6.x)
或/usr/share/doc/device-mapper-multipath-/multipath.conf.synthetic (Red Hat 5.x)
或/usr/share/doc/packages/multipath-tools/multipath.conf.synthetic (SuSE11SP1)
或/usr/share/doc/multipath-tools/examples/multipath.conf.synthetic (ubuntu 11.04)
文件拷貝一份,文件命名為multipath.conf放置於/etc/目錄下。# cp /etc/multipath/.multipath.conf.tmp /etc/multipath.conf(CentOS 7.x)
如果上述CentOS7中的路徑不存在,請參看RedHat6的路徑,或者find查找一下。
- 修改配置文件確保如下配置:
default { find_multipaths yes user_friendly_name yes path_grouping_policy multipaths (註:multipath為負載均衡配置,failover為主備配置) failback immediate no_path_retry fail }
13、mpathconf命令及相關模塊加載
# mpathconf --enable # mpathconf --with_module y # mpathconf --with_multipathd y
具體可參看mpathconf -h
14、在CentOS7中,啟動multipathd服務及設置開機自啟
# service multipathd start # chkconfig multipathd on
啟動成功後,可以看見/dev/mapper/mpatha,這是虛擬出來的多路徑設備,可以被用來掛載使用。
15、對掛載磁盤進行分區
# parted /dev/mapper/mpatha
格式化為GPT分區格式:
(parted) mklabel gpt
將所有容量劃為一個主分區
(parted) mkpart primary xfs 0% 100%
退出
(parted) q
進行上述分區操作後出現/dev/mapper/mpatha1文件
16、格式化分區
# mkfs.xfs /dev/mapper/mpatha1
17、掛載分區
# mkdir /data (創建掛載目錄) # mount -t xfs /dev/mapper/mpatha1 /data # df -h (查看分區結果)
18、開機自動掛載
1) fstab文件中自動掛載
很多文章說開機掛載修改/etc/fstab文件,並在最後添加
/dev/mapper/mpatha1 /data xfs defaults 0 0
但我在操作過程中發現,如上修改不能成功啟動和掛載系統。因為iSCSI是網絡設備因此正確的掛載應該如下:
/dev/mapper/mpatha1 /data xfs default,_netdev 0 0
2)自啟動腳本實現:
在/etc/profile最後一行添加
mount -t xfs /dev/mapper/mpatha1 /data
或者按/etc/profile文件首部建議,將掛載操作寫成腳本,放入/etc/profile.d目錄中。
腳本名:mount_iscsi.sh
內容:
#!/bin/bash
mount -t xfs /dev/mapper/mpatha1 /data
附-iSCSI操作總結:
- 增加iscsi存儲
- 發現iscsi存儲:
# iscsiadm -m discovery -t st -p ISCSI_IP
- 查看iscsi發現記錄:
# iscsiadm -m node
- 登錄iscsi存儲:
# iscsiadm -m node -T LUN_NAME -p ISCSI_IP -l
- 開機自動:
# iscsiadm -m node –T LUN_NAME -p ISCSI_IP --op update -n node.startup -v automatic
- 發現iscsi存儲:
- 刪除iscsi存儲
- 登出iscsi存儲
# iscsiadm -m node -T LUN_NAME -p ISCSI_IP -u
- 對出iscsi所有登錄
# iscsiadm -m node --logoutall=all
- 刪除iscsi發現記錄:
# iscsiadm -m node -o delete -T LUN_NAME -p ISCSI_IP
- 登出iscsi存儲
- 登入需驗證碼的節點
- 開啟認證
# iscsiadm -m node -T LUN_NAME -o update --name node.session.auth.authmethod --value=CHAP
註:-o同--op
- 添加用戶
# iscsiadm -m node -T LUN_NAME --op update --name node.session.auth.username --value=[用戶名]
- 添加密碼
# iscsiadm –m node –T LUN_NAME –op update –name node.session.auth.password –value=[密碼]
- 開啟認證
參考:
- 《centos上iscsi+multipath多路徑存儲配置手冊》,http://bluefox.blog.51cto.com/380387/141907
- Product Documentation for Red Hat Enterprise Linux相關章節,https://access.redhat.com/documentation/en/red-hat-enterprise-linux/?version=7/
- 《OceanStor S2600T&S5500T&S5600T&S5800T&S6800T 存儲系統 V200R001 基礎存儲業務指南 07 》
CentOS7 DM-Multipath+HUAWEI OceanStor存儲多路徑配置