基于Corosync+Pacemaker+DRBD+LNMP实现Web服务器高可用集(4)

 

1 vim /usr/local/drbd/etc/drbd.d/web.res 2 -------------------------------------- 3 resource web { 4 on coro1 { 5 device /dev/drbd0; 6 disk /dev/sda7; 7 address 192.168.19.55:7789; 8 meta-disk internal; 9 } 10 on coro2 { 11 device /dev/drbd0; 12 disk /dev/sda7; 13 address 192.168.19.98:7789; 14 meta-disk internal; 15 } 16 }

  6.以上文件在两个节点上必须相同,因此,可以基于ssh将刚才配置的文件全部同步至coro2节点:

1 scp /usr/local/drbd/etc/drbd.d/* coro2:/usr/local/drbd/etc/drbd.d/

  7.在两个节点上初始化已定义的资源并启动服务:

1 drbdadm create-md web 2 service drbd start

  8.查看启动状态,从下面的信息中可以看出此时两个节点均处于Secondary状态:

1 cat /proc/drbd

    

  9.我们接下来需要将其中一个节点设置为Primary,在要设置为Primary的节点上执行如下命令,这里在coro1上操作:

1 drbdadm primary --force web 2 cat /proc/drbd

    

    而后再次查看状态,可以发现数据同步过程已经开始。等数据同步完成以后再次查看状态,可以发现主次位置显示是不一样的。斜线前面的代表当前主机,后面的代表对方主机。

      在coro1上查看:

    

      在coro2上查看:

    

  10.创建文件系统并挂载:

    文件系统的挂载只能在Primary节点进行,因此,也只有在设置了主节点后才能对drbd设备进行格式化,这里在coro1上进行操作。

1 mke2fs -t ext4 -L DRBD /dev/drbd0 2 mkdir /mydata //创建挂载点 3 mount /dev/drbd0 /mydata/ 4 mkdir /mydata/www //创建网页目录 5 mkdir /mydata/data //创建数据库目录

  11.切换Primary和Secondary节点:

    对主Primary/Secondary模型的drbd服务来讲,在某个时刻只能有一个节点为Primary,因此要切换两个节点的角色,只能在先将原有的Primary节点设置为Secondary后,才能原来的Secondary节点设置为Primary。

      在coro1上:

1 umount /mydata/ 2 drbdadm secondary web //变为secondary节点

      在coro2上:

1 drbdadm primary web //变为primary节点 2 cat /proc/drbd 3 mkdir /mydata //创建挂载点 4 mount /dev/drbd0 /mydata/ 5 ls /mydata/

    可以看到,coro2已经成为了Primary,之前在coro1上创建的目录也能够访问到。测试完成后,再次将coro1变为Primary并挂载。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6d7d2f397db2f5cf5f79b135beae5709.html