一文详解 MySQL 高可用之 DRBD( 三 )


/etc/drbd.d/global_common.conf是全局配置文件,这里只设置了使用统计量、同步协议、I/O错误处理策略三项 。该文件中还有一些其它选项,每个选项的含义在安装后的样例文件中都有相应说明 。
(3)配置资源文件/etc/drbd.d/mysql.res内容如下,资源文件名要和资源名一样 。
[root@node1 ~]# cat /etc/drbd.d/mysql.res resource mysql { # 资源名称disk /dev/sdb; # 磁盘分区device /dev/drbd0; # DRBD设备meta-disk internal; # 元数据存储方式on node1 {device /dev/drbd0;disk /dev/sdb;address 172.16.1.125:7789; # 节点1地址}on node2 {device /dev/drbd0;disk /dev/sdb;address 172.16.1.126:7789; # 节点2地址}}metadata有两种存储方式internal和external,存储方式是在每个resource配置段中指定的 。配置成使用internal意味着DRBD把它的metadata和实际生产数据存储于相同的底层物理设备中 。该存储方式是在设备的最后位置留出一个区域来存储metadata 。
(4)将配置文件远程复制到node2
scp -rp /etc/drbd.d/* node2:/etc/drbd.d/(5)初始化设备元数据
分别在两节点上创建DRBD设备元数据:
drbdadm create-md mysql(6)启动DRBD资源
分别在两节点上启动DRBD资源:
drbdadm up mysql(7)查看节点角色
当前两台均为备机:
[root@node1~]#drbdadm role mysqlSecondary(8)将node1设置primary
在node1执行:
[root@node1~]#drbdadm --force primary mysql[root@node1~]#drbdadm role mysqlPrimaryParimary表示资源目前为主,并且可能正在被读取或写入,如果不是双主只会出现在两个节点中的其中一个节点上 。Secondary表示资源目前为从,正常接收对等节点的更新 。
(9)在主节点对磁盘进行格式化
[root@node1~]#mkfs.xfs /dev/drbd0meta-data=https://www.isolves.com/dev/drbd0 isize=512 agcount=4, agsize=327668 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0data = bsize=4096 blocks=1310671, imaxpct=25= sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0因为文件系统的挂载只能在Primary节点进行,所以也只有在设置了主节点后才能对DRBD设备进行格式化,这样就会连格式化后的全部信息都镜像到另一个节点 。
(10)在主节点挂在设备
mount /dev/drbd0 /mnt(11)查看状态
查看两个节点的磁盘状态和资源状态:
[root@node1/mnt]#drbdadm dstate mysqlUpToDate/UpToDate[root@node1/mnt]#drbdadm cstate mysqlConnected节点的硬盘有可能为下列状态之一:

  • Diskless:本地没有块设备分配给DRBD使用,这表示没有可用的设备,或者使用drbdadm命令手工分离或是底层的I/O错误导致自动分离 。
  • Attaching:读取无数据时候的瞬间状态 。
  • Failed:本地块设备报告I/O错误的状态,其下一个状态为Diskless无盘 。
  • Negotiating:在已经连接的DRBD设置进行Attach读取无数据前的瞬间状态 。
  • Inconsistent:数据是不一致的,在两个节点上(初始的完全同步前)这种状态出现后立即创建一个新的资源 。此外,在同步期间在同步目标节点上出现这种状态 。
  • Outdated:数据资源是一致的,但是已经过时 。
  • DUnknown:当对等节点网络连接不可用时出现这种状态 。
  • Consistent:一个没有连接的节点数据一致 。当建立连接时,它决定数据是UpToDate或是Outdated 。
  • UpToDate:一致的最新的数据状态,这个状态为正常状态 。
一个资源可能有以下连接状态中的一种: