zoukankan      html  css  js  c++  java
  • 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}
  • 相关阅读:
    sed命令
    python常用库
    python标准库
    从 Python 打包到 CLI 工具
    pip
    python包自我理解
    docker常用命令
    chattr命令
    xmss
    live2d-widget.js
  • 原文地址:https://www.cnblogs.com/PiscesCanon/p/14829991.html
Copyright © 2011-2022 走看看