天天看點

Rhel Linux multipath + OpenfIler raid iscsi

前段時間學習了關于Redhat Linux上的多路徑Multipath,以及為了友善學習在本機電腦上安裝了Openfiler模拟存儲,配置多塊網卡實作多路徑備援識别存儲。在這裡以我個人的了解簡單的描述我所認知的理論知識。

Multipath是Linux系統上開源免費的多路徑軟體,實作伺服器可以通過多條實體路徑連接配接到塊存儲。

Openfiler是底層以Linux系統模拟的存儲架構,可以配置多塊網卡,同時可以配置軟體Raid。

多路徑是避免裝置之間單條鍊路的單點故障隐患,同時可以實作流量分攤,實作性能提升。

當因為主機HBA卡、線纜、交換機或者儲存設備的RAID控制器故障等原因造成一條實體路徑失效時,伺服器可以将通過此實體路徑的I/O轉移到其他正常的實體路徑上面,而應用程式不會覺察到底層的改變,進而提高系統的可用性。

在這裡通過模拟現網環境配置Multipath實作多路徑備援;

實驗環境:

Redhat Enterprise Linux 7.2         //安裝配置Multipath多路徑識别ISCSI儲存設備;
Openfileresa-2.99.1-x86_64          //配置多網卡,模拟配置ISCSI存儲;      

在VMworkstation上Openfiler系統已經安裝完成并且配置了四塊實體網卡用于實作存儲多路徑,相應的IP位址已經配置規劃;

Rhel Linux multipath + OpenfIler raid iscsi
Rhel Linux multipath + OpenfIler raid iscsi

首先配置儲存設備的磁盤陣列Raid,由于在這裡用的是模拟儲存設備沒有相應的RAID控制器,是以在這裡配置軟體Raid,模拟現網中儲存設備的配置;

Rhel Linux multipath + OpenfIler raid iscsi

在Openfiler中配置添加邏輯卷,以及配置設定相應的空間大小給卷組。在這裡配置了四個lv磁盤組,為了便于後續Oracle ASM使用;

Rhel Linux multipath + OpenfIler raid iscsi

建立相應的ISCSI并關聯LUN,并且配置允許192.168.60.0/24網段通路,在此Openfiler存儲相應的配置就完成了;

Rhel Linux multipath + OpenfIler raid iscsi

在Redhat Linux上首先挂載并配置YUM源,安裝iscsi initiator軟體;

[root@bogon ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@bogon ~]# vi /etc/yum.conf 


[local]
baseurl=file:///mnt
gpgcheck=0
enabled=1


[root@bogon ~]# yum repolist
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Repository 'local' is missing name in configuration, using id
local                                                                  | 4.1 kB  00:00:00     
(1/2): local/group_gz                                                  | 136 kB  00:00:00     
(2/2): local/primary_db                                                | 3.6 MB  00:00:00     
repo id                                      repo name                                  status
local                                        local                                      4,620
repolist: 4,620
[root@bogon ~]# cd /mnt/Packages/
[root@bogon Packages]# rpm -ivh iscsi-initiator-utils-6.2.0.873-32.el7.x86_64.rpm 
warning: iscsi-initiator-utils-6.2.0.873-32.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                          ################################# [100%]
 package iscsi-initiator-utils-6.2.0.873-32.el7.x86_64 is already installed      

啟動iSCSI相關服務,并且配置開機啟動項;

[root@bogon Packages]# systemctl list-unit-files | grep iscsi
iscsi-shutdown.service                      static  
iscsi.service                               enabled 
iscsid.service                              disabled
iscsiuio.service                            disabled
iscsid.socket                               enabled 
iscsiuio.socket                             enabled  
[root@bogon Packages]# systemctl enable iscsi.service      

掃描并識别ISCSI存儲資訊,由于Openfiler所用端口号為3260,是以在此掃描添加端口号;

[root@bogon Packages]# iscsiadm -m discovery -t st -p 192.168.60.11:3260
192.168.60.11:3260,1 iqn.2006-01.com.openfiler:tsn.6524fccc7d06
192.168.60.12:3260,1 iqn.2006-01.com.openfiler:tsn.6524fccc7d06
192.168.60.13:3260,1 iqn.2006-01.com.openfiler:tsn.6524fccc7d06
192.168.60.14:3260,1 iqn.2006-01.com.openfiler:tsn.6524fccc7d06      

修改配置ISCSI軟體開機掃描資訊;

vi /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2006-01.com.openfiler:tsn.6524fccc7d06      

對掃描到的ISCSI識别存儲進行登陸;

[root@bogon Packages]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.6524fccc7d06 -p 192.168.60.11:3260 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.6524fccc7d06, portal: 192.168.60.11,3260] (multiple)
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.6524fccc7d06, portal: 192.168.60.11,3260] successful. 
[root@bogon Packages]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.6524fccc7d06 -p 192.168.60.12:3260 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.6524fccc7d06, portal: 192.168.60.12,3260] (multiple)
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.6524fccc7d06, portal: 192.168.60.12,3260] successful.
[root@bogon Packages]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.6524fccc7d06 -p 192.168.60.13:3260 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.6524fccc7d06, portal: 192.168.60.13,3260] (multiple)
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.6524fccc7d06, portal: 192.168.60.13,3260] successful.
[root@bogon Packages]# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.6524fccc7d06 -p 192.168.60.14:3260 -l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.6524fccc7d06, portal: 192.168.60.14,3260] (multiple)
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.6524fccc7d06, portal: 192.168.60.14,3260] successful.      

檢視ISCSI目前登陸會話是否正常;

[root@bogon Packages]# iscsiadm -m session
tcp: [1] 192.168.60.11:3260,1 iqn.2006-01.com.openfiler:tsn.6524fccc7d06 (non-flash)
tcp: [2] 192.168.60.12:3260,1 iqn.2006-01.com.openfiler:tsn.6524fccc7d06 (non-flash)
tcp: [3] 192.168.60.13:3260,1 iqn.2006-01.com.openfiler:tsn.6524fccc7d06 (non-flash)
tcp: [4] 192.168.60.14:3260,1 iqn.2006-01.com.openfiler:tsn.6524fccc7d06 (non-flash)      

安裝Multipath多路徑軟體,并配置開機自動啟動;

[root@bogon Packages]# rpm -ivh device-mapper-libs-1.02.107-5.el7.x86_64.rpm 
warning: device-mapper-libs-1.02.107-5.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                          ################################# [100%]
 package device-mapper-libs-7:1.02.107-5.el7.x86_64 is already installed
[root@bogon Packages]# rpm -ivh device-mapper-multipath-0.4.9-85.el7.x86_64.rpm
warning: device-mapper-multipath-0.4.9-85.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                          ################################# [100%]
 package device-mapper-multipath-0.4.9-85.el7.x86_64 is already installed 
 
[root@bogon Packages]# systemctl enable multipathd.service
[root@bogon Packages]# systemctl list-unit-files | grep multipath
multipathd.service                          enabled 
[root@bogon Packages]# modprobe dm-multipath
[root@bogon Packages]# modprobe dm-round-robin
[root@bogon Packages]# systemctl start multipathd.service      

檢視并生成Multipath配置檔案;

[root@bogon Packages]# multipath -ll
Jun 09 11:28:53 | /etc/multipath.conf does not exist, blacklisting all devices.
Jun 09 11:28:53 | A default multipath.conf file is located at
Jun 09 11:28:53 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
Jun 09 11:28:53 | You can run /sbin/mpathconf to create or modify /etc/multipath.conf 
[root@bogon Packages]# cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/multipath.conf
[root@bogon Packages]#multipath start      

檢視多路徑所産生的磁盤并擷取其WWID,為配置Multipath.conf做準備;

[root@bogon Packages]# fdisk -l | grep " 10.7 GB"
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdc: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdd: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdf: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdg: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdh: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdj: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdk: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdl: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdn: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdo: 10.7 GB, 10737418240 bytes, 20971520 sectors
Disk /dev/sdp: 10.7 GB, 10737418240 bytes, 20971520 sectors
[root@bogon Packages]# fdisk -l | grep " 21.5 GB"
Disk /dev/sde: 21.5 GB, 21474836480 bytes, 41943040 sectors
Disk /dev/sdi: 21.5 GB, 21474836480 bytes, 41943040 sectors
Disk /dev/sdm: 21.5 GB, 21474836480 bytes, 41943040 sectors
Disk /dev/sdq: 21.5 GB, 21474836480 bytes, 41943040 sectors 
[root@bogon Packages]# ls -l /dev/disk/by-id/
total 0
lrwxrwxrwx. 1 root root  9 Jun  9 11:09 ata-VMware_Virtual_SATA_CDRW_Drive_01000000000000000001 -> ../../sr0
lrwxrwxrwx. 1 root root 10 Jun  9 11:09 dm-name-rhel-root -> ../../dm-0
lrwxrwxrwx. 1 root root 10 Jun  9 11:09 dm-name-rhel-swap -> ../../dm-1
lrwxrwxrwx. 1 root root 10 Jun  9 11:09 dm-uuid-LVM-lqbtrHjC1YDN1WRYptlr8UJDHwBSKqgAgdEPZJZeAyoqfX9sJjEm7gO9aIji71Gb -> ../../dm-0
lrwxrwxrwx. 1 root root 10 Jun  9 11:09 dm-uuid-LVM-lqbtrHjC1YDN1WRYptlr8UJDHwBSKqgAweG1tRVIKfpakJ0csD3TE1coXJbDB8r2 -> ../../dm-1
lrwxrwxrwx. 1 root root 10 Jun  9 11:09 lvm-pv-uuid-JuUZYx-8bPC-zoP1-4riV-qVxw-4qhJ-2ddb6j -> ../../sda2
lrwxrwxrwx. 1 root root  9 Jun  9 11:23 scsi-14f504e46494c45524e77537957762d34737a312d4d716339 -> ../../sdn
lrwxrwxrwx. 1 root root  9 Jun  9 11:23 scsi-14f504e46494c4552554c536b71612d474539552d4942357a -> ../../sdo
lrwxrwxrwx. 1 root root  9 Jun  9 11:23 scsi-14f504e46494c45526a33566a58622d6b6d4b562d73776f64 -> ../../sdq
lrwxrwxrwx. 1 root root  9 Jun  9 11:23 scsi-14f504e46494c45527748533276382d707978772d686c7a43 -> ../../sdp

[root@bogon Packages]#multipath -v3
..........
14f504e46494c45524e77537957762d34737a312d4d716339 33:0:0:0 sdb 8:16  1   undef
14f504e46494c4552554c536b71612d474539552d4942357a 33:0:0:1 sdc 8:32  1   undef
14f504e46494c45527748533276382d707978772d686c7a43 33:0:0:2 sdd 8:48  1   undef
14f504e46494c45526a33566a58622d6b6d4b562d73776f64 33:0:0:3 sde 8:64  1   undef
14f504e46494c45524e77537957762d34737a312d4d716339 34:0:0:0 sdf 8:80  1   undef
14f504e46494c4552554c536b71612d474539552d4942357a 34:0:0:1 sdg 8:96  1   undef
14f504e46494c45527748533276382d707978772d686c7a43 34:0:0:2 sdh 8:112 1   undef
14f504e46494c45526a33566a58622d6b6d4b562d73776f64 34:0:0:3 sdi 8:128 1   undef
14f504e46494c45524e77537957762d34737a312d4d716339 35:0:0:0 sdj 8:144 1   undef
14f504e46494c4552554c536b71612d474539552d4942357a 35:0:0:1 sdk 8:160 1   undef
14f504e46494c45527748533276382d707978772d686c7a43 35:0:0:2 sdl 8:176 1   undef
14f504e46494c45526a33566a58622d6b6d4b562d73776f64 35:0:0:3 sdm 8:192 1   undef
14f504e46494c45524e77537957762d34737a312d4d716339 36:0:0:0 sdn 8:208 1   undef
14f504e46494c4552554c536b71612d474539552d4942357a 36:0:0:1 sdo 8:224 1   undef
14f504e46494c45527748533276382d707978772d686c7a43 36:0:0:2 sdp 8:240 1   undef
14f504e46494c45526a33566a58622d6b6d4b562d73776f64 36:0:0:3 sdq 65:0  1   undef      

在此上面的查找WWID,可以識别為:

14f504e46494c45524e77537957762d34737a312d4d716339    sdb  sdf  sdj  sdn    10.7GB
14f504e46494c4552554c536b71612d474539552d4942357a    sdc  sdg  sdk  sdo    10.7GB
14f504e46494c45527748533276382d707978772d686c7a43    sdd  sdh  sdl  sdp    10.7GB
14f504e46494c45526a33566a58622d6b6d4b562d73776f64    sde  sdi  sdm  sdq    21.5GB      

緊接着就可以配置Multipath.conf配置檔案了;

[root@bogon Packages]# vi /etc/multipath.conf  
defaults {
        user_friendly_names yes
        find_multipaths yes
}
#blacklist {
#       wwid 26353900f02796769
#       devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
#       devnode "^hd[a-z]"
#}
multipaths {
      multipath {
               wwid                   14f504e46494c45524e77537957762d34737a312d4d716339
               alias                   oracle-grid
               path_grouping_policy    multibus
               path_selector           "round-robin 0"
               failback                immediate
               rr_weight               priorities
               no_path_retry           5
       }
      multipath {
               wwid                   14f504e46494c4552554c536b71612d474539552d4942357a
               alias                   oracle-sys
               path_grouping_policy    multibus
               path_selector           "round-robin 0"
               failback                immediate
               rr_weight               priorities
               no_path_retry           5
       }
      multipath {
               wwid                   14f504e46494c45527748533276382d707978772d686c7a43
               alias                   oracle-arch
               path_grouping_policy    multibus
               path_selector           "round-robin 0"
               failback                immediate
               rr_weight               priorities
               no_path_retry           5
       }
      multipath {
               wwid                   14f504e46494c45526a33566a58622d6b6d4b562d73776f64
               alias                   oracle-data
               path_grouping_policy    multibus
               path_selector           "round-robin 0"
               failback                immediate
               rr_weight               priorities
               no_path_retry           5
       }
       }
devices {
       device {
               vendor                  "openfiler"
               product                 "virtual-disk"
               path_grouping_policy    multibus
               path_checker            readsector0
               path_selector           "round-robin 0"
               hardware_handler        "0"
               failback                15
               rr_weight               priorities
               no_path_retry           queue
       }
       }      

配置完成後重新啟動Multipath并檢查是否正常;

[root@bogon Packages]# multipath stop
[root@bogon Packages]# multipath start
[root@bogon Packages]# multipath -F
[root@bogon Packages]# multipath -v2
create: oracle-grid (14f504e46494c45524e77537957762d34737a312d4d716339) undef OPNFILER,VIRTUAL-DISK    
size=10G features='0' hwhandler='0' wp=undef
`-+- policy='round-robin 0' prio=1 status=undef
  |- 33:0:0:0 sdb 8:16  undef ready running
  |- 34:0:0:0 sdf 8:80  undef ready running
  |- 35:0:0:0 sdj 8:144 undef ready running
  `- 36:0:0:0 sdn 8:208 undef ready running
create: oracle-sys (14f504e46494c4552554c536b71612d474539552d4942357a) undef OPNFILER,VIRTUAL-DISK    
size=10G features='0' hwhandler='0' wp=undef
`-+- policy='round-robin 0' prio=1 status=undef
  |- 33:0:0:1 sdc 8:32  undef ready running
  |- 34:0:0:1 sdg 8:96  undef ready running
  |- 35:0:0:1 sdk 8:160 undef ready running
  `- 36:0:0:1 sdo 8:224 undef ready running
create: oracle-arch (14f504e46494c45527748533276382d707978772d686c7a43) undef OPNFILER,VIRTUAL-DISK    
size=10G features='0' hwhandler='0' wp=undef
`-+- policy='round-robin 0' prio=1 status=undef
  |- 33:0:0:2 sdd 8:48  undef ready running
  |- 34:0:0:2 sdh 8:112 undef ready running
  |- 35:0:0:2 sdl 8:176 undef ready running
  `- 36:0:0:2 sdp 8:240 undef ready running
create: oracle-data (14f504e46494c45526a33566a58622d6b6d4b562d73776f64) undef OPNFILER,VIRTUAL-DISK    
size=20G features='0' hwhandler='0' wp=undef
`-+- policy='round-robin 0' prio=1 status=undef
  |- 33:0:0:3 sde 8:64  undef ready running
  |- 34:0:0:3 sdi 8:128 undef ready running
  |- 35:0:0:3 sdm 8:192 undef ready running
  `- 36:0:0:3 sdq 65:0  undef ready running 
[root@bogon Packages]# multipath -ll
oracle-sys (14f504e46494c4552554c536b71612d474539552d4942357a) dm-3 OPNFILER,VIRTUAL-DISK    
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 33:0:0:1 sdc 8:32  active ready running
  |- 34:0:0:1 sdg 8:96  active ready running
  |- 35:0:0:1 sdk 8:160 active ready running
  `- 36:0:0:1 sdo 8:224 active ready running
oracle-data (14f504e46494c45526a33566a58622d6b6d4b562d73776f64) dm-5 OPNFILER,VIRTUAL-DISK    
size=20G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 33:0:0:3 sde 8:64  active ready running
  |- 34:0:0:3 sdi 8:128 active ready running
  |- 35:0:0:3 sdm 8:192 active ready running
  `- 36:0:0:3 sdq 65:0  active ready running
oracle-arch (14f504e46494c45527748533276382d707978772d686c7a43) dm-4 OPNFILER,VIRTUAL-DISK    
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 33:0:0:2 sdd 8:48  active ready running
  |- 34:0:0:2 sdh 8:112 active ready running
  |- 35:0:0:2 sdl 8:176 active ready running
  `- 36:0:0:2 sdp 8:240 active ready running
oracle-grid (14f504e46494c45524e77537957762d34737a312d4d716339) dm-2 OPNFILER,VIRTUAL-DISK    
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 33:0:0:0 sdb 8:16  active ready running
  |- 34:0:0:0 sdf 8:80  active ready running
  |- 35:0:0:0 sdj 8:144 active ready running
  `- 36:0:0:0 sdn 8:208 active ready running      
[root@bogon Packages]# cd /dev/mapper/
[root@bogon mapper]# ls -lsa
total 0
0 drwxr-xr-x.  2 root root     180 Jun  9 12:05 .
0 drwxr-xr-x. 20 root root    3940 Jun  9 12:05 ..
0 crw-------.  1 root root 10, 236 Jun  9 11:09 control
0 lrwxrwxrwx.  1 root root       7 Jun  9 12:05 oracle-arch -> ../dm-4
0 lrwxrwxrwx.  1 root root       7 Jun  9 12:05 oracle-data -> ../dm-5
0 lrwxrwxrwx.  1 root root       7 Jun  9 12:05 oracle-grid -> ../dm-2
0 lrwxrwxrwx.  1 root root       7 Jun  9 12:05 oracle-sys -> ../dm-3
0 lrwxrwxrwx.  1 root root       7 Jun  9 11:09 rhel-root -> ../dm-0
0 lrwxrwxrwx.  1 root root       7 Jun  9 11:09 rhel-swap -> ../dm-1      
[root@bogon mapper]# fdisk -c /dev/mapper/oracle-arch 
[root@bogon mapper]# fdisk -c /dev/mapper/oracle-data
[root@bogon mapper]# fdisk -c /dev/mapper/oracle-grid
[root@bogon mapper]# fdisk -c /dev/mapper/oracle-sys



[root@bogon mapper]# kpartx -a /dev/mapper/oracle-arch
[root@bogon mapper]# kpartx -a /dev/mapper/oracle-sys
[root@bogon mapper]# kpartx -a /dev/mapper/oracle-data
[root@bogon mapper]# kpartx -a /dev/mapper/oracle-grid
[root@bogon mapper]# ls -lsa
total 0
0 drwxr-xr-x.  2 root root     260 Jun  9 12:22 .
0 drwxr-xr-x. 20 root root    4020 Jun  9 12:22 ..
0 crw-------.  1 root root 10, 236 Jun  9 11:09 control
0 lrwxrwxrwx.  1 root root       7 Jun  9 12:16 oracle-arch -> ../dm-4
0 lrwxrwxrwx.  1 root root       7 Jun  9 12:21 oracle-arch1 -> ../dm-6
0 lrwxrwxrwx.  1 root root       7 Jun  9 12:17 oracle-data -> ../dm-5
0 lrwxrwxrwx.  1 root root       7 Jun  9 12:22 oracle-data1 -> ../dm-8
0 lrwxrwxrwx.  1 root root       7 Jun  9 12:17 oracle-grid -> ../dm-2
0 lrwxrwxrwx.  1 root root       7 Jun  9 12:22 oracle-grid1 -> ../dm-9
0 lrwxrwxrwx.  1 root root       7 Jun  9 12:17 oracle-sys -> ../dm-3
0 lrwxrwxrwx.  1 root root       7 Jun  9 12:22 oracle-sys1 -> ../dm-7
0 lrwxrwxrwx.  1 root root       7 Jun  9 11:09 rhel-root -> ../dm-0
0 lrwxrwxrwx.  1 root root       7 Jun  9 11:09 rhel-swap -> ../dm-1