2 准备集群


2 准备集群

==============

要安装RAC的集群软件,必须要配置网络,同时需要有系统管理员root权限

安装ORACLE集群大致需要以下步骤

1、检查系统需求
2、准备服务器
3、配置网络
4、准备操作系统和需要的软件
5、配置安装目录和共享存储

=================

1、检查系统需求

在安装RAC前要检查系统需求,要做3方面的检查

检查硬件
检查网络
确认操作系统和软件需求

-----------

硬件需求

物理内存最少1g
swap 最少2g
临时空间最少400m
cpu要能够兼容oracle软件

《补充》:在安装oracle的过程中,OUI启动后也会检查系统需求,并会回馈检测信息

另外至少需要1.5g的空间来作为oracle的home目录来安装oracle软件
同时还需要至少1.5g的共享存储作为ASM的home目录
同时还需要120m的空间来安装oracle的cluster软件
为了更好的性能和保护,最好要对cluster软件进行多工复用,并放在不同的磁盘上

oracle的RAC数据库是共享的数据库
所有RAC环境中的数据文件、控制文件、在线日志文件以及服务器的参数文件都存放在共享存储中
====================

为了获得更好的性能和稳定性,可以选择以下组件

voting disk
管理集群中的所有成员并在节点网络故障时仲裁集群的归属
voting disk是存放在共享存储中的一个文件
为了高可用性,oracle建议要使用多个表决磁盘,表决磁盘的数量为奇数
如果使用单个表决磁盘,则需要在文件系统级别做镜象来多工

oracle cluster registry(OCR)
用来保存集群内所有节点的配置信息
ocr还记录集群环境中节点和实例间的关系,服务与数据库间的关系
ocr同样记录集群软件控制的进程的信息
ocr存放在共享磁盘中,并能被所有节点访问

出于高可用考虑,ocr也需要做多工复用

空间需求:
两个ocr文件需要两个256m,即512m的空间
三个voting disk文件需要3个256m,即768m的磁盘空间

==================

确认网络需求

oracle的RAC包括两个或更多的通过私有网络连接的节点
集群服务器通过私有网络同步实例间的共享资源
oracle还通过私有网络在实例间传送共享的块,以减少物理读

oracle集群需要集群中的节点通过私有网络连接
私有网络是独立的,专门用于集群中节点间通讯的网络
集群外的节点不能通过私有网络访问

配置RAC网络时,集群内的每个节点需要满足以下条件
1、每个节点需要有2块网卡或者2个网络代理,其中一个是用于公共网络,另一个用于私有网络
2、每个节点必须有3个ip地址
3、每个节点需要有带有网络别名的虚拟ip(VIP),这个虚拟ip必须是和公共ip(public ip)在同一网段
4、所有节点的公共接口应该是相同的,如节点一的public ip为eth0,节点2的public ip也应该是eth0
5、所有节点的私有接口也应该是相同的
6、在私有网络中,所有节点间必须是相互畅通的

====================

验证操作系统和软件需求

检查内核版本
检查需要的rpm包和组件

要比文档要求的版本高才可以

=====================

准备服务器

配置操作系统用户和组

安装RAC需要的用户组包括
dba
oinstall
安装RAC需要的用户包括
oracle
nobody

具体创建方法

========================

配置secure shell

当安装RAC的时候,软件是在一个节点上安装,OUI通过密钥将软件以二进制的形式传送到其他节点
所以多个节点间必须能够对等通信

再配置监听和创建数据库的时候,需要使用scp和ssh命令,确认在相应的bin下有这两条命令

《注意》
在配置对等用户的时候,不要从root用户su到oracle,要重新以oracle登陆

rac1-> mkdir ~/.ssh
rac1-> chmod 700 ~/.ssh
rac1-> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/export/home/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /export/home/oracle/.ssh/id_rsa.
Your public key has been saved in /export/home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
87:54:4f:92:ba:ed:7b:51:5d:1d:59:5b:f9:44:da:b6 oracle@rac1.mycorpdomain.com
rac1-> ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/export/home/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /export/home/oracle/.ssh/id_dsa.
Your public key has been saved in /export/home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
31:76:96:e6:fc:b7:25:04:fd:70:42:04:1f:fc:9a:26 oracle@rac1.mycorpdomain.com 

在 rac2 上执行

rac2-> mkdir ~/.ssh
rac2-> chmod 700 ~/.ssh
rac2-> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/export/home/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /export/home/oracle/.ssh/id_rsa.
Your public key has been saved in /export/home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
29:5a:35:ac:0a:03:2c:38:22:3c:95:5d:68:aa:56:66 oracle@rac2.mycorpdomain.com
rac2-> ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/export/home/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /export/home/oracle/.ssh/id_dsa.
Your public key has been saved in /export/home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
4c:b2:5a:8d:56:0f:dc:7b:bc:e0:cd:3b:8e:b9:5c:7c oracle@rac2.mycorpdomain.com

在 rac1 上执行
rac1-> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
rac1-> cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
rac1-> ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
The authenticity of host 'rac2 (192.168.2.132)' can't be established.
RSA key fingerprint is 63:d3:52:d4:4d:e2:cb:ac:8d:4a:66:9f:f1:ab:28:1f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac2,192.168.2.132' (RSA) to the list of known hosts.
oracle@rac2's password:
rac1-> ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
oracle@rac2's password:
rac1-> scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
oracle@rac2's password:
authorized_keys                           100% 1716     1.7KB/s   00:00

创建方法如上所示,如果两边oracle的home目录不一样,要注意路径的问题

===========================

设置环境变量

在oracle的home目录下编辑相应的profile文件

===========================

配置网络

oracle的集群要求集群中的各节点要能通过私有网络连接
同时也要能通过公有网络连接

为了确保集群中从一个节点能够连同另外的节点,要注意以下条件:
 1、确认集群名,集群名称必须满足以下条件
 a、集群名是唯一的
 b、最少1个字符,最多15个字符
 c、集群名是由‘-’ 、‘_’、‘a-z’、‘A-Z’、‘0-9’组成的
2、确认public,private,virtual节点名称
 a、public节点名可以使用服务器的hostname
 b、确认各节点的private节点名、私有ip地址。节点名可以使用hostname-priv的形式
 c、确认各节点的虚拟节点名、虚拟ip地址,使用hostname-vip的形式
3、再次确认各节点ip分配是否正确
 使用命令
 #/sbin/ifocnfig
4、公有ip使用相同的公共接口,私有ip使用相同的私有接口,并确保两者不在同一代理
 确保正确配置DNS,如果没有配置的话要确保/etc/hosts 中有所有私有ip和节点别名的信息
5、在每个节点上配置虚拟ip,并使虚拟ip满足以下条件:
 a、ip没有被使用
 b、与公有ip在同一网段

所有的ip和别名都配置成功后可以使用ping来测试
不过vip是由cluster软件管理的,只有在cluster软件安装配置成功后才能ping通

确保能够ping通网关。
#/sbin/route

===========================

准备操作系统和软件

设置各节点服务器时间,最好使用NTP时间模式。
各节点时间如果相差太大的话,在安装过程中,软件从主节点传向从节点的时候会报错

设置内核参数,解除内存的限制

设置相关操作系统的设置
不同操作系统安装oracle的RAC时都有特定的设置,如
windows要开启telnet服务
HP-UNIX需要建立X library的同意连接等

============================

配置安装目录和共享存储

在运行OUI进行安装前,还需要确定以下事情

确定共享存储解决方案
配置裸存储设备并分区
选择oracle的base目录
选择oracle的clusterware的home目录

------------------

确定共享存储解决方案

集群中的节点都需要外部共享存储来存放oracle的OCR和votingdisk以及数据库文件
被支持的共享存储的类型由使用的操作系统决定

如:Oracle Cluster File System(ocfs)支持windows和linux
General Parallel File System(gpfs)支持IBM的操作系统
Network File System在AIX系统中不被支持,但可以在IBM的z linux中使用
oracle提供的ASM(oracle建议使用)

:oracle的集群软件不能存储在ASM中
号称11g第二版的rac废除裸设备,同时解决集群软件在ASM中存储的问题

如果不能使用NFS或者其他集群文件系统,还可以选择裸设备来存储oracle的集群软件文件
裸设备是还没有建立文件系统的磁盘,他也可以作为共享磁盘使用
裸设备的名字在目录/dev/raw/rawn中

[root@rac1 raw]# pwd
/dev/raw
[root@rac1 raw]# ls
raw1  raw2  raw3

另外,如果选择使用ocfs来存储集群软件,还要注意使用的ocfs的版本
ocfs v1支持RedHat Linux 2.4
ocfs v2支持RedHat linux 2.6

-----------------------

配置裸存储设备和分区

在想建立裸设备的物理磁盘上必须进行分区

在安装oracle的clusterware前,首先要建立5个裸分区,每个256m,分别用来存储
ocr
ocr的镜象
votingdisk
votingdisk的镜象1
votingdisk的镜象2
如果使用锣设备来存储数据库文件,那么需要为每个表空间、在线日志文件、控制文件以及参数文件和口令文件建立另外的裸分区

在RedHat Linux as 4 中按照以下步骤来配置裸分区

1、root用户通过#/sbin/fdisk -l
来查看设备名称以及空间大小和柱面分配情况
可以使用独立的磁盘来作为一个分区,也可以在一块磁盘上做多个分区,不过在分区的时候要注意柱面的分配情况

2、在一个节点上以root身份执行
#/sbin/fdisk devicename
如:
#/sbin/fidk /dev/sdb
输入m为帮助
p是列出设备的分区表
n是建立新的分区
w是保存所做过的分区

下面将会有一个创建256m的分区的例子
# /sbin/fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF
disklabel
Building a new DOS disklabel. Changes will remain in memory only, until you
decide to
write them. After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): p

Disk /dev/sdb: 1073 MB, 107341824 bytes
34 heads, 61 sectors/track, 1011 cylinders
Units = cylinders of 2074 * 512 = 1061888 bytes

 Device boot Start End Blocks ID System

Command (m for help): n
Command action
 e extended
 p primary partition (1-4)
p

Partition number (1-4): 1
First cylinder (1-1011, default 1):
Using default value 1
Last cylinder of +size or +sizeM or +sizeK (1-1011, default 1011): +256M

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
#

3、重复以上步骤,继续分区
#/sbin/fiskd /dev/sdc

4、继续建立分区
因为是在做ocr和votingdisk的分区,为了高可用,尽量让所有的分区在不同的磁盘上

5、以root身份在操作的节点上编辑
/etc/sysconfig/rawdevices
添加裸分区的信息以及asm的信息:
如下:
# raw device bindings
# format:
#
# example: /dev/raw/raw1 /dev/sda1
# /dev/raw/raw2 8 5
#OCR Devices
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdc1
#Voting Disk Devices
/dev/raw/raw3 /dev/sdd1
/dev/raw/raw4 /dev/sde1
/dev/raw/raw5 /dev/sdf1
#ASM Disk Devices
/dev/raw/raw6 /dev/sdg
/dev/raw/raw7 /dev/sdh
/dev/raw/raw8 /dev/sdi

6、为了使裸分区的设置生效,以root身份执行
/service rawdevices start

7、以root身份编辑节点2的
/etc/sysconfig/rawdevices
之后运行
/service rawdevices start
使设置生效

8、修改磁盘以及文件的owner和属性

chown root:oinstall /dev/raw/raw[1-2]
chown oracle:oinstall /dev/raw/raw[3-5]
chmod 640 /dev/raw/raw[1-2]
chmod 640 /dev/raw/raw[3-5]
chown oracle:dba /dev/sdg
chown oracle:dba /dev/sdh
chown oracle:dba /dev/sdi
chmod 660 /dev/sdg
chmod 660 /dev/sdh
chmod 660 /dev/sdi

========================

在RedHat Linux 4上配置裸设备

1、输入下面的命令确认裸设备是可以使用的

 #chkconfig --list
 
2、扫描输出的裸设备,如果认不到裸设备,直接输入下面的命令激活裸设备的服务

#config -- level 345 rawdevices on

3、当确认裸设备可用后,需要修改裸设备的归属属性
当重启linux系统后,系统默认裸设备的属组是root用户,
如果是使用oracle用户使用裸设备中的集群软件文件的话,需要按照以下进行操作

进入目录
/etc/udev/permissions.d

[oracle@rac1 permissions.d]$ ls
50-udev.permissions

可以修改其中关于裸设备的信息
到如下

# raw devices
ram*:root:disk:0660
raw/*:oracle:dba:0660

:原来的属组都是root的,改成oracle:dba就可以了

文档上说也可以重新建立
oracle.permissions

内容如下:
# OCR
raw/raw[12]:root:oinstall:0640
# Voting Disks
raw/raw[3-5]:oracle:oinstall:0640
# ASM
raw/raw[67]:oracle:dba:0660

都可以

4、设置完成后,重启系统后就会正确设置裸设备的属组
如果想要使设置立即生效,需要手动使用chown和chmod来修改属组

chown root:oinstall /dev/raw/raw[12]
chmod 640 /dev/raw/raw[12]
chown oracle:oinstall /dev/raw/raw[3-5]
chmod 640 /dev/raw/raw[3-5]
chown oracle:dba /dev/raw/raw[67]
chmod 660 /dev/raw/raw[67]

======================

修改oracle的base目录
正确配置ORACLE_BASE目录
至少要有1.5G的可用空间
各个节点的ORACLE_BASE目录必须是一致的

修改oracle clusterware的home目录
至少要有1.5G的可用空间
各个节点的ORACLE_BASE目录必须是一致的
确认clusterware的home目录不是ORACLE_BASE目录的子目录

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13177610/viewspace-677890/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13177610/viewspace-677890/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值