文档参考:https://ubuntu.com/server/docs/distributed-replicated-block-device-drbd
#主从节点安装drbd apt install drbd-utils #编辑主从节点配置文件 vi /etc/drbd.d/global_common.conf global { usage-count no; } common { syncer { rate 100M; } } resource r0 { protocol C; startup { wfc-timeout 15; degr-wfc-timeout 60; } net { cram-hmac-alg sha1; shared-secret "secret"; } on node1 { device /dev/drbd0; disk /dev/sdd; address 192.168.1.10:7788; meta-disk internal; } on node2 { device /dev/drbd0; disk /dev/sdd; address 192.168.1.11:7788; meta-disk internal; } } #在主从节点上分别初始化元数据 drbdadm create-md r0 #在主从节点上启动drbd服务 systemctl start drbd.service #在主节点上执行如下命令 drbdadm -- --overwrite-data-of-peer primary all #监控drbd同步状态 watch -n1 cat /proc/drbd #在drbd0上创建文件系统 mkfs.ext3 /dev/drbd0 #挂载文件系统 mount /dev/drbd0 /srv #此时应用可以将/srv目录作为普通数据盘使用,当主节点(primary)连接丢失时, #从节点(secondary)会自动变为primary节点,在keepalived脚本中添加挂载/dev/drbd0 #命令及重启使用/srv/目录的相应服务,可以实现主从切换 #脑裂恢复 #查看挂载状态,卸载drbd0 mount | grep /dev/drbd0 umount /dev/drbd0 #如果报错可以尝试:umount -l /dev/drbd0 #降级为secondary,由于脑裂时有两个primary,选择不需要保留数据的节点执行如下命令 drbdadm secondary r0 drbdadm -- --discard-my-data connect r0 #恢复连接 drbdadm connect r0 cat /proc/drbd #集群状态变为Connected则说明集群已经恢复到正常状态
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器