• 记录一则AIX使用裸设备安装OracleRAC的问题


    需求背景:在AIX6.1上安装Oracle 10g RAC,一线工程师反馈节点2运行root脚本无法成功,跟进排查发现实际上底层存储磁盘的准备工作就存在问题。
    客户要求底层存储选用裸设备方式,所以必须要配合HACMP创建并发卷组来实现。
    其实我们标准化最佳实践是建议选用ASM的,一来不需要再关注条带化,二来可以完全不需要HACMP(虽然10g版本的ocr和votedisk必须在裸设备上,但是由于ocr和votedisk特殊性,不必使用并发卷组,即不用使用HACMP)日后运维诊断问题时也更加清晰。

    说明:本文侧重点并不是描述如何定位解决问题,只是偏重于总结平日作为DBA较少接触用到的命令。
    本次技术支持用到的知识点汇总:

    1.AIX如何查看磁盘大小

    --bootinfo -s hdisk 返回磁盘大小,单位是MB
    bootinfo -s hdisk7
    getconf DISK_SIZE /dev/hdisk7
    

    2.AIX查看磁盘可用性

    lsdev -Cc disk
    

    3.AIX查看pv/vg/lv

    --查看pv
    lspv
    --查看vg
    lsvg
    --查看vg下有哪些lv
    lsvg -l ocr1
    --查看指定lv的详细信息
    lslv lvocr1
    

    检查lspv看到的pv对应的vg状态,是否为concurrent,即并发卷组(concurrent volume groups)。
    需要特别注意如果并发卷组是人为在两边启动的,状态都为active,只有通过hacmp自动拉起的并发卷组才会显示为concurrent。

    4.AIX创建lv

    10gRAC建议创建5个vg(Add a scanable volume group):
    ocr1, ocr2, vote1, vote2, vote3
    
    --smit创建vg举例:
    volume group name:ocr1
    physical Partition size in megabytes:256
    physical volume names:hdisk7
    create vg concurrent capable? enhanced concurrent
    

    划5个lv:其中2个ocr,3个votedisk:

    lvocr1	
    lvocr2
    lvvote1
    lvvote2
    lvvote3
    
    --smit mklv举例创建lvocr1:
    Logical volume name:lvocr1
    VOLUME GROUP name:ocr1
    Number of LOGICAL Partitions:4
    Physical VOLUME names:hdisk7
    Logical volume type:raw
    

    5.AIX查看vg里的lv信息

    #lsvg -l rootvg 查看rootvg里的LV
    lsvg -l ocr1
    

    6.是否需要清除pvid

    如果是采用ASM,必须清除;如果是选用裸设备,要配合使用并发卷组,不需要。
    --清除pvid的命令:
    varyoffvg ocr1
    chdev -l hdisk7 -a pv=clear
    

    7.AIX扫描新磁盘

    cfgmgr -v
    

    8.AIX修改磁盘reserve_policy

    chdev -l hdisk7  -a reserve_policy=no_reserve 
    chdev -l hdisk8  -a reserve_policy=no_reserve 
    

    9.AIX查询/清除key

    如果某个盘查询key有值,说明盘被锁:
    --查询key
    /usr/DynamicLinkManager/bin/dlmpr -k
    
    --清除key
    /usr/DynamicLinkManager/bin/dlmpr -c hdisk7
    /usr/DynamicLinkManager/bin/dlmpr -c hdisk8
    

    10.在其他节点导入已创建的vg

    --importvg on other nodes
    importvg -y ocr1 hdisk8
    varyonvg ocr1
    
    importvg -y ocr2 hdisk8
    varyonvg ocr2 
    
    --smit配置资源组属性举例:
    smit hacmp -> Extended Configuration -> HACMP Extended Resource Group Configuration -> Change/Show Resources and Attributes for a Resource Group.
    

    11.HACMP 停止/启动

    --HACMP 停止/启动
    smit clstop
    smit clstart
    

    12.安装Oracle使用的盘全路径

    /dev/rlvocr1
    /dev/rlvocr2
    /dev/rlvvote1
    /dev/rlvvote2
    /dev/rlvvote3
    

    13.Oracle目录和CRS目录,注意不能互相包含

    ORACLE_HOME=/oracle/db
    ORA_CRS_HOME=/oracle/crs
    

    14.数据盘裸设备创建举例

    mklv -y ora_system_01 -u oracle -G dba -t raw -T O -w n -r -n -s 4M datavg 30 hdisk21 hdisk22 hdisk23 hdisk24 hdisk25
    mklv -y ora_sysaux_02 -u oracle -G dba -t raw -T O -w n -r -n -s 4M datavg 30 hdisk25 hdisk21 hdisk22 hdisk23 hdisk24 
    
    --用于快速随机排列组合磁盘的条带化顺序(专家支持提供的shell脚本):
    #hdisk21-hdisk25,随机排列组合:
    n=21
    s=""
    while [ $n -lt 26 ] ; do
    s=$s" hdisk$n"
    ((n=n+1))
    done
    #echo $s
    n=1
    while [ $n -lt 6 ] ; do
    ((n=n+1))
    ((j=n%5+21))
    echo hdisk$j `echo $s|sed -e "s/hdisk$j//" `
    done
    
    --结果示例如下:
    hdisk23 hdisk21 hdisk22 hdisk24 hdisk25
    hdisk24 hdisk21 hdisk22 hdisk23 hdisk25
    hdisk25 hdisk21 hdisk22 hdisk23 hdisk24
    hdisk21 hdisk22 hdisk23 hdisk24 hdisk25
    hdisk22 hdisk21 hdisk23 hdisk24 hdisk25
    

    注意:这里前提假设PP=1G,30个PP就是30G。磁盘的顺序不同,条带化分布不同。同时需要注意,如果某文件只需要2G大小,实际只需要2块盘,如果依然写5块盘,则至少要占用5G空间(因为PP最小分配单位目前分配的是1G,5块盘就是5G)。
    写在后面:
    如果能按照最佳实践选用ASM就不用关心上述这些条带化和空间问题了。
    因为乙方工作特殊性,接触的客户环境差异过大,所以在这个Oracle最新版本已经出到19c的时代,也还存有新装10gRAC且要求使用裸设备的客户和项目。

  • 相关阅读:
    四种常用正则表达式
    解读tomcat的server.xml文件
    存储过程与函数的区别
    Servlet如何处理一个请求?
    Oracle归档模式相关
    常用几个Struts2标签
    Js中比较时间大小
    传值出现中文乱码问题
    JAVA常用转义符
    HDU 5967(LCT)
  • 原文地址:https://www.cnblogs.com/jyzhao/p/10851132.html
Copyright © 2020-2023  润新知