一、准备工作,实验环境如下
1.实验环境通过在笔记本上的vmvare workstation 11来搭建,共享存储可以通过本地磁盘虚拟:
HOSTNAME | RAC1 | RAC2 |
Platform | VM workstation 11 | VM workstation 11 |
OS | Oracle Linux 5.11 | Oracle Linux 5.11 |
Memory | 2.2G | 2.2G |
Private IP | eth0:10.10.10.2 | eth0:10.10.10.3 |
Public IP | eth1:192.168.2.2 | eth1:192.168.2.3 |
VIP | 192.168.2.212 | 192.168.2.213 |
SCAN IP | 192.168.2.200 | |
OS storage (20G) | D:\download\iso\olinux5-1\Oracle-Linux-5-1.vmdk | D:\download\iso\olinux5-2\Oracle-Linux-5-1.vmdk(直接拷贝rac1的文件) |
ASM Storage 每个10G | D:\download\iso\racdisk\asm1.vmdk | D:\download\iso\racdisk\asm1.vmdk |
D:\download\iso\racdisk\asm2.vmdk | D:\download\iso\racdisk\asm2.vmdk | |
D:\download\iso\racdisk\asm3.vmdk | D:\download\iso\racdisk\asm3.vmdk | |
Grid software | linux.x64_11gR2_grid |
2.实验总体拓扑图如下:
二、实验环境搭建步骤如下
1. 用vm11创建一个虚拟机,并安装oracle linux 5.11,操作系统镜像可以在oracle官网下载,具体步骤就不赘述啦,大家应该都会。
提示:oracle linux就是拿RHEL的源码编译的,除了一些oracle自己特有软件和RHEL没有区别;oracle的官网上可以下到最新和次新的各种oracle产品,只需要免费注册就好。
2. 安装完系统,还需要把grid 安装手册里面提到的依赖包都装上。
这些软件包在oracle linux 5.11的安装光盘内都有,可以配置本地yum源,然后通过yum源批量安装,具体步骤就省略啦,有兴趣的同学自行研究哈。
3. 按照规划的信息配置虚拟机的网卡eth0和eth1的IP地址,并且编辑/etc/hosts,按照如下内容添加:
SCAN:single client access name,SCAN IP是RAC集群对外的IP地址,客户端应用通过访问SCAN IP可以实现轮流访问RAC集群当中的节点,以达到负载均衡的。
4. 创建用户和用户组,按照以下规划创建grid和oracle两个用户
$ useradd –g grid –G dba,asmadmin,asmoper,oper,asmdba
$ useradd -g oinstall -G dba,asmadmin,asmoper,asmdba,asmoper grid
用户 用户组 | grid | oracle |
oinstall(主组) | √ | √ |
dba | √ | √ |
oper | √ | |
asmadmin | √ | |
asmdba | √ | √ |
asmoper | √ |
5. 创建grid和oracle软件安装的目录并配置相关的属组
mdkir -p /u01/grid
mkdir –p /u01/gridbase
mkdir –p /u01/oracle
chown –R grid:oinstall /u01
chown –R oracle:oinstall /u01/oracle
6. 调整用户grid的环境变量
$vi /home/grid/.bash_profile添加以下内容
ORACLE_HOME=/u01/grid
ORACLE_BASE=/u01/gridbase
ORACLE_SID=racdb1
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
DISPLAY=192.168.2.1:0.0 #定义这变量,可以在笔记本windows桌面启动xmanager来安装oracle的各项软件。
export ORACLE_HOME ORACLE_SID ORACLE_BASE PATH LD_LIBRARY_PATH
export DISPLAY
$vi /etc/profile添加以下内容,设置oracle和grid用户的默认umask为022,grid软件安装有这个要求。
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
7. 调整内核参数,这些参数要求可以在grid安装手册上找到。
7.1 vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
7.2 vi /etc/security/limits.conf 添加下列参数
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
#这些参数是设置最大连接数和最大可打开文件数目的相关参数,和HPUX都是共通的,大家应该不会陌生。
7.3 $vi /etc/pam.d/login添加session required pam_limits.so,这样让/etc/security/limits.conf中的内容生效。
7.4 设置tmpfs和shmfs的大小
$umount /dev/shm
$mount -t tmpfs shmfs -o size=3000m /dev/shm(还需要修改/etc/fstab才能保证重启后生效,设置的目的是因为linux上shared memoryfile system必须大于PGA和SGA,这俩参数各位自行研究~)
安装手册内容:
8. 系统上的配置都搞定了,现在就需要创建用做共享的磁盘的,这些磁盘的配置非常关键,vmvare workstation正常情况下是不能创建用作共享的虚拟磁盘的。在这里我走了挺多弯路的,最后用bing各种搜索,总算解决。具体步骤如下:
8.1 关机,编辑虚拟机配置,添加三块10g的盘给主机rac1,步骤如下截图所示,一定要按照截图中的选项来选择,否则就是走我的老路,各种失败,折腾人到崩溃啊。
8.2 创建完成3块虚拟磁盘之后,磁盘属性里面把新添加的3块虚拟磁盘的SCSI控制器修改为scsi1,避免和操作系统的虚拟磁盘在同一个SCSI控制器上。
8.3 现在需要在windows系统上找到虚拟机安装的位置,找到虚拟机的配置文件,然后用记事本打开,手动修改几个参数后,这些磁盘就可以用作共享磁盘,给RAC2使用了。
在配置文件中添加以下参数然后保存。
9. 重新打开虚拟机,开始配置asm。
9.1 安装asm的包,有3个包需要安装,其中asmlib的必须单独在oracle官网上才能下到,下载地址:
别的可以在系统盘上找到,也可以在以上网址上下载。
9.2 安装完asm后,做一下asm的初始化的配置
1)先在/dev/ll sd*查看扫到的新盘并用fdisk工具创建3个磁盘,效果如下:
2)oracleasm configure –i
3) oracleasm init
4)创建asm磁盘
oracleasm createdisk DISK1 /dev/sdb1
oracleasm createdisk DISK2 /dev/sdc1
oracleasm createdisk DISK1 /dev/sdd1
5)oracleasm scandisks扫盘
6)oracleasm listdisks确认asm磁盘已经创建完成。
三、创建好asm磁盘后,关闭虚拟机RAC1,然后开始克隆RAC1生产RAC2。
1)新建一个文件夹并命名为oraclelinux5-2,然后把RAC1虚拟机所在位置的文件夹olinux5-1内的所有文件全部拷贝到RAC2文件夹;拷贝完成后进入RAC2的文件夹下,双击配置文件就可以把RAC2导入到VM workstation。
2)导入后在vmware 11上两台虚拟机的名字是一样的,重命名即可。
3)同时启动两台虚拟机没有问题,那到这里RAC的两个节点和共享存储就搞定了,上篇到此而为之啦。