CentOS7 DM-Multipath+HUAWEI OceanStor存儲多路徑配置

在參看了網上他人的配置,結合RedHat的技術白皮書實現後,本身親身在CentOS7+HUAWEI OceanStore S2600T的基礎上配置了一個DM-Multipath存儲多路徑的實現,其中碰到了一些小問題和不明白的地方,書上感受也沒有說清除,在此總結,以供本身和你們參考。node

一、安裝iscsi客戶端

CentOS7上安裝iscsi-initiator-utilslinux

# yum install iscsi-initiator-utils

二、在存儲器(HUAWEI OceanStor S2600T/S2600 V3)中,建立存儲池和LUN

具體能夠參考:《OceanStor S2600T&S5500T&S5600T&S5800T&S6800T 存儲系統 基礎存儲業務指南》,以上兩個步驟能夠按照文檔說明進行配置便可。ubuntu

三、 在CentOS7中,配置啓動器

更改啓動器的名字,位置/etc/iscsi/initiatorname.iscsi(可選)centos

  • IQN命名規則:IQN.yyyy-mm.<反向域名\>:<標識字符串(隨機或自定義)\>

如:bash

InitiatroName=iqn.2016-07.com.example.foo:77c1157e7af

服務器

InitiatroName=iqn.2016-07.com.example.foo:myhostname

啓動iscsi和設置自啓動網絡

# systemctl start iscsi
# systemctl enable iscsi

四、在CentOS7中,配置存儲器的IP(即存儲系統iSCSI主機端口的IP)

  • 命令:iscsiadm -m discovery -t st -p <存儲系統iSCSI主機端口的IP>

這裏是系統多路徑+存儲器雙控配置,特此說明存儲器A控的iSCSI主機端口假設爲IP-A,存儲器B控的iSCSI主機端口假設爲IP-B,則須要分別執行如下兩步:session

# iscsiadm -m discovery -t st -p <存儲系統A控iSCSI主機端口的IP-A>
# iscsiadm -m discovery -t st -p <存儲系統B控iSCSI主機端口的IP-B>

五、在CentOS7中,登錄存儲器

  • 命令爲:iscsiadm -m node -p <存儲系統iSCSI主機端口的IP> -l

這裏是系統多路徑+存儲器雙控配置,特此說明存儲器A控的iSCSI主機端口假設爲IP-A,存儲器B控的iSCSI主機端口假設爲IP-B,則須要分別執行如下兩步:app

# iscsiadm -m node -p <存儲系統A控iSCSI主機端口的IP-A> -l
# iscsiadm -m node -p <存儲系統B控iSCSI主機端口的IP-B> -l

在變動lun的大小後,可能須要從新登錄。負載均衡

六、在CentOS7中,設置自啓動模式和開機自動登錄

將/etc/iscsi/iscsid.conf中,node.startup=設置爲automatic(默認,無需修改)

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-B> --op update -n node.startup -v automatic

若是隻有一個LUN,或者想掛載全部的LUN,則'-T LUN_NAME'能夠省略,執行重啓命令並查看是否開機自動登錄(可選)。

七、在存儲器控制檯中,建立主機和主機組

在此不用關心CentOS7系統具體使用幾塊網卡與存儲器的控制器相連,建立主機名稱後,選擇使用存儲器的機器類型,這裏是Linux,而後就能夠選擇以上建立的兩個存儲器啓動器便可。

八、在存儲器控制檯中,建立映射視圖

參看《OceanStor S2600T&S5500T&S5600T&S5800T&S6800T 存儲系統 基礎存儲業務指南》中的指示來執行,本人在實際使用時沒有使用端口組,而是直接將主機和LUN組映射起來。

九、在CentOS7中,查看完整的映射

# iscsiadm -m node

十、在CentOS7中,查看掛載的磁盤

# fdisk -l

# cat /proc/partitions

或者使用parted的命令進行查看(進入parted命令的交互模式後輸入print)
以上命令執行後能夠看到兩個路徑上掛載的一樣大小的磁盤。

十一、安裝DM-Multipath軟件包

# yum install device-mapper-multipath

十二、建立及修改DM-Multipath的配置文件

  1. 拷貝配置文件multipath.conf
    查看系統中/etc/multipath.conf文件是否存在,若是不存在:
    將/usr/share/doc/device-mapper-multipath-/multipath.conf (Red Hat 6/7)
    或/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 /usr/share/doc/device-mapper-multipath-*/multipath.conf  /etc/multipath.conf(CentOS 6/7)

    若是上述CentOS7中的路徑不存在,請參看RedHat6的路徑,或者find查找一下。

  2. 修改配置文件確保以下配置:
    此處使用了CentOS7.6來鏈接SAN,而REHL 7.5開始已經將華爲多路徑配置(開啓ALUA)合入內核中,陣列開啓ALUA的場景能夠不用修改/etc/multipath.conf配置文件,直接使用默認配置便可,陣列不啓用ALUA的場景仍需按要求修改配置文件,注意須要將prio的值改回const,具體以下:
    devices {
    device {
        vendor    "HUAWEI"
        product   "XSG1"
        path_grouping_policy    multibus
        path_checker    tur
        prio    const
        path_selector    "service-time 0"
        failback    immediate
        }
    }

    注:multibus爲負載均衡配置,failover爲主備配置

    1三、在CentOS7中,啓動multipathd服務及設置開機自啓

# systemctl start multipathd
# systemctl enable multipathd

1四、查看多路經狀況

multipath -ll

啓動成功後,能夠看見/dev/mapper/mpatha,這是虛擬出來的多路徑設備,能夠被用來掛載使用。

1五、對掛載磁盤進行分區

# parted /dev/mapper/mpatha

格式化爲GPT分區格式:

(parted) mklabel gpt

將全部容量劃爲一個主分區

(parted) mkpart primary xfs 0% 100%

退出

(parted) q

進行上述分區操做後出現/dev/mapper/mpatha1文件。若是因操做順序問題致使出現mpathb、mpathc這樣的命名,若是看着不習慣或者有潔癖的同窗能夠關掉multipathd服務器,而後刪除/etc/multipath/bindings和/etc/multipath/wwids文件中的mpatha、mpathb等所在的行,而後重啓。

1六、格式化分區

# mkfs.xfs /dev/mapper/mpatha1

1七、掛載分區

# mkdir /data (建立掛載目錄)
# mount -t xfs /dev/mapper/mpatha1 /data
# df -h (查看分區結果)

1八、開機自動掛載

1) fstab文件中自動掛載
不少文章說開機掛載修改/etc/fstab文件,並在最後添加

/dev/mapper/mpatha1    /data    xfs    defaults    0 0

但我在操做過程當中發現,如上修改不能成功啓動和掛載系統。由於iSCSI是網絡設備所以正確的掛載應該以下:

/dev/mapper/mpatha1 /data    xfs    defaults,_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存儲
    登場iscsiadm的登錄前,若是掛載的有LUN,須要先umount(掛載路經可使用‘*’號通配符)。
    • 登出iscsi存儲
      # iscsiadm -m node -T LUN_NAME -p ISCSI_IP -u
    • 推出現有全部登錄
      # iscsiadm -m node --logoutall=all
      or
      # iscsiadm -m node -u all
    • 刪除iscsi發現記錄:
      # iscsiadm -m node -o delete -T LUN_NAME -p ISCSI_IP
    • 刪除全部發現記錄
      # iscsiadm -m node -o delete all
  • 登入需驗證碼的節點
    • 開啓認證
      # 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=[密碼]

參考

  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 》
相關文章
相關標籤/搜索