这次要为一个系统搭建一个AIX平台的RAC环境,尝试不依赖于AIX平台的HACMP软件管理LVM作为RAC的存储方式。主要的考虑是:
1.使用HACMP增加的RAC环境的部署难度、结构上的复杂度,使用ASM管理数据更加的直接,性能也可能会更好。
2.使用HACMP增加了管理难度。
3.ASM本省就实现了LVM的功能,且在高版本中较为稳定。
基于以上几点的考虑决定在搭建AIX平台的RAC环境的时候不使用HACMP管理LV的方式存储数据。RAC环境依赖于共享存储,共享存储的划分一般有两种情况,要么存储工程师划一个很大的磁盘挂载到RAC节点,要么是划很多很小的磁盘挂载到RAC节点。如果不使用HACMP管理LV,那么必须得到存储工程师的配合,在划分存储的时候要划出多个不同大小的磁盘,因为如果只划分了一个较大的磁盘挂载到RAC节点,服务器没法将其再划分成多个小的分区(这是使用HACMP管理LV实现的功能)。下面是一个磁盘划分的列表:
磁盘类型
磁盘大小
磁盘个数
存储方式
磁盘号
表决磁盘
200M
200M*3
共享
13-15
OCR
300M
300M*2
共享
16-17
数据文件
500G
50G*10
共享
2-11
归档
100G
100G*1
各自100G
12
备份
100G
100G*1
单边
18
上面存储工程师根据存储不同类型的文件划分的不同大小的磁盘挂载到RAC节点。这样执行lspv就能看到多个磁盘(磁盘号0和1是本地磁盘),其中归档和备份没有使用共享存储,为每个节点单独划分了归档空间,备份空间只能任意挂载到其中一个节点。
下面是整个安装过程:
1.安装前准备
1.1.安装环境
节点1
节点2
服务器型号
IBM P740
IBM P740
服务器内存大小
16G
16G
1.2.Hosts配置
1.3.SSH搭建
1.4.压缩工具部署
上传unzip_aix.Z到/usr/bin下
解压缩:
#uncompress unzip_aix.Z
#ls unzip_aix
unzip_aix
#chmod 751 unzip_aix
#pwd
/usr/bin
改名:
#mv unzip_aix unzip
1.5.图形化环境搭建
1.6.系统参数调整
网络参数调整:
/usr/sbin/no -r -o ipqmaxlen=512
/usr/sbin/no -p -o rfc1323=1
/usr/sbin/no -p -o sb_max=1310720
/usr/sbin/no -p -o tcp_recvspace=65536
/usr/sbin/no -p -o tcp_sendspace=65536
/usr/sbin/no -p -o udp_recvspace=655360
/usr/sbin/no -p -o udp_sendspace=65536
资源限制参数调整:
修改/etc/security/limits.conf文件
oracle:
fsize = -1
data = -1
stack = -1
core = -1
fsize_hard = -1
cpu_hard = -1
data_hard = -1
stack_hard = -1
core_hard = -1
rss = -1
nofiles = 4000
进程数调整:
Verify that the maximum number of processes allowed for each user is set to 2048 or
greater:
1. Enter the following command:
# smit chgsys
2. Verify that the value shown for Maximum number of PROCESSES allowed for
each useris greater than or equal to 2048.
If necessary, edit the existing value.
3. When you have finished making changes, press F10 to exit.
1.7.创建用户和组
创建组:
mkgroup oinstall
mkgroup dba
mkgroup oper
mkgroup hagsuser (如果使用HACMP需要有这个用户)
创建用户:
smit security(primary group oinstall,group setdba,oper)
passwd oracle
验证nobody用户是否存在:
id nobody
smit security
/usr/sbin/useradd nobody执行用户属性配置:
#chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE,CAP_NUMA_ATTACH oracle
#lsuser -a capabilities oracle
这个属性的设置是非常重要的,下面的文章讨论的是未设置此属性出现的问题:
http://space.itpub.net/23135684/viewspace-631065
下面4.5小节内容讨论的内存锁定也需要设置此用户属性。
1.8.环境变量设置
注意设置以下的环境变量:
export AIXTHREAD_SCOPE=S
1.9.创建目录
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/crs
mkdir -p /u01/app/oracle/db_1
mkdir -p /u01/soft
chown -R oracle:oinstall /u01
chmod -R 775 /u01
1.10.配置用户等效性
1.11.系统安装要求
1.12.配置时间同步
1.13.系统文件集安装
bos.adt.base
bos.adt.lib
bos.adt.libm
bos.adt.prof
bos.perf.libperfstat
bos.perf.perfstat
bos.perf.proctools
bos.cifs_fs.rte
bos.rte.lvm(AIX 5.3 TL06 or newer (specifically bos.rte.lvm must be at least 5.3.0.60))
rsct.basic.rte
rsct.basic.hacmp
rsct.compat.clients.rte
xlC.aix50.rte 7.0.0.4 (或更高版本)
xlC.rte 7.0.0.1 (或更高版本)
1.14.操作系统TL升级
1.15.系统补丁安装
无
1.16.Oracle补丁安装
在AIX6.1上部署RAC,部署之前都要先安装p6718715_10203_AIX64-5L.zip
1.17.CVU验证
./runcluvfy.sh stage –pre crsinst –n node1,node2
1.18.对ASM磁盘属性的修改
具体步骤参考文章:http://space.itpub.net/23135684/viewspace-659998
注意修改RAC所有节点/dev/目录下所有要用于Clusterware磁盘文件、ASM磁盘组的,以r开头的磁盘字符设备文件的所有者和组权限。
2.安装Clusterware和Database
3.升级Clusterware和Database
4.数据库调整
4.1.UNDO表空间调整
4.2.Redo表空间调整
4.3.临时表空间调整
4.4.实例参数调整
4.5.内存锁定
#vmo -po v_pinshm=1
#vmo -po maxpin%=80(根据实际需要来设置)
#chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle(使用lsuser -a capabilities oracle命令可以查看oracle用户设置的此属性)
#vmo -po lgpg_size=16777216 -o lgpg_regions=64(16777216=16M*64=1024M内存,lgpg_size根据实际的内存和数据库实例SGA的大小来设置)
#bosboot -a
SQL> alter system set pre_page_sga=true scope=spfile;
SQL> alter system set lock_sga=true scope=spfile;
重启服务器。
启动数据库实例。
以上是对这次AIX RAC环境部署的总结。上面的过程列出了部署中的重点,RAC的部署是一个复杂的过程,除了上面的内容外,还涉及测试、 备份策略、上线后的监控等内容。
--end--