为了尽量减少安装过程中的错误,Oracle 提供了一个校验工具,即CVU。这个工具的功能是检查系统的硬件和软件环境是否满足安装RAC的要求。在进行RAC安装的三步中的任何一步工作之前,首先应该以软件安装者的身份登录系统,利用CVU工具检查系统的硬件和软件环境是否满足要求。如果有不满足的情况,应该先解决问题,然后再进行这一步的工作。
CVU工具包括两个脚本:runcluvfy.sh和cluvfy 。其中,runcluvfy.sh脚本位于安装介质的顶层目录中,它的功能是在安装Grid Infrastructure软件之前对系统进行校验。而cluvfy 位于GridInfrastructure软件的安装目录(如/u01/app/grid目录)下的bin子目录中,它的功能是在安装Oracle 数据库软件或者创建集群数据库之前,对系统进行校验。
为了对RAC集群环境中的其他节点进行校验,需要建立用户的对等关系。以软件安装者的身份登录系统,在按照3.3.2节介绍的内容对SSH 进行配置之后,在某个选定的节点上打开一个终端窗口,执行下面两条命令建立用户之间的对等关系:
$ exec /usr/bin/ssh-agent $SHELL
$ /usr/bin/ssh-add
然后在这个终端窗口执行runcluvfy.sh脚本,对当前节点或者其他节点进行校验。例如,在通过cd 命令进入Grid Infrastructure软件所在目录之后,以下面的方式执行runcluvfy.sh脚本,对RAC中的两个节点进行校验:
$ ./runcluvfy.sh stage -pre crsinst -n server1,server2 -verbose
校验的结果将显示在屏幕上。校验的内容包括硬件位数、内核位数、操作系统版本、补丁级别、内存大小、交换空间大小、/tmp 目录的大小、安装目录的大小、公共网络、私有网络、用户的对等关系、内核参数等。
从RAC 11.2开始,runcluvfy.sh 脚本增加了一个新的参数,即-fixup 。利用这个参数,可以产生另外一个脚本runfixup.sh 。在这个脚本中包含一系列的操作系统命令,利用这个脚本可以对操作系统进行一定的修改,使其满足RAC的安装条件,如修改一些内核参数、设置安装目录的权限等。在对操作系统进行校验之后,以root 用户的身份执行脚本runfixup.sh,就可以解决操作系统中一些尚不满足RAC安装条件的情况。例如,runcluvfy.sh 脚本还可以以下面的方式执行:
$ ./runcluvfy.sh stage -pre crsinst -n server1,server2 -fixup -verbose
校验结果类似以下内容(部分):
Performing pre-checks for cluster services setup
Checking node reachability...
Check: Node reachability from node \"server1\"
Destination Node Reachable?
server2 yes
server1 yes
Result: Node reachability check passed from node \"server1\"
Checking user equivalence...
Check: User equivalence for user \"oracle\"
Node Name Comment
server2 passed
server1 passed
Result: User equivalence check passed for user \"oracle\"
......
Check: Total memory
Node Name Available Required Comment
server2 4GB (4194304.0KB) 1.5GB (1572864.0KB) passed
server1 4GB (4194304.0KB) 1.5GB (1572864.0KB) passed
Result: Total memory check passed
Check: Swap space
Node Name Available Required Comment
------------ ------------------------ ------------------------ ----------
server2 2.0625GB (2162688.0KB) 3GB (3145728.0KB) server1 4GB (4194304.0KB) 4GB (4194304.0KB) Result: Swap space check failed
Check: Free disk space for \"server2:/tmp/\"
Path Node Name Mount point Available Required Comment/tmp/ server2 /tmp 1.0569GB 1GB passed
Result: Free disk space check passed for \"server2:/tmp/\"
Check: Free disk space for \"server1:/tmp/\"
Path Node Name Mount point Available Required Comment/tmp/ server1 /tmp 1.5698GB 1GB passed
failed
passed
Result: Free disk space check passed for \"server1:/tmp/\"
......
如果要对共享存储设备中的硬盘进行校验,以下面的方式执行脚本runcluvfy.sh:
$ ./runcluvfy.sh comp ssa -n server1,server2 -s /dev/rhdisk8,/dev/rhdisk9
Verifying shared storage accessibility
Checking shared storage accessibility...
\"/dev/rhdisk8\" is shared
\"/dev/rhdisk9\" is shared
Shared storage check was successful on nodes \"server2,server1\"
Verification of shared storage accessibility was successful.
如果希望了解runcluvfy.sh脚本的使用方法,可以通过下面的方式获取帮助信息:
$ ./runcluvfy.sh -help
$ ./runcluvfy.sh stage -help
$ ./runcluvfy.sh comp -help
因篇幅问题不能全部显示,请点此查看更多更全内容