需求背景:在AIX6.1上安装Oracle 10g RAC,一线工程师反馈节点2运行root脚本没法成功,跟进排查发现实际上底层存储磁盘的准备工做就存在问题。
客户要求底层存储选用裸设备方式,因此必需要配合HACMP建立并发卷组来实现。
其实咱们标准化最佳实践是建议选用ASM的,一来不须要再关注条带化,二来能够彻底不须要HACMP(虽然10g版本的ocr和votedisk必须在裸设备上,可是因为ocr和votedisk特殊性,没必要使用并发卷组,即不用使用HACMP)往后运维诊断问题时也更加清晰。node
说明:本文侧重点并非描述如何定位解决问题,只是偏重于总结平日做为DBA较少接触用到的命令。
本次技术支持用到的知识点汇总:shell
--bootinfo -s hdisk 返回磁盘大小,单位是MB bootinfo -s hdisk7 getconf DISK_SIZE /dev/hdisk7
lsdev -Cc disk
--查看pv lspv --查看vg lsvg --查看vg下有哪些lv lsvg -l ocr1 --查看指定lv的详细信息 lslv lvocr1
检查lspv看到的pv对应的vg状态,是否为concurrent,即并发卷组(concurrent volume groups)。
须要特别注意若是并发卷组是人为在两边启动的,状态都为active,只有经过hacmp自动拉起的并发卷组才会显示为concurrent。并发
10gRAC建议建立5个vg(Add a scanable volume group):oracle
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
#lsvg -l rootvg 查看rootvg里的LV lsvg -l ocr1
若是是采用ASM,必须清除;若是是选用裸设备,要配合使用并发卷组,不须要。svg
--清除pvid的命令: varyoffvg ocr1 chdev -l hdisk7 -a pv=clear
cfgmgr -v
chdev -l hdisk7 -a reserve_policy=no_reserve chdev -l hdisk8 -a reserve_policy=no_reserve
若是某个盘查询key有值,说明盘被锁:code
--查询key /usr/DynamicLinkManager/bin/dlmpr -k --清除key /usr/DynamicLinkManager/bin/dlmpr -c hdisk7 /usr/DynamicLinkManager/bin/dlmpr -c hdisk8
--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.
--HACMP 中止/启动 smit clstop smit clstart
/dev/rlvocr1 /dev/rlvocr2 /dev/rlvvote1 /dev/rlvvote2 /dev/rlvvote3
ORACLE_HOME=/oracle/db ORA_CRS_HOME=/oracle/crs
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且要求使用裸设备的客户和项目。资源