您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何進行Linux環境iSCSI存儲及多路徑功能配置,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
一.概述
工作中遇到大存儲,多分區掛載linux出現多路徑,根據此文配置多路徑,介紹在Linux OS環境下iSCSI存儲設備連接安裝配置使用方法和步驟,特別是Linux操作系統提供的Mutipath多路徑功能作為Linux平臺下多路徑主要可選方案之一,在本文中有重點介紹和講述。
二.安裝配置步驟和方法
2.1客戶端安裝iSCSI包
(1)服務器安裝iscsi initiator包。安裝包從OS安裝光盤中找到。是否安裝成功將可以通過以下命令行確認
[root@localhost ~]# rpm -qa|grep iscsi
iscsi-initiator-utils-6.2.0.872-10.el5
(2)在/etc/iscsi/目錄下/etc/iscsi/initiatorname.iscsi
查看此文件可發現主機端的iqn號碼。在磁陣管理軟件中添加HOST時需用到。
2.2劃分磁盤陣列磁盤空間
基于磁盤陣列設備手冊在磁盤陣列上做好RAID配置后,并成功將LUN映射到服務器,需要根據應用需要對磁盤空間進行合理規劃使用.
磁盤陣列配置步驟方法不同設備會存在差異,需要依據相應設備手冊配置使用。
2.3啟動iSCSI設備
(1)在服務器端,啟動ISCSI服務:
[root@localhost ~]# service iscsi start
(2)查詢ISCSI設備(HP storageworks P2000G3)target的iqn號碼:(必須)
[root@localhost ~]# iscsiadm -m discovery -t sendtargets -p 192.168.100.102
192.168.100.102:3260,1 iqn.1986-03.com.hp:storage.p2000g3.114513bbf6
(3)登陸到iSCSI存儲設備
[root@localhost ~]# iscsiadm -m node -T iqn.1986-03.com.hp:storage.p2000g3.114513bbf6 –p
192.168.100.102:3260 -l
其中iqn號碼為上面查詢得到的號碼,ip為iscsi存儲中iscsi口對外映射的地址。
(4)查看磁盤:
[root@localhost ~]# fdisk -l
Disk /dev/cciss/c0d0: 146.7 GB, 146778685440 bytes
255 heads, 32 sectors/track, 35132 cylinders
Units = cylinders of 8160 * 512 = 4177920 bytes
Disk /dev/sda: 10999.9 GB, 10999999954944 bytes
255 heads, 63 sectors/track, 1337340 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sda doesn't contain a valid partition table
Disk /dev/sdb: 10999.9 GB, 10999999954944 bytes
255 heads, 63 sectors/track, 1337340 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
(5)同樣的方法添加另外一個ISCSI路徑的target 。
(說明:一個iSCSI磁陣的一個ISCSI端口有一個iqn號和一個ip地址)
添加成功后fdisk –l 應該可以看到兩個盤符。他們的容量都一樣。這兩個盤符對應的是同一個磁盤陣列下的同一個LUN 。
(6)映射完成之后使用下面命令查看映射結果:
[root@localhost ~]# iscsiadm -m node
192.168.100.102:3260,1 iqn.1986-03.com.hp:storage.p2000g3.114513bbf6
192.168.100.101:3260,2 iqn.1986-03.com.hp:storage.p2000g3.114513bbf6
2.4安裝DM-multipath 軟件包
由于需要實現存儲設備的多路徑訪問及故障切換,故需要運行multipath服務,這個在os中已經安裝好了。如沒有執行下面的命令。Multipath服務原理為iSCSI磁陣中的一個真實的virtual disk通過與2個冗余陣列控制器連接的端口對外提供映射,故服務器上可以看到兩個物理磁盤,但此磁盤對應一個真實的一個真實的virtual disk,故這兩條路徑間可以實現故障切換和負載均衡。
rpm –ivh device-mapper-1.02.13-6.9.i686.rpm
rpm –ivh multipath-tools-0.4.7-34.18.i686.rpm
安裝完成后,使用命令modprobe dm_multipath來加載相應的模塊,可以使用以下命令來檢查安裝是否正常:
lsmod |grep dm_multipath
2.5 配置文件的修改和創建
(1)/etc/multipath.conf 是多路徑軟件的配置文件,其中大部分配置是注釋掉的,可以將他保存為備用,然后新建一個multipath.conf 文件,編輯新的配置文件,實際有用的就是下面這些參數:其余參數都可以注釋掉:
defaults {
user_friendly_names yes
udev_dir /dev
path_grouping_policy multibus
failback immediate
no_path_retry fail}保存退出
(2)啟動服務:
Service multipathd restart啟動成功后,我們會在dev目錄下看到下面的目錄:
/dev/mapper/mpathn,
/dev/mpath/mpathn,
/dev/dm-n.
說明:
①/dev/mapper/mpathn 是軟件虛擬出來的多路徑設備,這個可以被我們用來掛載使用。
②/dev/mpath/mpathn 這個是udev設備管理器創建的,不能用來掛載。
③/dev/dm-n 這個是軟件自身使用的,不能被軟件以外使用。不可掛載。
(3) 用 multipath –ll 命令查看到兩條活躍路徑,他們之間互為A/A 關系。斷掉其中一根線路,那么系統自動切換到另外一條。
[root@localhost ~]# multipath -ll
mpath3 (3600508b4000a5bfd0000b00000200000) dm-2 HP,P2000G3
[size=2.0T][features=0][hwhandler=0]
\_ round-robin 0 [prio=2][active]
\_ 1:0:0:2 sdd 8:48 [active][ready]
\_ 2:0:0:2 sdf 8:80 [active][ready]
mpath2 (3600508b4000a5bfd0000b000001a0000) dm-1 HP,P2000G3
[size=2.0T][features=0][hwhandler=0]
\_ round-robin 0 [prio=2][active]
\_ 1:0:0:1 sdb 8:16 [active][ready]
\_ 2:0:0:1 sdc 8:32 [active][ready]
mpath4 (3600508b4000a5bfd0000b00000350000) dm-3 HP,HSV300
[size=2.0T][features=0][hwhandler=0]
\_ round-robin 0 [prio=2][active]
\_ 1:0:0:3 sde 8:64 [active][ready]
\_ 2:0:0:3 sdg 8:96 [active][ready]
說明: 上面藍色字體是磁陣生產廠商和產品型號標識,不同廠商和不同型號產品相關信息顯示將會不同。
(4)在多路徑設備創建后,我們就可以像使用實際的物理設備樣使用多路徑設備了。前提是需要通過下面的命令將其標記為物理卷。pvcreate /dev/mapper/mpath2
(5)然后對磁盤進行分區和格式化
fdisk /dev/mapper/mpath2
分區之后,會在dev/mapper/目錄下創建新的塊設備,
/dev/mapper/mpath2p1 這個表示mpath2設備下面的分區1.
如果沒有看到或者不匹配,需要使用multipath –F 命令清除多路徑設備的緩存信息后,再用命令multipath –v3重新進行加載。
分區之后使用fdisk –l 命令查看磁盤會看到dm-1 磁盤下面已經有分區的信息了。
Disk /dev/dm-1: 10982.1 GB, 10982198870016 bytes
255 heads, 63 sectors/track, 1335176 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/dm-1 doesn't contain a valid partition table
mkfs.ext3 /dev/mapper/mpath0p1
(6)最后將磁盤mount掛載,就可以正常使用了。
(7)將multipathd服務設置成開機自啟動
chkconfig multipathd on
(8)其他注意事項:
①刪除失效的iscsi 連接:如果因為錯誤配置等原因創建了iscsi 對應,系統不會自動刪除,需手動刪除。例如:
[root@localhost ~]# iscsiadm -m node
192.168.1.252:3260,3 iqn.1986-03.com.hp:storage.p2000g3.114513bbf6
我們看到上面有一個iscsi對應,但實際中這個對應已經失效,系統不會自動刪除。
②刪除命名:
iscsiadm -m node -o delete –T iqn.1986-03.com.hp:storage.p2000g3 -p 192.168.1.252:3260
③如果其中一條鏈路出現故障,那么在日志里面我們可以看到如下類似的信息:
[root@localhost ~]# tail /var/log/messages
Dec 12 14:03:15 bhnfs1 kernel: iscsi: cmd 0x28 is not queued (8)
Dec 12 14:03:15 bhnfs1 kernel: iscsi: cmd 0x28 is not queued (8)
Dec 12 14:03:15 bhnfs1 multipathd: sdf: readsector0 checker reports path is down
Dec 12 14:03:15 bhnfs1 multipathd: sdg: readsector0 checker reports path is down
Dec 12 14:03:20 bhnfs1 kernel: iscsi: cmd 0x28 is not queued (8)
Dec 12 14:03:20 bhnfs1 multipathd: sdc: readsector0 checker reports path is down
Dec 12 14:03:20 bhnfs1 kernel: iscsi: cmd 0x28 is not queued (8)
Dec 12 14:03:20 bhnfs1 multipathd: sdf: readsector0 checker reports path is down
Dec 12 14:03:20 bhnfs1 kernel: iscsi: cmd 0x28 is not queued (8)
Dec 12 14:03:20 bhnfs1 multipathd: sdg: readsector0 checker reports path is down
查看多鏈路狀態:
[root@localhost etc]# multipath -ll
sdc: checker msg is "readsector0 checker reports path is down"
sdf: checker msg is "readsector0 checker reports path is down"
sdg: checker msg is "readsector0 checker reports path is down"
mpath3 (3600508b4000a5bfd0000b00000200000) dm-2 HP,HSV300
[size=2.0T][features=0][hwhandler=0]
\_ round-robin 0 [prio=1][active]
\_ 1:0:0:2 sdd 8:48 [active][ready]
\_ 2:0:0:2 sdf 8:80 [failed][faulty]
mpath2 (3600508b4000a5bfd0000b000001a0000) dm-1 HP,HSV300
[size=2.0T][features=0][hwhandler=0]
\_ round-robin 0 [prio=1][active]
\_ 1:0:0:1 sdb 8:16 [active][ready]
\_ 2:0:0:1 sdc 8:32 [failed][faulty]
mpath4 (3600508b4000a5bfd0000b00000350000) dm-3 HP,HSV300
[size=2.0T][features=0][hwhandler=0]
\_ round-robin 0 [prio=1][active]
\_ 1:0:0:3 sde 8:64 [active][ready]
\_ 2:0:0:3 sdg 8:96 [failed][faulty]
三. 總結
隨著iSCSI存儲技術的發展和普及,iSCSI存儲產品在電信行業應用越來越多,掌握iSCSI存儲在不同應用環境下的配置和使用非常必要,而Linux提供的多路徑方案作為一種開放的應用解決方案也為用戶應用方案配套提供了更靈活的選擇。
機器重啟后LVM和LUN識別問題:
1、修改initrd初始化模塊隊列,添加FC驅動模塊:
[root@localhost ~]# grep MOD /etc/sysconfig/kernel
INITRD_MODULES="sata_nv mptsas reiserfs qla2xxx qla2400"
MODULES_LOADED_ON_BOOT=""
2、重新制作initrd:
# cd /boot/
[root@localhost boot]# cp initrd-2.6.5-7.244-smp initrd-2.6.5-7.244-smp-bak20090416
[root@localhost boot]# mkinitrd -k vmlinuz-2.6.5-7.244-smp -i initrd-2.6.5-7.244-smp
3、重啟系統自動識別LVM等LUN設備:
[root@localhost boot]# reboot
關于如何進行Linux環境iSCSI存儲及多路徑功能配置就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。