第一部分:Oracle Grid Infrastructure 安装
- Grid Infrastructure典型安装过程
安装执行脚本:在使用11.2OUI安装时,会自动生成runfixup.sql脚本,运行此脚本完成必须的安装准备的必要任务。
runfixup.sql脚本在安装过程中生成,使用root身份运行,它执行以下任务:
- 设置内核参数;
- 为Oracle 产品目录和系统权限配置安装Owner的主要组与次要组;
- 设置shell权限
- 安装准备所必须的手动任务
- 校验必须系统配置
内存空间:至少2GB
grep MemTotal /proc/meminfo
交换攻击:等于内存,或是内存的2倍
grep SwapTotal /proc/meminfo
磁盘空间:至少2G的共享磁盘空间存储群集共享文件,至少6.5GB的磁盘空间存储Grid infrastructure安装文件
df –h
临时空间:至少1GB
df -h /tmp
-
- 检查网络要求
- Single Client Access Name (SCAN):为群集使用的单一的客户访问名称
- IP Address Requirements:至少配置两个接口,一个用于私有网络,一个用于公有网络
- 每节点配置一个公有IP地址:
静态IP地址
在安装前配置完成可用
公有IP,虚拟IP,SCAN IP地址在同一个子网内
- 每节点配置一个虚拟IP
静态IP地址
在安装配置前可用
公有IP,虚拟IP,SCAN IP地址在同一个子网内
- SCAN IP
使用DNS在安装之前配置3个静态IP地址,三个IP地址关联SCAN名,并且有DNS提供随机访问
在安装前配置DNS解析
配置一个SCAN名,不能以数字开头
与公有IP,虚拟IP,SCAN IP地址在同一个子网内
符合RFC 952标准,可以使用“-”,不能使用“_”
- 每节点配置一个私有IP
静态IP地址
一个独立的私有子网,仅可被其他群集成员访问
- 冗余互联
在早期的版本,冗余互联只能使用bonding,trunking,teaming等类似的技术实现。从11.2.0.2 开始Oracle可以直接实现冗余互联,不需要其它技术。内部冗余可以使用多大4个私有网络实现
- 网络接口规划
在安装过程中确认每个网络接口是公有,私有还是不使用。
冗余互联不能用户公有接口,如果需要高可用或负载均衡使用第三方解决方案,如:bonding,trunking,teaming等类似的技术
冗余互联可用于私有网络
-
- 检查操作系统包
- 建立组和用户
groupadd -g 1000 oinstall
groudadd –g 1031 dba
useradd –u 1101 –g ointall –G dba oracle
mkdir –p /u01/app/11.2.0/grid
mkdir –p /u01/app/oracle
chown –R oracle:oinstall /u01
chmd –R 775 /u01/
-
- 检查存储
在Oracle ASM中应该足够的空间放置Oracle Clusterware files (voting disks and Oracle Cluster Registries), and for Oracle Database files。新的Oracle Clusterware files不在支持块或raw设备。
-
- ASM存储准备
安装ASMLIB PRMs简化存储管理,ASMLIB为Oracle ASM使用的存储设备提供固定的路径和权限,消除设备文件的影响。
ASMLIB 2.0包含以下3个LINUX包
oracleasmlib-2.0 - the Oracle ASM libraries
oracleasm-support-2.0 - utilities needed to administer ASMLib
oracleasm - a kernel module for the Oracle ASM library
-
- 使用Oracle Unbreakable Linux Network (ULN)时可自动安装ASMLIB
up2date -i oracleasm-support oracleasmlib oracleasm-'uname -r'
-
- 手动安装ASMLIB
- 确认正确的ASMLIB包
- 手动安装ASMLIB
uname –rm
-
-
- 下载并安装ASMLIB包
-
http://www.oracle.com/technetwork/server-storage/linux/downloads/index-088143.html
-
-
- 配置ASMLIB包
-
oracleasm configure –i #不带-i时显示当前配置
-
- 标记ASM候选盘
oracleasm createdisk ASM_DISK_NAME candidate_disk
例:oracleasm createdisk data1 /dev/sdb
./runInstaller
本节描述了为使用群集安装Gird infrastructure,在开始OUI之前所必须完成的配置任务。
- Linux操作系统准备
- 最小限度安装Linux:
如果安装ULN使用up2date校验最小Linux安装包,如果安装RHN下载Index of /el5/oracle-validated工具校验最小Linux安装包。
Oracle安装必须使用SSH,检查SSH是否安装
rpm -qa |grep ssh
-
- 使用默认方式安装Linux
如果没有Oracle校验工具那么建议是用默认的Linux安装,这个安装将会安装大多数必须的包,并检查他们的相关性。
-
- 关于Oracle Validated Configuration RPM工具(可选)
- 自动安装Oracle需要的附加包
- 建立Oracle用户和组
- 设置并校验sysctl.conf
- 为ULN安装Oracle Validated Configuration RPM(可选)
up2date --nox --show-channels
up2date --install oracle-validated
- 安装fixup脚本(可选)
./runcluvfy.sh stage -pre crsinst -n node1,node2 -fixup -verbose
- 建立组、用户和路径
- 确定Oracle inventory和Oracle Inventory 组是否存在
more /etc/oraInst.loc
grep oinstall /etc/group
-
- 建立Oracle Inventory组(当不存在时)
/usr/sbin/groupadd -g 1000 oinstall
-
- 建立Oracle Inventory用户
当Oracle software Owner不存在或是Oracle software Owner但是想使用独立的用户安装Grid Infrastrusture时需要创建Oracle Inventory用户
-
- 确定Oracle Software软件安装目录是否存在
id oracle
-
- 为Grid Infrestructure建立或修改Oracle Software Owner
- 建立gird owner
- 为Grid Infrestructure建立或修改Oracle Software Owner
/usr/sbin/useradd –u 1100 –g ointalll –G dba grid
usermod –u 1001 –g 1000 –G 1000,1001 oracle
-
-
- 设置grid密码
-
passwd grid
-
- 建立Oracle Base目录
# mkdir -p /u01/app/11.2.0/grid
# mkdir -p /u01/app/grid
# mkdir -p /u01/app/oracle
# chown grid:oinstall /u01/app/11.2.0/grid
# chown grid:oinstall /u01/app/grid
# chown oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/
# chown -R grid:oinstall /u01
-
- 如何分配不同的权限组
dba:组成员具有sysdba权限
oper:组成员具有sysoper权限
asmadmin:组成员具有sysasm权限,用于管理asm实例
asmdba:组成员具有asm权限,用于安装与管理asm文件
asmoper:组成员具有asmoper权限
-
- 建立不同的权限组(完整的创建组、用户和安装目录)
# groupadd -g 1000 oinstall
# groupadd -g 1020 asmadmin
# groupadd -g 1021 asmdba
# groupadd -g 1031 dba
# groupadd -g 1022 asmoper
# useradd -u 1100 -g oinstall -G asmadmin,asmdba grid
# useradd -u 1101 -g oinstall -G dba1,asmdba oracle
# mkdir -p /u01/app/11.2.0/grid
# mkdir -p /uo1/app/grid
# chown -R grid:oinstall /u01
# mkdir -p /u01/app/oracle1
# chown oracle1:oinstall /u01/app/oracle1
# mkdir -p /u01/app/oracle2
# chown oracle2:oinstall /u01/app/oracle2
# chmod -R 775 /u01
- 检查硬件要求
- 常规服务器要求
- 服务器必须有相同的体系结构,32-bit或64-bit
- 确保服务器运行在level 3或level 5
- 确保服务器运行在相同的operating system bianry
- 服务器硬件要求
为了OUI正常的显示,至少1024*768的分辨率
1GB的/tmp临时空间
6.5GB的grid Infrastructure存储空间
x86平台需要4GB的数据库存储空间,x64平台4.6GB存储空间
-
- 服务器内存要求
Available RAM | Swap Space Required |
Between 2 GB and 8 GB | 2 times the size of RAM |
Between 8 GB and 32 GB | 1.5 times the size of RAM |
More than 32 GB | 32 GB of RAM |
-
- 检查服务器硬件和内存配置
grep MemTotal /proc/meminfo #检查内存
grep SwapTotal /proc/meminfo #检查交换空间
df -k /tmp #检查临时空间
free #检查空闲的内存交换空间
uname –m #检查操作系统体系结构
-
- 检查网络要求
- 网络硬件要求
- 检查网络要求
- 每个节点至少2块网卡,一块用于公有网络,一块用于私有网络。但使用冗余互联时,可以定义多块网卡用于私有网络,Oracle群集件建立1-4个高可用的IP地址,Oracle RAC和ASM能够使用这些地址确保节点间的高可用性和负载均衡通信。
- 默认情况下Oracle使用所有的HAIP地址用于私有网络通信,
- 如果使用第三方技术为公有网络配置多个接口,那么必须为联合接口指定单一的接口名称。
- 安装RAC是所有节点的网络接口必须相同,如:节点一的公有网络使用eht0,那么节点二的公有网络也必须使用eth0
- 每个节点公有网络必须支持TCP/IP
- 对于私有网络必须支持UDP,并至少为1G ethernet。私有网络应使用交换机连接
- 每个节点的私有接口互联必须处于同一子网
- 所有分配的互联接口必须完全可达
-
- IP地址要求
- 有两种方式配置IP地址:
- IP地址要求
-
- 使用Grid Naming Service(GNS)动态配置IP地址,当使用这种方式是,分配静态IP地址给主机名,分配动态IP地址给群集VIP。因此必须具备一台DHCP服务器,以及至少包含每个节点1个IP地址,3个IP地址给SCAN的地址池。
- 使用静态分配IP地址,对于主机名和VIP都使用静态IP,并通过DNS或HOSTS文件解析。
注:Oracle only supports DHCP-assigned networks for the default network, not for any subsequent networks
-
-
-
- 手工配置IP地址
-
-
- 每节点配置一个公有IP地址:
静态IP地址
在安装前配置完成可用
公有IP,虚拟IP,SCAN IP地址在同一个子网内
- 每节点配置一个虚拟IP
静态IP地址
在安装配置前可用
公有IP,虚拟IP,SCAN IP地址在同一个子网内
- SCAN IP
使用DNS在安装之前配置3个静态IP地址,三个IP地址关联SCAN名,并且有DNS提供随机访问
在安装前配置DNS解析
配置一个SCAN名,不能以数字开头
与公有IP,虚拟IP,SCAN IP地址在同一个子网内
符合RFC 952标准,可以使用“-”,不能使用“_”
- 每节点配置一个私有IP
静态IP地址
一个独立的私有子网,仅可被其他群集成员访问
-
-
-
- SCAN配置
-
-
- 使用SCAN能够灵活的增加删除节点,而不需要修改客户端配置
- SCAN支持DNS和HOSTS文件,但是推荐使用DNS,使用HOSTS文件时,SCAN只能使用单一IP地址配置
-
- Oracle Grid Infrastructure必须Broadcast communications (ARP and UDP)支持,不论公有网络还是私有网络(11.2.0.2后)
- Oracle Grid Infrastructure必须Multicast Requirements支持,对于私有网络(11.2.0.2后)
- 为GNS配置DNS委托
- 在DNS建立GNS虚拟IP
-
mycluster-gns.example.com A 192.0.2.1
-
-
-
- 配置GNS子域转发
-
-
cluster01.example.com NS mycluster-gns.example.com
-
-
-
- 在群集节点上配置resolve.conf域名解析服务器
-
-
options attempts: 2
options timeout: 1
search cluster01.example.com example.com
nameserver xxx.xxx.xxx.42
nameserver xxx.xxx.xxx.15
-
-
-
- 在/etc/nsswitch.conf配置名称解析的顺序,由于SCAN使用NIS可能存在问题,因此Oracle建议NIS放置到最后
-
-
hosts: files dns nis
-
- GNS配置例子
Identity | Home Node | Host Node | Given Name | Type | Address | Address Assigned By | Resolved By |
GNS VIP | None | Selected by Oracle Clusterware |
| virtual | 192.0.2.1 | Fixed by net administrator | DNS |
Node 1 Public | Node 1 |
|
| Public | 192.0.2.101 | Fixed | GNS |
Node 1 VIP | Node 1 | Selected by Oracle Clusterware |
| Virtual | 192.0.2.104 | DHCP | GNS |
Node 1 Private | Node 1 |
|
| Private | 192.168.0.1 | Fixed or DHCP | GNS |
Node 2 Public | Node 2 |
|
| Public | 192.0.2.102 | Fixed | GNS |
Node 2 VIP | Node 2 | Selected by Oracle Clusterware |
| Virtual | 192.0.2.105 | DHCP | GNS |
Node 2 Private | Node 2 |
|
| Private | 192.168.0.2 | Fixed or DHCP | GNS |
SCAN VIP 1 | none | Selected by Oracle Clusterware |
| virtual | 192.0.2.201 | DHCP | GNS |
SCAN VIP 2 | none | Selected by Oracle Clusterware |
| virtual | 192.0.2.202 | DHCP | GNS |
SCAN VIP 3 | none | Selected by Oracle Clusterware |
| virtual | 192.0.2.203 | DHCP | GNS |
-
- 手工配置IP地址例子
Identity | Home Node | Host Node | Given Name | Type | Address | Address Assigned By | Resolved By |
Node 1 Public | Node 1 |
|
| Public | 192.0.2.101 | Fixed | DNS |
Node 1 VIP | Node 1 | Selected by Oracle Clusterware |
| Virtual | 192.0.2.104 | Fixed | DNS and hosts file |
Node 1 Private | Node 1 |
|
| Private | 192.168.0.1 | Fixed | DNS and hosts file, or none |
Node 2 Public | Node 2 |
|
| Public | 192.0.2.102 | Fixed | DNS |
Node 2 VIP | Node 2 | Selected by Oracle Clusterware |
| Virtual | 192.0.2.105 | Fixed | DNS and hosts file |
Node 2 Private | Node 2 |
|
| Private | 192.168.0.2 | Fixed | DNS and hosts file, or none |
SCAN VIP 1 | none | Selected by Oracle Clusterware | mycluster-scan | virtual | 192.0.2.201 | Fixed | DNS |
SCAN VIP 2 | none | Selected by Oracle Clusterware | mycluster-scan | virtual | 192.0.2.202 | Fixed | DNS |
SCAN VIP 3 | none | Selected by Oracle Clusterware | mycluster-scan | virtual | 192.0.2.203 | Fixed | DNS |
-
- 配置多个私有互联接口
- 在2.6.31以上内核的LINUX使用多块NIC做内部互联是存在bug,必须配置rp_filter参数解决这个问题。
- rp_filter 设置 Reverse Path filter为 no filtering (0), to strict filtering (1), or to loose filtering (2)。私有内部网络必须设置成0或2 。公有网络可以设置成1。在/dev/sysctl.conf中配置
net.ipv4.conf.eth2.rp_filter = 2
net.ipv4.conf.eth1.rp_filter = 2
net.ipv4.conf.eth0.rp_filter = 1
-
- Name Service Cache Daemon (nscd)
为了使群集更好的处理网络失败,是能nscd。
-
-
- 检查nscd启动配置,nscd应该运行在level 3和5
-
# chkconfig --list nscd
nscd 0:off 1:off 2:off 3:on 4:off 5:off 6:off
-
-
- 设置nscd启动配置
-
On Red Hat and Oracle Linux 4 and 5:
# chkconfig --level 35 nscd on
On SUSE SLES10 and11:
# chkconfig --level 35 nscd on
-
-
- 启动nscd
-
service nscd start|restard