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 由rPath Linux驱动,它是一个基于浏览器的免费网络存储管理实用程序,可以在单一框架中提供基于文件的网络连接存储 (NAS) 和基于块的存储区域网 (SAN)。Openfiler 支持 CIFS、NFS、HTTP/DAV 和 FTP。
Openfiler能把标准x86/64架构的系统变成一个强大的NAS、SAN存储和IP存储网关,为管理员提供一个强大的管理平台,并能能应付未来的存储需求。依赖如VMware,Virtual Iron和Xen服务器虚拟化技术,Openfiler也可部署为一个虚拟机实例。
● 可靠性 – Openfiler可以支持软件和硬件的RAID,能监测和预警,并且可以做卷的快照和快速恢复。
● 高可用性 – Openfiler支持主动或被动的高可用性集群、多路径存储(MPIO)、块级别的复制。
● 性能 – 及时更新的Linux内核支持最新的CPU、网络和存储硬件。
● 可伸缩性 – 文件系统可扩展性最高可超出60TB,并能使文件系统大小可以在线的增长。
下载地址:http://tenet.dl.sourceforge.net/project/openfiler/openfiler-distribution-iso-2.99-x64/openfileresa-2.99.1-x86_64-disc1.iso
、
这里创建的硬盘大小够安装操作系统即可,存储用的磁盘后面添加
安装完操作系统后,重启进入登录界面,这里会给处于 WEB 登录地址
这里我们添加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
https://192.168.10.218:446
Username:openfiler
Password:password
分别点击新增加的 /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 创建
选择 Seervices
点击 iSCSI Target 后面的 Enable 和 Start ,把 iSCSI 打开,并设置自启动
选择 System
在下方的网络访问配置里把两块网卡的地址段都配置进去,要配置地址段,不要配置地址,Name 可以根据实际需要填写即可
选择 Volemes
在右侧选择 iSCSI Targets
在 Add new iSCSI Target 下面点击Add
选择 LUN Mapping
把需要映射到主机上的逻辑卷都点击 Map
点击完成后显示如下图
选择 Network ACL
把两个网卡的网段都选择成 Allow ,并点击 Update
检查是否安装scsi-initiator-utils 、 device-mapper-multipath 这两个包
rpm -q iscsi-initiator-utils
rpm -q device-mapper-multipath
如果没有安装,请配置 yum 源后,使用 yum 安装相关包
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
配置内容根据实际需要进行配置
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
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