快捷搜索:   nginx

ubuntu drbd双机互备

    DRBD 是由内核模块和相关脚本而构成,用以构建高可用性的集群。其实现方式是通过网络来镜像整个设备。您可以把它看作是一种网络RAID.

    Drbd 负责接收数据,把数据写到本地磁盘,然后发送给另一个主机。另一个主机再将数据存到自己的磁盘中。其他所需的组件有集群成员服务,如TurboHA 或 心跳连接,以及一些能在块设备上运行的应用程序

    drbd1:192.168.6.106
    drbd2:192.168.6.107

    OS:ubuntu server 8.04.1
    软件:drbd-8.2.6.tar.gz

    分别在两台机器安装,我的机器分区是用LVM来管理的
    所以,我给两台机器都分了一个G,在/dev/www/www~
    1。安装drbd所需要的,因为DRBD编译在内核里的,所以也要安装linux-headers
    #uname -r 看下内核版本
    2.6.24-19-serve  我的内核版本
    #apt-get install  flex  linux-headers-2.6.24-19-server
    2.编译安装drbd
    #tar zxvf drbd-8.2.6.tar.gz
    #cd drbd-8.2.6
    #make clean    清除以前历史记录
    #make KDIR=/usr/scr/linux-headers-2.6.24-19-server  编译+内核路径
    #make install   安装
    #groupadd haclient    建立组不然会提示警告
    #chgrp haclient /sbin/drbdsetup
    #chmod o-x /sbin/drbdsetup
    #chmod u+s /sbin/drbdsetup

    3.修改配置文件
    #mv /etc/drbd.conf /etc/drbd.conf.bak 备份原配置文件
    #vim /etc/drbd.conf
    贴入
    common {
    # 设置主备节点同步时的网络速率最大值,单位是字节.
    syncer { rate 10M; }
    }
    resource r0 {
    # 使用协议C.表示收到远程主机的写入确认后,则认为写入完成.
    protocol C;
    disk { on-io-error detach; }
    # 每个主机的说明以"on"开头,后面是主机名.在后面的{}中为这个主机的配置.
    on drbd1 {
    device /dev/drbd0;
    disk /dev/www/www;   (如果是新家的硬盘就写 /dev/sdb1;/dev/sdc...)
    address 192.168.6.106:7788;
    meta-disk internal;
    }
    on drbd2 {
    device /dev/drbd0;
    disk /dev/www/www;   (如果是新家的硬盘就写 /dev/sdb1;/dev/sdc...)
    address 192.168.6.107:7788;
    meta-disk internal;
    }
    }
    我的是很简单的,为了测试,还需要大家根据自己的需要自己修改~
    好了两台机器都写完配置文件后,在drbd1和drbd2上分别输入命令
    #drbdadm create-md r0  “r0”是我们在drbd.conf里定义
    弹出的信息,敲回车,如果drbd.conf配置好的话,有的信息是不会弹出的。

    现在我们可以启动DRBD了,分别在两台主机上执行:
    [root@drbd1 local]#/etc/init.d/drbd start
    [root@drbd2 local]#/etc/init.d/drbd start

    [root@drbd1 ~]# cat /proc/drbd
    version: 8.0.11 (api:86/proto:86)
    SVN Revision: 2713 build by
    root@drbd1
    , 2008-06-27 14:07:14 1: cs:Connected st:Secondary/Secondary ds:Inconsistent/Inconsistent C r---
        ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0
            resync: used:0/31 hits:0 misses:0 starving:0 dirty:0 changed:0
            act_log: used:0/257 hits:0 misses:0 starving:0 dirty:0 changed:0
    ”/proc/drbd”中显示了drbd当前的状态.第一行的st表示两台主机的状态,都是”备机”状态.
    ds是磁盘状态,都是”不一致”状态.
    这是由于,DRBD无法判断哪一方为主机,以哪一方的磁盘数据作为标准数据.所以,我们需要初始化

    一个主机.在drbd1上执行:
    [root@drbd1 local]#drbdsetup /dev/drbd0 primary -o

    主备机状态分别是”主/备”,主机磁盘状态是”实时”,备机状态是”不一致”.

 [2] 下一页

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论