在參看了網上他人的配置,結合RedHat的技術白皮書實現後,自己親身在CentOS7+HUAWEI OceanStore S2600T的基礎上配置了一個DM-Multipath存儲多路徑的實現,其中碰到了一些小問題和不明白的地方,書上感覺也沒有說清除,在此總結,以供自己和大家參考。
1、CentOS7上安裝iscsi-initiator-utils並運行
# yum install iscsi-initiator-utils
# systemctl start iscsi
or # service iscsi start
# systemctl enable iscsi
or # chkconfig iscsi on (配置開機自啓動)
2、在存儲器(HUAWEI OceanStor S2600T)中,創建存儲池和LUN
具體可以參考:《OceanStor S2600T&S5500T&S5600T&S5800T&S6800T 存儲系統 基礎存儲業務指南》,以上兩個步驟可以按照文檔說明進行配置即可。
3、在CentOS7中,配置啓動器
1)更改啓動器的名字,位置/etc/iscsi/initiatorname.iscsi(可選)
IQN命名規則:IQN.<yyyy-mm>.<反向域名>:<標識字符串(隨即)>
如:InitiatroName=iqn.2016-07.com.example.foo:77c1157e7af
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中,設置自啓動模式並重啓iscsi
將/etc/iscsi/iscsid.conf中,node.startup=設置爲automatic(默認,無需修改)
# service restart iscsi
7、在存儲器控制檯中,創建主機,在此不用關心CentOS7系統具體使用幾塊網卡與存儲器的控制器相連,創建主機名稱後,選擇使用存儲器的機器類型,這裏是Linux,然後就可以選擇以上創建的兩個存儲器啓動器即可。
8、在存儲器控制檯中,創建映射視圖,可以參看《OceanStor S2600T&S5500T&S5600T&S5800T&S6800T 存儲系統 基礎存儲業務指南》中的指示來執行,本人在實際使用時沒有使用端口組,而是直接將主機和LUN組映射起來。
9、在CentOS7中,查看完整的映射
# iscsiadm -m node
10、在CentOS7中,查看掛載的磁盤
# fdisk -l
可以看到兩個路徑上掛載的同樣大小的磁盤
11、在CentOS7中,安裝DM-Multipath軟件包
# yum install device-mapper-multipath
12、在CentOS7中,創建及修改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、在CentOS7中,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、在CentOS7中,對掛載磁盤進行分區
# parted /dev/mapper/mpatha
格式化爲GPT分區格式:
(parted) mklabel gpt
將所有容量劃爲一個主分區
(parted) mkpart primary xfs 0% 100%
退出
(parted) q
進行上述分區操作後出現/dev/mapper/mpatha1文件
注:以上是使用parted進行分區,但好像CentOS7版本的fdisk也可以對大於2T的磁盤進行gpt分區了。
16、格式化分區
# mkfs.xfs /dev/mapper/mpatha1
17、掛載分區
# mkdir /data (創建掛載目錄)
# mount -t xfs /dev/mapper/mpatha1 /data
# df -h (查看分區結果)
18、開機自動掛載
很多文章說開機掛載修改/etc/fstab文件,並在最後添加
/dev/mapper/mpatha1 /data xfs defaults 0 0
但我在操作過程中發現,如上修改不能成功啓動和掛載系統。
個人操作是將掛載操作:
mount -t xfs /dev/mapper/mpatha1 /data
寫入/etc/profile最後一行。
或者按/etc/profile文件首部建議,將掛載操作寫成腳本,放入/etc/profile.d目錄中。
腳本名:mount_iscsi.sh
內容:
#!/bin/bash
mount -t xfs /dev/mapper/mpatha1 /data
參考:
1、《centos上iscsi+multipath多路徑存儲配置手冊》,http://bluefox.blog.51cto.com/380387/141907
2、
Product Documentation for Red Hat Enterprise Linux相關章節,https://access.redhat.com/documentation/en/red-hat-enterprise-linux/?version=7/
3、《OceanStor S2600T&S5500T&S5600T&S5800T&S6800T 存儲系統 V200R001 基礎存儲業務指南 07
》