Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2470269
  • 博文数量: 293
  • 博客积分: 2660
  • 博客等级: 少校
  • 技术积分: 3632
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-03 17:50
文章分类

全部博文(293)

文章存档

2015年(13)

2014年(58)

2013年(73)

2012年(25)

2011年(30)

2010年(86)

2009年(8)

分类: LINUX

2013-12-07 12:55:59

本文继续研究用heartbeat实现mysql的集群。分为两种方式:
1.使用共享存储
2.没有共享存储,通过drbd进行网络镜像

A.有共享存储
   1.安装mysql
      apt-get install mysql-server
   2.更改mysql数据存放目录为/webdata
   3.用sysv-rc-conf将mysql服务设置为开机不自动启动
   4.haresources 文件配置
      ubuntu1 IPaddr::192.168.0.129/24/eth0  Filesystem::/dev/sdb1::/webdata::ext3 mysql
   至此完成mysql集群

B.无共享存储,通过drbd进行网络镜像存储
  http://blog.csdn.net/foxman209/article/details/7577579
  1.安装drbd(主从都要安装)

   apt-get install drbd8-utils
  2.配置drbd.conf(/etc/drbd.conf)的配置文件(主从都要做)

  vim /etc/drbd.conf  默认信息为:

  include "/etc/drbd.d/global_common.conf";

  include "/etc/drbd.d/*.res";

  3.vim /etc/drbd.d/global_common.conf

  global {

      usage-count no;   //帮LINBIT公司统计drbd使用量

   }

  common {

       protocol C;   //C为最安全同时也是性能最好的一种确认写操作完成的方法

  syncer {

      rate 100M;    //同步的速率
}
 4. vim /etc/drbd.d/r0.res

     resource r0 {            //r0资源名称,以后很多地方会用到

       on drbd01 {

       device   /dev/drbd0;    //逻辑设备的路径

       disk     /dev/sdb1;     //物理设备

       address  192.168.1.2 :7788;  //主节点

       meta-disk internal;

     }

      on drbd02 {

      device   /dev/drbd0;

      disk     /dev/sdb1;

      address  192.168.1.3 :7788;    //从节点

      meta-disk internal;

    }

    }

5.      初始化drbd的metadata (主从都执行)

        drbdadm create-md r0

6.      启动drbd服务(主从都执行)

        /etc/init.d/drbd start

        cat /proc/drbd

        ro:Secondary/Secondary表示还没有建立主盘

       ds:Inconsistent/Inconsistent表示两节点的逻辑设备(即/dev/drbd0)中的数据未同步

7.      初始化网络硬盘(主节点执行)

       drbdsetup /dev/drbd0 primary –o

       cat /proc/drbd

        ro: primary / Secondary表示在主节点建立了主盘

       ds: UpToDate /Inconsistent表示两节点正在同步数据

       等同步完后将会变成

       ds: UpToDate / UpToDate

8.      格式化磁盘,现在讲磁盘格式化后并可以向其中写数据,这些数据会同步到从节点中。(主从都执行)

        mkfs.ext4 /dev/drbd0

        mount /dev/drbd0 /mnt/data

       (注意:只有主盘节点才能挂载磁盘)

 9.   更改Mysql数据库的存储位置到 /mnt/data(主从都执行)
 10.  测试

       在drbd01上启动mysql 建立一个名为test的数据库。

       之后关闭数据服务

       service mysql stop

       drbdadm secondary r0

       umount /dev/drbd0

      在drbd02上

      drbdadm primary r0

      mount /dev/drbd0

       service mysql start

       进去mysql中查看是否已有从drbd01同步过来的名为test的数据库。

      OK至此测试就完成了。

11.  haresources 文件配置
       ubuntu1 IPaddr::192.168.0.129/24/eth0  drbddisk::r0 Filesystem::/dev/drbd0::/mnt/data/::ext4 mysql      
12.   用sysv-rc-conf将mysql服务设置为开机不自动启动
     至此完成mysql集群

DRBD使用总结
mount提示错误”mount: block device /dev/drbd0 is write-protected, mounting read-only mount: Wrong medium type“,是因为mount只能在Primary一端使用。

阅读(1161) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~