在本教程系列中,我们将从头开始建立一个高度可用的WordPress网站。
第1部分–简介,注意事项和体系结构
第2部分–设置VPSes
第3部分–设置MariaDB多主复制
第4部分–文件复制和设置DRBD
第5部分–设置OCFS2
第6部分–循环DNS加密和结论
设置OCFS2
OCFS2(Oracle群集文件系统2)易于设置。尽管它的名称听起来很专有,但它是根据Gnu GPL许可的,可以通过常规的软件包管理器进行安装。
将以下内容放在两个节点上的/etc/ocfs/cluster.conf中:
节点: ip_port = 7777 ip_address = 1.1.1.1 数字= 0 名称= web1.lowend.party 集群= ocfs2 节点: ip_port = 7777 ip_address = 2.2.2.2 数字= 1 名称= web2.lowend.party 集群= ocfs2 集群: node_count = 2个 名称= ocfs2
您可以根据需要为集群命名(“ name =”指令)。
我们希望集群在启动时启动,该启动由/ etc / default / o2cb控制。 我们可能只是在该文件中将O2CB_ENABLED更改为“ true”,但它具有以下注释:
#这是用于自动启动O2CB #驱动程序 的配置文件。它是通过运行“ dpkg-reconfigure ocfs2-tools”生成的。#请使用该方法修改该文件。
因此,在两个节点上都运行dpkg-reconfigure ocfs2-tools。 对第一个问题回答“是”,然后接受所有其他问题的默认设置。
现在我们可以制作文件系统了。 我们不想在/ dev / sdc1上创建它,而是在DRBD设备上创建它:
root @ web1:/etc/drbd.d# mkfs.ocfs2 -N 2 -L ocfs2drbd / dev / drbd0 mkfs.ocfs2 1.8.5 群集堆栈:经典o2cb 标签:ocfs2drbd 功能:稀疏扩展插槽映射备份-超级未写入的嵌入式数据严格超级xattr索引目录refcount discontig-bg append-dio 块大小:4096(12位) 群集大小:4096(12位) 卷大小:10736005120(2621095群集)(2621095块) 群集组:82(尾部)覆盖8359个群集,其余覆盖32256个群集) 范围分配器大小:8388608(2个组) 日志大小:67108864 节点插槽:2 创建位图:完成 初始化超级块:完成 编写系统文件:完成 编写超级块:完成 写入备份超级块:2块 格式化日志:完成 扩展盘区分配器:完成 格式化插槽映射:完成 格式化配额文件:完成 写入丢失+找到:完成 mkfs.ocfs2成功
这些标志的意思是“ 2个节点,并将卷标记为’ocfs2drbd’”。
现在在两个节点上启动/启用集群注册服务:
#systemctl enable ocfs2 && systemctl enable o2cb 通过SysV服务脚本和/ lib / systemd / systemd-sysv-install同步 ocfs2.service的状态。执行:/ lib / systemd / systemd-sysv-install enable ocfs2将o2cb.service的 状态与SysV服务脚本和/ lib / systemd / systemd-sysv-install同步。 正在执行:/ lib / systemd / systemd-sysv-install enable o2cb #systemctl start ocfs2 && systemctl start o2cb
挂载共享的DRBD卷
我们将在/ web上挂载/ dev / drbd0(共享群集卷)。 首先,在两个节点上的/ etc / fstab中创建以下条目:
/ dev / drbd0 / web ocfs2 noauto,noatime 0 0
现在,在两个节点上将现有的/ web重命名为/web.prev和mkdir / web: #systemctl stop nginx #mv / web /web.prev#mkdir / web
最后将其安装在两个节点上:
#挂载/ web
如果尝试挂载时出现此错误:
mount.ocfs2:尝试初始化集群时无法访问集群服务
尝试这个:
/etc/init.d/o2cb重新启动
现在,如果您在一个节点上进入/ web并触摸文件或将文件复制到该目录,您会发现该文件在另一个节点上几乎是立即可用的。 我们已启用多主机,因此您可以使节点都在两侧进行写入,并且更改将双向复制。
现在在一个节点上(这是共享卷,还记得吗?)执行以下操作:
mv /web.prev/www.lowend.party / web
然后在两个节点上进行清理:
rm -rf /web.prev systemctl启动nginx
下一部分:第6部分–循环DNS,让我们加密和总结