Liunx安裝並配置multipath多路徑,併為oracle asm磁碟組配置許可權和規則
在生產環境中,Oracle RAC的搭建需要有共享儲存的支援,而共享儲存上的每個LUN掛載到伺服器上通常是多條路徑的,這樣就需要在伺服器上安裝多路徑軟體來整合一個LUN的多條鏈路。有的儲存廠商會有自己的多路徑軟體,但有的卻沒有,這就需要我們自己來安裝多路徑軟體,在Linux系統上,multipath多路徑軟體無疑是較好的選擇。
multipath常用命令: multipath -r (修改multipath.conf配置檔案之後重新載入) multipath -ll (檢視多路徑狀態) multipath -v2 (格式化路徑,檢測路徑,合併路徑) multipath -v3 (檢視多路徑詳情blacklist、whitelist和裝置wwid) multipath -F (刪除現有鏈路)
環境介紹:
RHEL6.8 (已配置本地yum源)
Oracle 11gR2 RAC
一、multipath安裝配置:
1、通過yum命令安裝:
yum -y install device-mapper*
2、 嘗試命令:multipath -v2
[[email protected] ~]# multipath -v2 Oct 16 15:04:56 | DM multipath kernel driver not loaded Oct 16 15:04:56 | /etc/multipath.conf does not exist, blacklisting all devices. Oct 16 15:04:56 | A sample multipath.conf file is located at Oct 16 15:04:56 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf Oct 16 15:04:56 | You can run /sbin/mpathconf to create or modify /etc/multipath.conf Oct 16 15:04:56 | DM multipath kernel driver not loaded
3、需要載入DM模組:
modprobe dm-multipath
modprobe dm-round-robin
4、啟動服務並設定開機自啟動:
service multipathd start
chkconfig --level 2345 multipathd on
5、嘗試命令:multipath -v2
[[email protected] ~]# multipath -v2 Oct 16 15:15:24 | /etc/multipath.conf does not exist, blacklisting all devices. Oct 16 15:15:24 | A sample multipath.conf file is located at Oct 16 15:15:24 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf Oct 16 15:15:24 | You can run /sbin/mpathconf to create or modify /etc/multipath.conf
6、建立/etc/multipath.conf,可以從“/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf” 複製:
cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/
7、用命令檢視裝置wwid:
multipath -v3
8、配置/etc/multipath.conf,新增每個儲存LUN的wwid號並設定對應的別名:
defaults {
user_friendly_names yes
}
blacklist {
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z]"
devnode "^dcssblk[0-9]*"
wwid "*" # 此處開啟表示設定所有裝置都不使用多路徑軟體管理
}
blacklist_exceptions {
wwid "360002ac0000000000000000200021dbf"
wwid "360002ac0000000000000000300021dbf"
wwid "360002ac0000000000000000400021dbf"
wwid "360002ac0000000000000000700021dbf"
wwid "360002ac0000000000000000900021dbf"
wwid "360002ac0000000000000000a00021dbf"
wwid "360002ac0000000000000000800021dbf"
}
multipaths {
multipath {
wwid "360002ac0000000000000000200021dbf"
alias data01
}
multipath {
wwid "360002ac0000000000000000300021dbf"
alias data02
}
multipath {
wwid "360002ac0000000000000000400021dbf"
alias data03
}
multipath {
wwid "360002ac0000000000000000700021dbf"
alias data04
}
multipath {
wwid "360002ac0000000000000000900021dbf"
alias crs01
}
multipath {
wwid "360002ac0000000000000000a00021dbf"
alias crs02
}
multipath {
wwid "360002ac0000000000000000800021dbf"
alias crs03
}
}
9、重新載入配置檔案併合並路徑:
multipath -r
multipath -F
multipath -v2
10、檢視路徑:
multipath -ll
[[email protected] ~]# multipath -ll data01 (360002ac0000000000000000200021dbf) dm-5 3PARdata,VV size=1.0T features='0' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 0:0:1:0 sdh 8:112 active ready running |- 2:0:0:0 sdo 8:224 active ready running |- 0:0:0:0 sda 8:0 active ready running `- 2:0:1:0 sdv 65:80 active ready running crs03 (360002ac0000000000000000800021dbf) dm-3 3PARdata,VV size=5.0G features='0' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 0:0:0:4 sde 8:64 active ready running |- 2:0:0:4 sds 65:32 active ready running |- 0:0:1:4 sdl 8:176 active ready running `- 2:0:1:4 sdz 65:144 active ready running crs02 (360002ac0000000000000000a00021dbf) dm-4 3PARdata,VV size=5.0G features='0' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 0:0:0:6 sdg 8:96 active ready running |- 2:0:0:6 sdu 65:64 active ready running |- 0:0:1:6 sdn 8:208 active ready running `- 2:0:1:6 sdab 65:176 active ready running crs01 (360002ac0000000000000000900021dbf) dm-6 3PARdata,VV size=5.0G features='0' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 0:0:1:5 sdm 8:192 active ready running |- 2:0:0:5 sdt 65:48 active ready running |- 0:0:0:5 sdf 8:80 active ready running `- 2:0:1:5 sdaa 65:160 active ready running data04 (360002ac0000000000000000700021dbf) dm-1 3PARdata,VV size=1.0T features='0' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 0:0:0:3 sdd 8:48 active ready running |- 2:0:0:3 sdr 65:16 active ready running |- 0:0:1:3 sdk 8:160 active ready running `- 2:0:1:3 sdy 65:128 active ready running data03 (360002ac0000000000000000400021dbf) dm-2 3PARdata,VV size=1.0T features='0' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 0:0:0:2 sdc 8:32 active ready running |- 2:0:0:2 sdq 65:0 active ready running |- 0:0:1:2 sdj 8:144 active ready running `- 2:0:1:2 sdx 65:112 active ready running data02 (360002ac0000000000000000300021dbf) dm-0 3PARdata,VV size=1.0T features='0' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 0:0:0:1 sdb 8:16 active ready running |- 2:0:0:1 sdp 8:240 active ready running |- 0:0:1:1 sdi 8:128 active ready running `- 2:0:1:1 sdw 65:96 active ready running
二、配置dm許可權與規則:
1、為每個LUN分割槽:
fdisk /dev/mapper/data01
fdisk /dev/mapper/data02
fdisk /dev/mapper/data03
fdisk /dev/mapper/data04
fdisk /dev/mapper/crs01
fdisk /dev/mapper/crs02
fdisk /dev/mapper/crs03
分割槽後可以在/dev/mapper目錄下檢視結果,每個分區別名指向一個dm號:
[[email protected] ~]# ll /dev/mapper/ total 0 crw-rw---- 1 root root 10, 58 Oct 15 17:46 control lrwxrwxrwx 1 root root 7 Oct 16 15:42 crs01 -> ../dm-6 lrwxrwxrwx 1 root root 8 Oct 16 15:42 crs01p1 -> ../dm-13 lrwxrwxrwx 1 root root 7 Oct 16 15:42 crs02 -> ../dm-4 lrwxrwxrwx 1 root root 8 Oct 16 15:42 crs02p1 -> ../dm-12 lrwxrwxrwx 1 root root 7 Oct 16 15:42 crs03 -> ../dm-3 lrwxrwxrwx 1 root root 7 Oct 16 15:42 crs03p1 -> ../dm-9 lrwxrwxrwx 1 root root 7 Oct 16 15:42 data01 -> ../dm-5 lrwxrwxrwx 1 root root 8 Oct 16 15:53 data01p1 -> ../dm-11 lrwxrwxrwx 1 root root 7 Oct 16 15:42 data02 -> ../dm-0 lrwxrwxrwx 1 root root 7 Oct 16 15:42 data02p1 -> ../dm-7 lrwxrwxrwx 1 root root 7 Oct 16 15:42 data03 -> ../dm-2 lrwxrwxrwx 1 root root 8 Oct 16 15:53 data03p1 -> ../dm-10 lrwxrwxrwx 1 root root 7 Oct 16 15:42 data04 -> ../dm-1 lrwxrwxrwx 1 root root 7 Oct 16 15:53 data04p1 -> ../dm-8
2、設定dm許可權:
chown -R grid:asmadmin /dev/dm-7
chown -R grid:asmadmin /dev/dm-8
chown -R grid:asmadmin /dev/dm-9
chown -R grid:asmadmin /dev/dm-10
chown -R grid:asmadmin /dev/dm-11
chown -R grid:asmadmin /dev/dm-12
chown -R grid:asmadmin /dev/dm-13
3、配置dm規則:
vi /etc/udev/rules.d/12-dm-permissions.rules
ENV{DM_NAME}=="data01p1",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="data02p1",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="data03p1",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="data04p1",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="crs01p1",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="crs02p1",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="crs03p1",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
4、重啟伺服器,完成配置!