■ 福建 林春景 肖靜靜
編者按: 為解決在集群服務器中,任意一臺服務器因為HBA卡、線纜、交換機或者存儲設備的RAID控制器故障等原因造成其中一條物理路徑失效時,服務器可以通過其他物理路徑的I/O轉移到其他正常的物理路徑,從而提高系統應用的穩定性。
下面筆者將重點講述如何在國產化軟件Kylin操作系統下部署Multipath多路徑軟件,實現同一個集群服務器內各服務器成員擁有共享數據存儲空間。
Kylin銀河麒麟服務器操作系統
HuaWei RH5885 V3
Linux DM Multipath
HuaWei OceanStor SNS2124
HuaWei OceanStor 2200 V3

圖1 具體內容
root@MAP-1:~# dpkg -l|grep multipath-tools
r o o t@M A P-1:~##如果沒有返回值,說明沒有安裝該軟件
本文主要講述在本地安裝的方法,DM-Multipath軟件除了multipath-tools外,需要先依次安裝libsgutils、sg3-utils、sg3-utilsudev、kpartx。以上軟件均可以從系統安裝光盤(Kylin-4.0.2)中找到,用于解決軟件包的依賴關系。具體內容如圖1所示。
r o o t@M A P-1:~#s y s t e m c t l s t a r t multipathd.service
r o o t@M A P-1:~#s y s t e m c t l e n a b l e multipathd
r o o t@M A P-1:~#systemctl list-unit-files|grep multipath
默認情況下,不會在/etc目錄下自動生成multipath.conf配 置文件,但安裝multipathtools后,會在/usr/share/doc/multipath-tools/examples/目錄下生成multipath.conf.synthetic的模板文件。因此,將該文件復制至/etc目錄并重命名multipath.conf。
root@MAP-1:~# cp -v /usr/share/doc/multipatht o o l s/e x a m p l e s/multipath.conf.synthetic/etc/multipath.conf
通過multipath -ll命令讀取系統連接存儲的WWID編號。

圖2 具體內容
r o o t@M A P-1:~#multipath -ll
root@MAP-1:~# vim /etc/multipath.conf
具體內容如圖2所示。
root@MAP-1:/home/fjwj# systemctl reload multipathd.service
LVM是邏輯盤卷管理簡稱,是磁盤管理的另一種工具,是建立在硬盤和分區之上的一個邏輯層,用來提高磁盤分區管理的靈活性。通過LVM系統,管理員可輕松管理磁盤分區,如將若干個磁盤分區連接為一個整塊的卷組 (volume group),形成一個存儲池;然后可以在卷組上隨意創建邏輯卷組(logical volumes),并進一步在邏輯卷組上創建文件。
root@MAP-1:/home/fjwj# pvcreate /dev/mapper/GIS
結 果 顯 示 :Physical volume "/dev/mapper/GIS"successfully created
root@MAP-1:/home/fjwj# vgcreate GIS /dev/mapper/GIS
結 果 顯 示 :Volume group "GIS" successfully created
創建一個使用全部卷組的邏輯卷之前,先通過root@MAP-1:pvdisplay命令,查看Free PE項的值,然后進行創建:
root@MAP-1:/home/fjwj# lvcreate -l 1572863/dev/mapper/GIS -n GIS
結 果 顯 示 :Logical volume "GIS" created.
//“1572863”該值為當前卷組的最大可用PE數,來源于存儲系統創建空間后的值,此處等于6TB。
root@MAP-1:/home/fjwj# mkfs.ext4 /dev/mapper/GIS
root@MAP-1:/home/fjwj# mkdir /GIS
root@MAP-1:/home/fjwj# mount /dev/mapper/GIS-GIS /GIS
歐陽鋒原本以為講了段子就能少喝兩杯,結果事與愿違,所有同學不約而同地拿他做了靶子,這個說真他媽看不出來,你小子那么有才,一鳴驚人哪!那位說你也真是,平日里斯文得像個太監,沒想到城府如此之深!歐陽鋒百口莫辯,疲于招架,幾個回合下來就暈乎乎的找不著北了。
root@MAP-1:/home/fjwj# df -h
首先通過root@MAP-1:/home/fjwj# blkid命令行,可查詢邏輯卷的UUID,如下
/dev/mapper/GIS-GIS:UUID="f593a74f-85b1-422b-bf7e-3a52fa1cb722"TYPE="ext4"
然后打開fstab文件:
root@MAP-1:/home/fjwj# vi /etc/fstab
在文件最后追加如下一行:
UUID=f593a74f-85b1-422b-bf7e-3a52fa1cb722 /GIS ext4 defaults 0 0
//以上各項值為別對應:
假設集群由兩臺服務器組成,并連接好各類線纜。那么在第二臺服務器(MAP-2)中,分別執行 pvdisplay、vgdisplay可查詢物理卷和卷組已經創建完畢,在此無需另外創建或修改。
接著跳過創建邏輯卷和格式化邏輯卷的操作,直接創建掛載點并掛載,最后設置啟動自動掛載文件(參照管理和使用LVM進行設置)。
root@MAP-1:touch /GIS/sysadm-{1..5}.txt
root@MAP-2:touch /GIS/test-{1..5}.tx
root@MAP-1:umount /GIS #卸載
root@MAP-1:mount /dev/mapper/GIS-GIS /GIS#掛載
r o o t@M A P-1:/home/fjwj# ls /GIS/#查看創建后的內容
在MAP-2服務器做相同操作,結果一致。
如何在對創建后的文件進行操作時,有出現如“無法訪 問"/GIS/test-1.txt":結構需要清理”的類似情況。先卸載掛載點,然后執行root@MAP-2:/home/fjwj#fsck /GIS 進行修復,完畢后重新掛載即可。