使用vmware共享磁盘配置和挂载OCFS2文件系统

文章介绍了在OracleRAC环境中配置OCFS2共享文件系统的过程,包括在Redhat7系统中遇到的问题以及如何使用xfs作为替代方案。通过vmwareworkstation设置共享磁盘,并详细阐述了在OracleLinux8.7上的测试步骤,包括主机名设置、磁盘配置、udev规则、ocfs2工具安装、集群配置以及文件系统的初始化和挂载。此外,还提及了DRBD作为另一种实现共享磁盘的方式。
摘要由CSDN通过智能技术生成

这次专门整理下多节点共享文件系统

背景

之前曾经安装过 Oracle RAC, 申请了多余的共享磁盘,配置了一下 OCFS2 系统, 挂载到所有节点,用于存放数据库备份, 这样的话, 备份的内容所有节点都可见。 当然了使用 Oracle ASM 的ACFS也行(以前做过,没记录,有空了再整理)。

这次呢,又一个新地方部署了同一个版本的RAC, 也想用相同方式,但在配置 OCFS2 的步骤 o2cb.init configure 步骤竟然报错,卡住了,时间比较紧, 最后,换 xfs 格式,只挂载在其中一个节点用于备份。

离开之后, 复盘了下原因, 是因为之前成功的 OCFS2 配置是在Oracle Linux 7 操作系统上,默认是 uek 内核启动, 默认是支持 OCFS2 文件系统的。 而我们这次呢,是 Redhat7 , 默认是不支持 OCFS2 文件系统的。

今天,主要分享vmware workstation共享磁盘配置OCFS2共享文件系统

后面再讲DRBD 的方式实现共享磁盘

日期: 2023-05-24

1 测试环境

oracle linux 8.7 (uek)测试组: 2台 使用vmware设置的共享磁盘

2 虚拟机共享磁盘配置

1. 主机1 添加SCSI磁盘(新建), 立即分配所有空间, 虚拟设备节点: SCSI 1:0 模式: 独立,永久 其他: 不允许写缓存

2. 主机2 添加SCSI磁盘(使用前面新建的磁盘) 虚拟设备节点使用 SCSI 1:0 模式: 独立,永久 其他: 不允许写缓存

3. 打开2个虚拟机安装目录 编辑 .vmx 文件 结尾添加以下内容:

scsi1.sharedBus = "virtual"

disk.locking = "false"

diskLib.dataCacheMaxSize = "0"

diskLib.dataCacheMaxReadAheadSize = "0"

diskLib.dataCacheMinReadAheadSize = "0"

diskLib.dataCachePageSize = "4096"

diskLib.maxUnsyncedWrites = "0"

disk.EnableUUID = "TRUE"

3 主机配置 未特别指明,则所有节点都要执行

hostnamectl set-hostname db01 #主机1执行,设置主机名称
hostnamectl set-hostname db02 #主机2执行,设置主机名称

#关闭seliux和防火墙
systemctl disable firewalld --now
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config ; sed -i "s/SELINUX=permissive/SELINUX=disabled/g" /etc/selinux/config
setenforce 0
ls /dev/sd* #多了几个磁盘

#使用udev固定磁盘
/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sda #查看设备id,其他类推
cat >/etc/udev/rules.d/99-oracle-ocfs2.rules<<EOF
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name", RESULT=="36000c296495293d994b9a5df27c752cb", SYMLINK+="sharedisk/disks/data1", OWNER="root", GROUP="root", MODE="0660"
EOF

#linux7之后不能手动启停udev,而是采用重新加载的方式
/sbin/udevadm control --reload-rules
udevadm trigger --action=add
/sbin/udevadm trigger --type=devices --action=change


#可以看到设备了
ll /dev/sharedisk/disks/

4 ocfs2配置

注意 name 要和机器 hostname 一致

yum -y install ocfs2-tools
yum -y install ocfs2-tools-devel #linux 7 only

[ -d /etc/ocfs2 ] || mkdir -p /etc/ocfs2
cat >/etc/ocfs2/cluster.conf <<EOF
cluster:
node_count = 2
name = ocfs2
node:
ip_port = 7777
ip_address = 192.168.55.187
number = 0
name = db01
cluster = ocfs2
node:
ip_port = 7777
ip_address = 192.168.55.188
number = 1
name = db02
cluster = ocfs2
EOF

#初始化ocfs2配置 第一项选yes,第三项集群名称填上面配置文件里的,默认是ocfs2,其他默认, 配置结果存入配置文件 /etc/sysconfig/o2cb
o2cb.init configure
#确保o2cb ocfs2服务启动并设置为开机自启
systemctl enable o2cb --now
systemctl enable ocfs2 --now
#任选一个主机 分区并格式化分区 注意:不同的测试组使用不同的设备
parted /dev/sharedisk/disks/data1 mklabel gpt
parted /dev/sharedisk/disks/data1 mkpart p1 ext4 1 100%
mkfs.ocfs2 /dev/sharedisk/disks/data1
#另一个主机 探测分区变化 注意:不同的测试组使用不同的设备
partprobe /dev/sharedisk/disks/data1
#所有主机 持久化磁盘挂载 注意:不同的测试组使用不同的设备
[ -d /u02 ] || mkdir /u02 ; mount /dev/sharedisk/disks/data1 /u02
echo 'sleep 10 ; partprobe /dev/sharedisk/disks/data1 ; sleep 10 ; mount /dev/sharedisk/disks/data1 /u02' >> /etc/rc.local

测试

#在crontab job中添加如下内容
* * * * * echo ${HOSTNAME} $(date) >> /u02/test.log

结论

可以同时挂载,2节点都可以写入数据并互相可见. 重启/关闭都可以按照指令完成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贺浦力特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值