一觉醒来,北京已经下雪了,早早起来整理正在实施的一套RAC的实施文档,细心一算,这10年的职业生涯,Oracle的RAC部署已经完成了第150套,感慨颇深,因为热爱,所以一直想把技术深耕下去。接下来就将RAC部署中核心的共享存储配置方式分享给大家…

Oracle RAC是Oracle的集群版本,从现在流行的观点去理解,可以认为是一个基于共享存储的多租户/多写集群。RAC环境搭建需要配置共享存储,那么不同的操作系统在生产环境怎么实现呢?

1.HP-UX配置
从HP-UX11.3开始引入了设备文件名/dev/rdisk/disk*,同时也兼容旧版本的/dev/rdsk/c td 的模式。由于ct d的设备文件名会随着存储链路的变化而更改,并且新引入的设备文件名还具有多链路聚合功能,所以我们一般使用新引入的设备文件
1.检查设备文件名跟设备路径的对应关系 ioscan -m lun diskinfo /dev/rdisk/diskxxx 2.修改裸设备权限 chown grid:asmadmin /dev/rdisk/disk49 3.两边盘符不一致情况 RAC的2个节点,可使用软连接实现两边盘符的的对应关系保持一致 ln -s /dev/rdisk/diskx /ShareDisk/asm_lunl

2.AIX系统配置
IBM的AIX作为稳定性佳、可靠性高、性能卓越的操作系统,自然也是大家的首选之一,那么AIX系统怎么配置共享存储呢?
1.查看磁盘号 lscfg |grep hd 查看磁盘的主号和次号: ls -l /dev |grep hd 2.创建别名 mknod /dev/ocr_disk c 4 2 --c表示字符设备 4表示主号 2表示次号 mknod /dev/ocr_disk c 25 4 mknod /dev/vote_disk c 25 6 mknod /dev/asm_disk1 c 25 5 mknod /dev/asm_disk2 c 25 7 3.修改磁盘用户和权限 chown oracle:oinstall /dev/ocr_disk chown oracle:oinstall /dev/vote_disk chown oracle:oinstall /dev/asm_disk1 4.清空磁盘内容 --安装前最好清理下磁盘内容 dd if=/dev/zero of=/dev/ocr_disk bs=8192 count=25000 &
3.Solaris系统配置
Solaris是一种基于Unix操作系统的操作系统,由Sun Microsystems(现为Oracle公司)开发。那么Solaris系统怎么配置共享存储呢?
1.首先在存储上划分vdisk NSF11RAC_DATA01 NSF11RAC_DATA02 2.在两个节点上扫盘,并对硬盘进行format 磁盘分区只需要在一个节点做即可,这里针对一个磁盘分区进行说明, 其他磁盘分区与其配置方法一致,使用format命令进行分区 format> partition format> disk 3.修改磁盘用户组、所属组、以及权限 --要确保每一个共享盘的用户组为 grid:asmadmin 权限为660 cd scsi_vhci ls –ltr chmod -R 660 disk@g60060e80122e7f0050402e7f000000*

4.RHEL/Centos配置
一般在多RHEL/Centos操作系统,我们采用经典的链路+UDEV方式,配置方式如下
4.1 安装multipath
若没有安装则执行以下命令安装: yum install -y device-mapper*
4.2 生成配置文件
mpathconf --enable --with_multipathd y
查看scsi_id
[root@racdb1 ~]# /usr/lib/udev/scsi_id -g -u /dev/sdc
cat <<EOF>> /etc/multipath.conf
blacklist {
devnode "^sda"
}
multipaths {
multipath {
wwid "36000c29f7e6ca7c54bd3ad4d2a2b8939"
alias asm_ocr01
}
multipath {
wwid "36000c2970b50cdffdc8e547c8a87938d"
alias asm_ocr02
}
multipath {
wwid "36000c292f6145f1679dcb64d20c7499e"
alias asm_ocr03
}
multipath {
wwid "36000c29c6f447f602411b8adabfe82a9"
alias asm_data01
}
multipath {
wwid "36000c29937fecda3c66ce8a02e9a9d9d"
alias asm_data02
}
multipath {
wwid "36000c29541e4d4e620c8326c45b51dd4"
alias asm_arch01
}
}
EOF
4.3 激活multipath多路径
删除现有路径:multipath -F 格式化路径 :multipath -v2 查看多路径:multipath -ll --查看状态 systemctl status multipathd.service --开机自启动服务 systemctl enable multipathd.service
4.4 配置 UDEV
注意:2个节点均执行,root用户
[root@racdb1 ~]# cd /dev/mapper
for i in asm_*; do
printf "%s %s\n" "$i" "$(udevadm info --query=all --name=/dev/mapper/"$i" | grep -i dm_uuid)" >>/dev/mapper/udev_info
done
while read -r line; do
dm_uuid=$(echo "$line" | awk -F'=' '{print $2}')
disk_name=$(echo "$line" | awk '{print $1}')
echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${dm_uuid}\",SYMLINK+=\"${disk_name}\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\"" >>/etc/udev/rules.d/99-oracle-asmdevices.rules
done < /dev/mapper/udev_info
udevadm control --reload-rules
udevadm trigger --type=devices

总结
在Oracle RAC中,一些常见的概念包括数据库实例、共享存储、负载均衡、故障转移和并行处理。这些概念共同构成了Oracle RAC的核心特性,确保了集群系统的高效运行和稳定性。
那么希望本次的Oracle共享存储配置帮助到大家,下次继续分享!
