Oracle 19c AFD不支持存儲的多路復用


 

Oracle 19c AFD不支持存儲的多路復用

 

Oracle版本: 

SQL*Plus: Release 19.0.0.0.0 - Production on Mon May 31 09:11:51 2021
Version 19.11.0.0.0

 

經過實驗發現,當存儲盤存在多路復用的情況,如果不使用多路徑會導致AFD在afd_scan的時候忽略存儲盤。 

[root@dev-devdb ~]# lsscsi --scsi_id -s
[0:1:0:0]    disk    HP       LOGICAL VOLUME   1.64  /dev/sda   3600508b100103035424b323031370300   299GB
[0:3:0:0]    storage HP       P712m            1.64  -          -       -
[1:0:0:0]    storage HP       HSV300           1100  -          -       -
[1:0:0:1]    disk    HP       HSV300           1100  /dev/sdb   36001438009b025a00000b000002b0000  5.36GB
[1:0:0:2]    disk    HP       HSV300           1100  /dev/sdc   36001438009b025a00000b00000300000  5.36GB
[1:0:0:3]    disk    HP       HSV300           1100  /dev/sdd   36001438009b025a00000b00000350000  5.36GB
[1:0:0:4]    disk    HP       HSV300           1100  /dev/sde   36001438009b025a00000b000003a0000   322GB
[1:0:0:5]    disk    HP       HSV300           1100  /dev/sdf   36001438009b025a00000b000003f0000   214GB
[1:0:0:6]    disk    HP       HSV300           1100  /dev/sdg   36001438009b025a00000b00000470000  53.6GB
[1:0:1:0]    storage HP       HSV300           1100  -          -       -
[1:0:1:1]    disk    HP       HSV300           1100  /dev/sdh   36001438009b025a00000b000002b0000  5.36GB
[1:0:1:2]    disk    HP       HSV300           1100  /dev/sdi   36001438009b025a00000b00000300000  5.36GB
[1:0:1:3]    disk    HP       HSV300           1100  /dev/sdj   36001438009b025a00000b00000350000  5.36GB
[1:0:1:4]    disk    HP       HSV300           1100  /dev/sdk   36001438009b025a00000b000003a0000   322GB
[1:0:1:5]    disk    HP       HSV300           1100  /dev/sdl   36001438009b025a00000b000003f0000   214GB
[1:0:1:6]    disk    HP       HSV300           1100  /dev/sdm   36001438009b025a00000b00000470000  53.6GB
[2:0:0:0]    storage HP       HSV300           1100  -          -       -
[2:0:0:1]    disk    HP       HSV300           1100  /dev/sdn   36001438009b025a00000b000002b0000  5.36GB
[2:0:0:2]    disk    HP       HSV300           1100  /dev/sdo   36001438009b025a00000b00000300000  5.36GB
[2:0:0:3]    disk    HP       HSV300           1100  /dev/sdp   36001438009b025a00000b00000350000  5.36GB
[2:0:0:4]    disk    HP       HSV300           1100  /dev/sdq   36001438009b025a00000b000003a0000   322GB
[2:0:0:5]    disk    HP       HSV300           1100  /dev/sdr   36001438009b025a00000b000003f0000   214GB
[2:0:0:6]    disk    HP       HSV300           1100  /dev/sds   36001438009b025a00000b00000470000  53.6GB
[2:0:1:0]    storage HP       HSV300           1100  -          -       -
[2:0:1:1]    disk    HP       HSV300           1100  /dev/sdt   36001438009b025a00000b000002b0000  5.36GB
[2:0:1:2]    disk    HP       HSV300           1100  /dev/sdu   36001438009b025a00000b00000300000  5.36GB
[2:0:1:3]    disk    HP       HSV300           1100  /dev/sdv   36001438009b025a00000b00000350000  5.36GB
[2:0:1:4]    disk    HP       HSV300           1100  /dev/sdw   36001438009b025a00000b000003a0000   322GB
[2:0:1:5]    disk    HP       HSV300           1100  /dev/sdx   36001438009b025a00000b000003f0000   214GB
[2:0:1:6]    disk    HP       HSV300           1100  /dev/sdy   36001438009b025a00000b00000470000  53.6GB

 

在GI啟動之前,執行afdload start的時候,會根據/etc/oracleafd.conf文件中afd_diskstring去掃描盤。

此時,查看日志/u01/app/grid/diag/afdboot/user_root/host_3462916399_110/trace/alert.log有如下提示:

2021-05-31T08:56:04.752260+08:00
afdb_scandisk: Start
afdb_getdiscstr: Start
afd_discovery string: /dev/sd*
afdb_getdiscstr: end
Tokenized diskstring /dev/sd*
No label in disk /dev/sda
No label in disk /dev/sda1
No label in disk /dev/sda2
No label in disk /dev/sda3
Ignoring dup disk: /dev/sdi label: OCR2
Ignoring dup disk: /dev/sdc label: OCR2
Ignoring dup disk: /dev/sdh label: OCR1
Ignoring dup disk: /dev/sdb label: OCR1
Ignoring dup disk: /dev/sdk label: DATA1
Ignoring dup disk: /dev/sde label: DATA1
Ignoring dup disk: /dev/sdj label: OCR3
Ignoring dup disk: /dev/sdd label: OCR3
Ignoring dup disk: /dev/sdm label: MGMT1
Ignoring dup disk: /dev/sdg label: MGMT1
Ignoring dup disk: /dev/sdl label: ARCH1
Ignoring dup disk: /dev/sdf label: ARCH1
Ignoring dup disk: /dev/sdn label: OCR1
Ignoring dup disk: /dev/sds label: MGMT1
Ignoring dup disk: /dev/sdo label: OCR2
Ignoring dup disk: /dev/sdp label: OCR3
Ignoring dup disk: /dev/sdu label: OCR2
Ignoring dup disk: /dev/sdt label: OCR1
Ignoring dup disk: /dev/sdq label: DATA1
Ignoring dup disk: /dev/sdv label: OCR3
Ignoring dup disk: /dev/sdw label: DATA1
Ignoring dup disk: /dev/sdx label: ARCH1
Ignoring dup disk: /dev/sdy label: MGMT1
Ignoring dup disk: /dev/sdr label: ARCH1
There are no devices to discover.
afdb_scandisk: Successful
afdb_scandisk: end

此時,也無法使用asmcmd afd_scan來將磁盤掃描出來,也就是說/dev/oracleafd/disks/會是空的。

注意:asmcmd afd_scan如果不加參數,默認也是讀取/etc/oracleafd.conf文件。

詳情可以查看/u01/app/grid/diag/asmcmd/user_root/dev-devdb/alert/alert.log日志。

 

當使用多路徑綁定,消除多路復用多出來的額外的存儲磁盤后,同時/etc/oracleafd.conf文件修改為afd_diskstring='/dev/mapper/asm*',

再次執行afdload start,此時查看日志/u01/app/grid/diag/afdboot/user_root/host_3462916399_110/trace/alert.log有如下提示:

2021-05-31T08:58:10.319379+08:00
afdb_scandisk: Start
afdb_getdiscstr: Start
afd_discovery string: /dev/mapper/asm*
afdb_getdiscstr: end
Tokenized diskstring /dev/mapper/asm*
Scan count 6
Scanned disk /dev/mapper/asm-ocr1
Scanned disk /dev/mapper/asm-ocr2
Scanned disk /dev/mapper/asm-ocr3
Scanned disk /dev/mapper/asm-data1
Scanned disk /dev/mapper/asm-arch1
Scanned disk /dev/mapper/asm-mgmt1
afdb_scandisk: Successful
afdb_scandisk: end

 

這個表明當前afd不支持存儲的多路復用。

若執意要使用afd_diskstring='/dev/sd*',那么afdload start后,使用asmcmd afd_scan '/dev/sdb'這樣子單獨一塊一塊手工掃描出來。

 

最后,將集群啟動后, /etc/oracleafd.conf文件的afd_diskstring會被還原為OLR記錄的AFD_DISKSTRING路徑。

使用asmcmd dsget需要的集群啟動狀態下才可以成功執行,原因就是因為該命令會讀取OLR信息,同時,

會更新/etc/oracleafd.conf文件的afd_diskstring為OLR記錄的AFD_DISKSTRING路徑。

如果由原來的/dev/sd*要變更為/dev/mapper/asm*的話,在集群啟動后需要使用asmcmd afd_dsset '/dev/mapper/asm*'來更新OLR的信息。

 

獲取OLR的dump文件命令:ocrdump -local

附上OLR的dump文件部分內容:

[SYSTEM.ASM.AFD_DISKSTRING]
ORATEXT : /dev/mapper/asm*
SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_READ, OTHER_PERMISSION : PROCR_READ, USER_NAME : grid, GROUP_NAME : oinstall}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM