10.24.6.4:3306<=10.24.6.6:3306
VIP:10.24.6.20
必须使得VIP和mysql处于同一网段,否则无法ping通过
2. 参考文档 3. DRBD 共享内存设置共享硬盘/dev/sdb1
3.1. 创建一个新硬盘/dev/sdb1但是不要挂载任何目录 3.2. 修改hosts文件和主机名在10.24.6.4上
echo "10.24.6.4 drbd01" >> /etc/hosts
echo "drbd01" > /etc/hostname
在10.24.6.6上
echo "10.24.6.6 drbd02" >> /etc/hosts
echo "drbd02" > /etc/hostname
3.3.安装drbd在10.24.6.4/10.24.6.6上
sudo apt-get install drbd8-utils
3.4.配置drbd.conf(/etc/drbd.conf)的配置文件(主从都要做)vim /etc/drbd.conf默认信息为:
include "/etc/drbd.d/global_common.conf";
include "/etc/drbd.d/*.res";
这样你需要去配置global_common.conf以及新建一个以res结尾的资源文件,这里为r0.res
3.5. 配置global_common.conf(主从都要做)vim /etc/drbd.d/global_common.conf
global {
usage-count no; //帮LINBIT公司统计drbd使用量 }
common {
protocol C;//C为最安全同时也是性能最好的一种确认写操作完成的方法
syncer {
rate 100M; //同步的速率
}
}
3.6.配置ro.res(主从都要做)sudo vim /etc/drbd.d/r0.res
resource r0 {//r0资源名称,以后很多地方会用到
on drbd01 {
device /dev/drbd0; //逻辑设备的路径
disk /dev/sdb1; //物理设备
address 10.24.6.4:7788; //主节点
meta-disk internal;
}
on drbd02 {
device /dev/drbd0;
disk /dev/sdb1;
address 10.24.6.6:7788; //从节点
meta-disk internal;
}
}
不可以有注释
3.7. 初始化drbd的metadata(在主节点上操作)10.24.6.4:
Sudo drbdadm create-md r0
3.8. 错误处理
执行如下命令: dd if=/dev/zero bs=1M count=1 of=/dev/sdb1;sync
再次执行drbdadm create-md r0看到success则表示成功。
3.9. 启动drbd服务(主从都执行)
/etc/init.d/drbd start
cat /proc/drbd
ro:Secondary/ Secondary表示还没有建立主盘
ds:Inconsistent/Inconsistent表示两节点(master/slave)的逻辑设备(即/dev/drbd0)中的数据未同步
本地和对等节点的硬盘有可能为下列状态之一:
Diskless 无盘:本地没有块设备分配给DRBD使用,这表示没有可用的设备,或者使用drbdadm命令手工分离或是底层的I/O错误导致自动分离
Attaching:读取无数据时候的瞬间状态
Failed 失败:本地块设备报告I/O错误的下一个状态,其下一个状态为Diskless无盘
Negotiating:在已经连接的DRBD设置进行Attach读取无数据前的瞬间状态
Inconsistent:数据是不一致的,在两个节点上(初始的完全同步前)这种状态出现后立即创建一个新的资源。此外,在同步期间(同步目标)在一个节点上出现这种状态
Outdated:数据资源是一致的,但是已经过时
DUnknown:当对等节点网络连接不可用时出现这种状态
Consistent:一个没有连接的节点数据一致,当建立连接时,它决定数据是UpToDate或是Outdated
UpToDate:一致的最新的数据状态,这个状态为正常状态
10.24.6.4:
10.24.6.6:
3.11. 初始化网络硬盘(主节点执行)drbdadm -- --overwrite-data-of-peer primary r0
查看同步进度
cat /proc/drbd
ds:UpToDate/Inconsistent表示两节点正在同步数据
3.12. 启用和禁用资源(不必须)