Oracle RAC 是 Oracle Real Application Clusters 的缩写,是最常用的 Oracle 数据库高可用技术之一。
熟悉 Oracle Real Application Clusters (RAC) 技术的最有效方法之一是访问一个实际的 Oracle RAC 集群。然而遗憾的是一个典型的两节点 RAC 的实际部署成本很高,对于许多初学者甚至有一定经验的 DBA 来说,都没有一个生产环境的 RAC 供自己学习使用。
正好临近春节不是很忙,我把自己之前实验的文档进行一些整理,供大家学习使用。该过程使用 openfiler 来模拟共享存储,通过 VMWare 虚拟化环境来模拟一套接近真实环境的 RAC 集群。当然,整个部署流程也会尽量贴近生产环境的部署流程,但是一些细节及优化可能不会那么细致,请见谅。
由于整个过程会很长,考虑到易读性,我把主要的几个步骤拆分成几篇不同的文章:
一、openfiler 2.99 安装指南
二、系统规划及操作系统初始化
三、Oracle Grid Infrastructure 安装指南
四、Oracle Database 安装指南
五、创建数据库
大家可以可以根据需要进行阅读。如果有问题可以给我留言,我会及时修正、补充。
后面有时间的话,我会再写一篇基于这个环境部署 ADG 的文章。
一、openfiler 2.99 安装指南
Openfiler 简介
Openfiler 由rPath Linux驱动,它是一个基于浏览器的免费网络存储管理实用程序,可以在单一框架中提供基于文件的网络连接存储 (NAS) 和基于块的存储区域网 (SAN)。Openfiler 支持 CIFS、NFS、HTTP/DAV 和 FTP。
Openfiler能把标准x86/64架构的系统变成一个强大的NAS、SAN存储和IP存储网关,为管理员提供一个强大的管理平台,并能能应付未来的存储需求。依赖如VMware,Virtual Iron和Xen服务器虚拟化技术,Openfiler也可部署为一个虚拟机实例。
Openfiler 的主要性能和优点:
● 可靠性 – Openfiler可以支持软件和硬件的RAID,能监测和预警,并且可以做卷的快照和快速恢复。
● 高可用性 – Openfiler支持主动或被动的高可用性集群、多路径存储(MPIO)、块级别的复制。
● 性能 – 及时更新的Linux内核支持最新的CPU、网络和存储硬件。
● 可伸缩性 – 文件系统可扩展性最高可超出60TB,并能使文件系统大小可以在线的增长。
安装 openfiler
下载 openfiler 2.99 系统镜像
创建虚拟机
、
这里创建的硬盘大小够安装操作系统即可,存储用的磁盘后面添加
安装操作系统
安装完操作系统后,重启进入登录界面,这里会给处于 WEB 登录地址
配置 openfiler 的 iscsi 的目标服务器
添加硬盘和第二块网卡
这里我们添加3块30G的硬盘做raid 5,生产环境,如果硬件做过raid,这里不需要做raid。
添加第二块网卡(添加双网卡是为了模拟多路径,如果不想模拟多路径可以不用加双网卡),网络连接模式选择自定义 VMnet2 ,VMnet2 在虚拟网络编辑器中进行自定义网段,这里指定为 192.168.100.0 。为做多路径实验做准备。
发现新增加的硬盘
echo '- - -' > /sys/class/scsi_host/host0/scan
查看网卡信息
ifconfig -a
给新增加的网卡配置 IP,注意根据实际情况修改
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth1
vi ifcfg-eth1
Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.100.255
HWADDR=00:0C:29:33:DC:3E
IPADDR=192.168.100.218
NETMASK=255.255.255.0
NETWORK=192.168.100.0
ONBOOT=yes
# 重启网络服务,使新增加的网卡配置生效
service network restart
# 查看配置是否生效
ifconfig -a
登录 web 界面
https://192.168.10.218:446
Username:openfiler
Password:password
配置 RAID
选择 Volumes
在右侧选择 Block Devices
分别点击新增加的 /dev/sdb 、 /dev/sdc 、 /dev/sdd 进行配置
Partition Type 选择 RAID array member ,点击 Create 创建分区
三块硬盘都创建完成后,选择右侧的 Software RAID ,创建 RAID
RAID 级别选择 RAID-5 ,选择刚才创建的三个分区,点击 Add array 创建 RAID
点击创建后,等待 RAID 创建完成,最后显示的 RAID 信息如下,可用容量57.21GB
创建卷组
选择右侧的 Volumes section
输入要创建的卷组名称,选择刚才创建的 RAID,点击 Add volume group 进行创建
创建逻辑卷
选择右侧的 Add Volume 创建逻辑卷
输入逻辑卷的名称、描述、大小,最后一项要选择 “block(iSCSI,FC,etc)”,点击 Create 创建
按照需要创建完逻辑卷后显示如下图
启动 iscsi 目标服务器
选择 Seervices
点击 iSCSI Target 后面的 Enable 和 Start ,把 iSCSI 打开,并设置自启动
配置访问控制列表
选择 System
在下方的网络访问配置里把两块网卡的地址段都配置进去,要配置地址段,不要配置地址,Name 可以根据实际需要填写即可
选择 Volemes
在右侧选择 iSCSI Targets
在 Add new iSCSI Target 下面点击Add
选择 LUN Mapping
把需要映射到主机上的逻辑卷都点击 Map
点击完成后显示如下图
选择 Network ACL
把两个网卡的网段都选择成 Allow ,并点击 Update
配置 iscsi 客户端
安装 iscsi-initiator-utils device-mapper-multipath
检查是否安装scsi-initiator-utils 、 device-mapper-multipath 这两个包
rpm -q iscsi-initiator-utils
rpm -q device-mapper-multipath
如果没有安装,请配置 yum 源后,使用 yum 安装相关包
配置存储器 IP
iscsiadm -m discovery -t st -p 192.168.10.218
登录存储器
两个网段分别登录
iscsiadm -m node -p 192.168.10.218 -l
iscsiadm -m node -p 192.168.100.218 -l
加载多路径模块
modprobe dm-multipath
modprobe dm-round-robin
modprobe dm-service-time
创建及修改DM-Multipath的配置文件
配置内容根据实际需要进行配置
vi /etc/multipath.conf
defaults {
user_friendly_names yes
find_multipaths yes
}
blacklist {
devnode "^sda"
}
multipaths {
multipath {
wwid 14f504e46494c455263645173364a2d765933662d4a707842
alias xdcs000
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
multipath {
wwid 14f504e46494c4552473577624b612d4770554e2d4c7a486a
alias xdcs001
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
multipath {
wwid 14f504e46494c45524c587a3368512d46544b7a2d7347324e
alias xdcs002
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
multipath {
wwid 14f504e46494c45524f6554576b422d55386b792d4a6e3148
alias xdcs003
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
multipath {
wwid 14f504e46494c455236714d6771412d544f79652d64704663
alias xdcs004
path_grouping_policy multibus
path_selector "round-robin 0"
failback manual
rr_weight priorities
no_path_retry 5
}
}
devices {
device {
vendor "VMWARE"
product "VIRTUAL-DISK"
path_grouping_policy multibus
path_checker readsector0
path_selector "round-robin 0"
hardware_handler "0"
failback 15
rr_weight priorities
no_path_retry queue
}
}
其中的 wwid 通过以下命令获取
/usr/lib/udev/scsi_id --whitelisted --device=/dev/sdb
重启multipathd服务,并设置开机自启动
systemctl restart multipathd
systemctl enable multipathd
对挂载磁盘进行分区、格式化、挂载
parted /dev/mapper/xdcs003
# 格式化为 GPT 格式分区
(parted) mklabel gpt
# 将所有容量划为一个主分区
(parted) mkpart primary xfs 0% 100%
# 退出
(parted) q
# 格式化分区
mkfs.xfs /dev/mapper/xdcs003p1
# 挂载分区
mkdir /data
mount -t xfs /dev/mapper/xdcs003p1 /data
df -h
开机自动挂载
由于网络连通性的不确定,建议不要配置自启动,如果需要自启动,自己写脚本依次执行以下命令,不要配置 /etc/fstab
iscsiadm -m node -p 192.168.10.218 -l
iscsiadm -m node -p 192.168.100.218 -l
mount -t xfs /dev/mapper/xdcs003p1 /data