【RAC】集群验证工具cluvfy 实践之一

本文涉及的产品
票证核验,票证核验 50次/账号
企业资质识别,企业资质识别 200次/月
OCR统一识别,每月200次
简介:
Cluster Verification Utilit(CVU)是Oracle所推荐的一种集群检验工具。该检验工具帮助用户在Cluter部署的各个阶段验证集群的重要组件,这些阶段包括硬件搭建、Clusterware的安装、RDBMS的安装、存储等等。我们既可以在Cluster安装之前使用CVU来帮我们检验所配置的环境正确可用,也可以在软件安装完成后使用CVU来做对集群的验收。
1.获取集群验证工具cluvfy的帮助信息
grid@rac1:/home/grid>cluvfy -help
USAGE:
cluvfy [ -help ]
cluvfy stage { -list | -help }
cluvfy stage {-pre|-post}  [-verbose]
cluvfy comp  { -list | -help }
cluvfy comp    [-verbose]
2 本文主要介绍comp 的使用,在RAC Cluster中独立的子系统或者模块被称作组件(component),可以使用CVU来验证集群组件的可用性、完整性、稳定性。简单如存储设备、CRSD、EVMD、CSSD、OCR等多个子组件的CRS stack都可以被认为是一个组件。
获得comp选项可验证的信息
grid@rac1:/home/grid>cluvfy comp -list
USAGE:
cluvfy comp    [-verbose]
有效组件为:
        nodereach : 检查各节点间的可访问性
        nodecon   : 检查节点的连接性
        cfs       : 检查 CFS 完整性
        ssa       : 检查共享存储的可访问性
        space     : 检查空间可用性
        sys       : 检查最小系统要求
        clu       : 检查集群完整性
        clumgr    : 检查集群管理器完整性
        ocr       : 检查 OCR 完整性
        olr       : 检查 OLR 完整性
        ha        : 检查 HA 完整性
        crs       : 检查 CRS 完整性
        nodeapp   : 检查节点应用程序是否存在
        admprv    : 检查管理权限
        peer      : 与对等端比较属性
        software  : 检查软件分发
        asm       : 检查 ASM 完整性
        acfs      : 检查 ACFS 完整性
        gpnp      : 检查 GPnP 完整性
        gns       : 检查 GNS 完整性
        scan      : 检查 SCAN 配置
        ohasd     : 检查 OHASD 完整性
        clocksync : 检查时钟同步
        vdisk      : 检查表决磁盘 Udev 设置
输入语法错误时,会有语法提示:
grid@rac1:/home/grid>cluvfy comp nodereach -verbose
USAGE:
cluvfy comp nodereach -n [-srcnode ]  [-verbose]
  是用逗号分隔的非域限定的节点名列表, 在这些节点上执行测试。 如果指定了 "all", 则集群中的所有节点将用于验证。
    是将从其上执行可访问性测试的节点。
DESCRIPTION:
3 具体的测试例子
1 检查从源节点到节点列表中指定节点的可访问性。源节点可通过 '-srcnode' 选项指定。如果未给定源节点, 则本地节点将作为源节点。
grid@rac1:/home/grid>cluvfy comp nodereach -n all -verbose
验证 节点可访问性 
正在检查节点的可访问性...
检查: 节点 "rac1" 的节点可访问性
  目标节点                             是否可访问?                  
  ------------------------------------ ------------------------
  rac2                                  是                       
  rac1                                  是                       
结果:节点 "rac1" 的节点可访问性检查已通过

2 检查节点的连接性
grid@rac1:/home/grid>cluvfy comp  nodecon -n all  -verbose
验证 节点连接性 
正在检查节点的连接性...
正在检查主机配置文件...
  节点名           状态                        注释                      
  ------------  ------------------------  ------------------------
  rac2                                          通过                                                
  rac1                                          通过                                                
主机配置文件的验证成功
节点 "rac2" 的接口信息
 名称     IP 地址         子网           网关              默认网关            HW 地址    MTU   
 ------ --------------- -------------- --------------- --------------- ----------------- ------
 eth0   10.250.7.120    10.250.7.0      0.0.0.0         10.250.7.254    00:50:56:8F:0B:9C 1500  
 eth0   10.250.7.121    10.250.7.0      0.0.0.0         10.250.7.254    00:50:56:8F:0B:9C 1500  
 eth1   10.10.10.20     10.10.10.0      0.0.0.0         10.250.7.254    00:50:56:8F:78:DE 1500  
节点 "rac1" 的接口信息
 名称     IP 地址         子网           网关              默认网关            HW 地址    MTU   
 ------ --------------- -------------- -------------- --------------- ----------------- ------
 eth0   10.250.7.110    10.250.7.0      0.0.0.0         10.250.7.254    00:50:56:8F:27:1D 1500  
 eth0   10.250.7.111    10.250.7.0      0.0.0.0         10.250.7.254    00:50:56:8F:27:1D 1500  
 eth0   10.250.7.200    10.250.7.0      0.0.0.0         10.250.7.254    00:50:56:8F:27:1D 1500  
 eth1   10.10.10.10     10.10.10.0      0.0.0.0         10.250.7.254    00:50:56:8F:59:3E 1500  
检查: 子网 "10.250.7.0" 的节点连接性
  源                               目标                          是否已连接?          
  ------------------------------  --------------------------  ----------------
  rac2:eth0                       rac2:eth0                       是               
  rac2:eth0                       rac1:eth0                       是               
  rac2:eth0                       rac1:eth0                       是               
  rac2:eth0                       rac1:eth0                       是               
  rac2:eth0                       rac1:eth0                       是               
  rac2:eth0                       rac1:eth0                       是               
  rac2:eth0                       rac1:eth0                       是               
  rac1:eth0                       rac1:eth0                       是               
  rac1:eth0                       rac1:eth0                       是               
  rac1:eth0                       rac1:eth0                       是               
结果:含有节点 rac2,rac1 的子网 "10.250.7.0" 的节点连接性检查已通过
检查: 子网 "10.250.7.0" 的 TCP 连接性
  源                               目标                          是否已连接?          
  ------------------------------  ------------------------------  ----------------
  rac1:10.250.7.110               rac2:10.250.7.120               通过        
  rac1:10.250.7.110               rac2:10.250.7.121               通过              
  rac1:10.250.7.110               rac1:10.250.7.111               通过              
  rac1:10.250.7.110               rac1:10.250.7.200               通过              
结果:子网 "10.250.7.0" 的 TCP 连接性检查通过
检查: 子网 "10.10.10.0" 的节点连接性
  源                               目标                           是否已连接?          
  ------------------------------  ------------------------------  ----------------
  rac2:eth1                       rac1:eth1                       是       
结果:含有节点 rac2,rac1 的子网 "10.10.10.0" 的节点连接性检查已通过
检查: 子网 "10.10.10.0" 的 TCP 连接性
  源                               目标                           是否已连接?          
  ------------------------------  ------------------------------  ----------------
  rac1:10.10.10.10                rac2:10.10.10.20                通过   
结果:子网 "10.10.10.0" 的 TCP 连接性检查通过
在子网 "10.250.7.0" 上找到的很可能是用于 VIP 的候选接口的接口为:
rac2 eth0:10.250.7.120 eth0:10.250.7.121
rac1 eth0:10.250.7.110 eth0:10.250.7.111 eth0:10.250.7.200

在子网 "10.10.10.0" 上找到的很可能是用于专用互连的候选接口的接口为:
rac2 eth1:10.10.10.20
rac1 eth1:10.10.10.10
结果:节点的连接性检查已通过
节点连接性 的验证成功。

3 检查共享存储的可访问性
grid@rac1:/home/grid>cluvfy comp ssa  -n all -verbose
验证 共享存储的可访问性 
正在检查共享存储的可访问性...
WARNING: 
无法确定是否在以下节点上共享 /dev/sda:
rac2,rac1
  Disk                                  共享节点 (2 个)              
  ------------------------------------  ------------------------
  /dev/sdb                              rac2 rac1               
  Disk                                  共享节点 (2 个)              
  ------------------------------------  ------------------------
  /dev/sdc                              rac2 rac1               
  Disk                                  共享节点 (2 个)              
  ------------------------------------  ------------------------
  /dev/sdd                              rac2 rac1               
  Disk                                  共享节点 (2 个)              
  ------------------------------------  ------------------------
  /dev/sde                              rac2 rac1               
节点 "rac2,rac1" 上的共享存储检查成功
共享存储的可访问性 的验证成功。
4 验证 空间可用性 
grid@rac1:/home/grid>
grid@rac1:/home/grid>cluvfy comp space -n all -l /opt/ -z 2G -verbose   
验证 空间可用性 
正在检查空间可用性...
检查: "/opt/" 上的可用空间
  节点名           可用                        必需                 注释        
  ------------  ------------------------  ------------------------  ----------
  rac2          75.49GB (7.9155224E7KB)   2GB (2097152.0KB)         通过        
  rac1          69.51GB (7.2890088E7KB)   2GB (2097152.0KB)         通过        
结果:"/opt/" 的空间可用性检查已通过
空间可用性 的验证成功。
5 检查最小系统要求,此项检查是验证os 系统层面 包是否安装 ,网络是否可以访问,内核参数是否正确,用户权限等等信息!
grid@rac1:/home/grid>cluvfy comp sys -n all  -verbose                  
ERROR: 
必须指定产品。有关详细资料, 请参阅用法。
USAGE:
cluvfy comp sys  [-n ] -p {crs|ha|database}
                 [-r {10gR1|10gR2|11gR1|11gR2}] 
                 [-osdba ]  [-orainv ] 
                 [-fixup [-fixupdir ]] [-verbose]
  是用逗号分隔的非域限定的节点名列表, 在这些节点上执行测试。 如果指定了 "all", 则集群中的所有节点将用于验证。
 crs 用于 Oracle Clusterware 产品
 ha 用于 Oracle 高可用性产品
 database 用于 Oracle Real Application Cluster 产品
 10gR1 or 10gR2 or 11gR1 or 11gR2 是产品的发行版本号。
  是 OSDBA 组的名称。默认为 "dba"。
  是 Oracle 产品清单组的名称。默认为 "oinstall"。
  是将要生成修复说明的目录。默认值为 CVU 的工作目录。
DESCRIPTION:
在节点列表中的所有节点上检查 '-p' 选项所给定产品的最小系统要求。如果未给定 '-n' 选项, 则在本地节点上进行此检查。如果未指定 OSDBA 组, 则 'dba' 将作为 OSDBA 组。如果未指定 'Oracle 产品清单' 组, 则 'oinstall' 将作为产品清单组。如果指定了 '-fixup' 选项, 则在验证失败时将生成修复说明 (如果适用)。使用 '-fixupdir' 选项可以指定应在其中生成修复说明的特定目录。
验证 OCR 完整性 
grid@rac1:/home/grid/software/grid>cluvfy comp ocr -n all -verbose
验证 OCR 完整性 
正在检查 OCR 完整性...
正在检查是否缺少非集群配置...
所有节点都没有非集群的, 仅限本地的配置
“ASM 运行”检查通过。ASM 正在所有集群节点上运行
正在检查 OCR 配置文件 "/etc/oracle/ocr.loc"...
OCR 配置文件 "/etc/oracle/ocr.loc" 检查成功
ocr 位置 "+DATA1" 的磁盘组在所有节点上都可用
正在检查 OCR 位置 "+DATA1" 的大小...
OCR 位置 "+DATA1" 的大小检查成功...
OCR 位置 "+DATA1" 的大小检查成功...
WARNING: 
此检查不验证 OCR 内容的完整性。请以授权用户的身份执行 'ocrcheck' 以验证 OCR 的内容。
OCR 完整性检查已通过
OCR 完整性 的验证成功。
验证 CRS 完整性 
grid@rac1:/home/grid/software/grid>cluvfy comp crs -n all -verbose   
验证 CRS 完整性 
正在检查 CRS 完整性...
Oracle Clusterware 在节点 "rac2" 上处于健康状态
Oracle Clusterware 在节点 "rac1" 上处于健康状态
CRS 完整性检查已通过
CRS 完整性 的验证成功。
8 验证 Oracle Restart 完整性 
grid@rac1:/home/grid/software/grid>cluvfy comp ha  -verbose      
验证 Oracle Restart 完整性 
ERROR: 
PRVF-4112 : 无法确定 Oracle Restart 安装
验证无法继续
Oracle Restart 完整性 的验证失败。

验证 管理权限 
grid@rac1:/home/grid>cluvfy comp admprv -n all -o 
ERROR: 
必须指定操作。有关详细资料, 请参阅用法。
USAGE:
cluvfy comp admprv  [-n ]  [-verbose]
        -o user_equiv  [-sshonly]
        -o crs_inst [-orainv ]
                    [-fixup [-fixupdir ]]
        -o db_inst  [-osdba ] 
                    [-fixup [-fixupdir ]]
        -o db_config  -d
                    [-fixup [-fixupdir ]]
  是用逗号分隔的非域限定的节点名列表, 在这些节点上执行测试。 如果指定了 "all", 则集群中的所有节点将用于验证。
 user_equiv 检查各节点间的等同用户。
 crs_inst 检查安装 CRS 的管理权限。
 db_inst 检查安装 RAC 数据库的管理权限。
 db_config 检查配置数据库的管理权限。
  是 OSDBA 组的名称。默认为 "dba"。
  是 Oracle 产品清单组的名称。默认为 "oinstall"。
  是将要生成修复说明的目录。默认值为 CVU 的工作目录。
DESCRIPTION:
在节点列表中的所有指定节点上检查 '-o' 选项所指定操作的必需管理权限。这些操作互相排斥并且一次只能指定一个操作。如果未提供 '-n' 选项, 则在本地节点上进行此检查。如果未指定 OSDBA 组, 则 'dba' 将作为 OSDBA 组。如果未指定 'Oracle 产品清单' 组, 则 'oinstall' 将作为产品清单组。如果指定了 '-fixup' 选项, 则在验证失败时将生成修复说明 (如果适用)。使用 '-fixupdir' 选项可以指定应在其中生成修复说明的特定目录。
比如:
grid@rac1:/home/grid>cluvfy comp admprv -n all -o crs_inst -verbose -orainv oinstall
验证 管理权限 
正在检查等同用户...
检查: 用户 "grid" 的等同用户
  节点名                                 注释                      
  ------------------------------------  -----------------
  rac2                                  通过                      
  rac1                                  通过                      
结果:用户 "grid" 的等同用户检查已通过
正在检查管理权限...
检查: "grid" 的 用户存在性 
  节点名           状态                     注释                      
  ------------  ------------------------  ---------------
  rac2          存在                        通过                      
  rac1          存在                        通过                      
结果:"grid" 的 用户存在性 检查已通过

检查: "oinstall" 的 组存在性 
  节点名           状态                     注释                      
  ------------  ------------------------  ---------------
  rac2          存在                        通过                      
  rac1          存在                        通过                      
结果:"oinstall" 的 组存在性 检查已通过

检查: 组 "oinstall" 中用户 "grid" 的成员资格 [作为 主]
  节点名     用户存在       组存在      组中的用户         主             注释          
  ---------  ------------  ------------  ------------  ------------  ------------
  rac2         是             是             是             是             通过
  rac1         是             是             是             是             通过          
结果:组 "oinstall" 中用户 "grid" 的成员资格检查 [作为 主] 已通过
检查: "dba" 的 组存在性 
  节点名        状态                        注释                      
  -----------------------------------  ----------------
  rac2          存在                        通过                      
  rac1          存在                        通过                      
结果:"dba" 的 组存在性 检查已通过
检查: 组 "dba" 中用户 "grid" 的成员资格
  节点名         用户存在       组存在      组中的用户         注释      
  -------------------------  ------------  ------------  ----------------
  rac2             是            是             是             通过      
  rac1             是            是             是             通过              
结果:组 "dba" 中用户 "grid" 的成员资格检查已通过
管理权限检查已通过
管理权限 的验证成功。

4 建议在安装Oracle RAC的时候,安装clusterware 软件之前和之后 都要进行必要的检查,这样可以在安装前发现错误,安装后检查其完整性! 
ps 当然以我的经验,并不是每次验证正确都可以正常安装成功的!祝愿 各位好运!!(本周安装了7次,每次都验证runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose 执行都是成功的,结果都是执行rootsh的时候报错 gpnp 相关的错误!!会写一篇文章介绍这个事情)   
相关文章
|
文字识别 Oracle 关系型数据库
|
4月前
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
105 2
|
7月前
|
存储 Oracle 关系型数据库
Oracle RAC:数据库集群的舞动乐章
【4月更文挑战第19天】Oracle RAC是Oracle提供的高可用性数据库解决方案,允许多个实例共享同一数据库,确保业务连续性和数据完整性。通过集群件和全局缓存服务实现服务器间的协调和通信。RAC提供高可用性,通过故障转移应对故障,同时提升性能,多个实例并行处理请求。作为数据管理员,理解RAC的架构和管理至关重要,以发挥其在数据管理中的最大价值。
|
缓存 负载均衡 Oracle
Oracle rac集群中的IP类型简介
Oracle rac集群中的IP类型简介
694 0
|
Oracle 关系型数据库 数据库
Oracle RAC集群启动与关闭,涵盖所有版本
Oracle RAC集群启动与关闭,涵盖所有版本
1143 0
Oracle RAC集群启动与关闭,涵盖所有版本
|
虚拟化
Vmware虚拟机RAC集群绑定共享磁盘方法
Vmware虚拟机RAC集群绑定共享磁盘方法
655 0
Vmware虚拟机RAC集群绑定共享磁盘方法
|
Oracle 关系型数据库 数据库