实验机器配置:

ubuntu Linux 系统

有一个独立的分区用于同步,该分区最好是一个独立的磁盘

两块网卡,其中一块用于提供网络服务,另一块用于数据同步

以上配置的机器要求两台,我没有两台相同的机器,因此使用了虚拟机。

 

我的两台机器的初始参数分别是分别是 :

XFS-74  192.168.11.74   用于同步的分区为/dev/sda4  eth0/192.168.11.74      eth1/192.168.1.2

XFS-75  192.168.11.75   用于同步的分区为/dev/sda4   eth0/192.168.11.75     eth1/192.168.1.3

eth0用于提供网络服务,eth1用来进行数据同步

 

 

安装配置过程:

一、vi /etc/hosts

    在hosts中确认以下两行:

    192.168.1.2 XFS-74

    192.168.1.3 XFS-75

二、apt-get install  drbd8-utils

三、修改/etc/drbd.conf文件

文件内容如下:

common{
        syncer {rate 10M;}                                                             #速率
}
resource r0{
        protocol C;                                                                          #同步协议,C协议是一种有确认的协议,可靠性较高    
        disk {on-io-error detach;}
        on LFS-74{                                                                         #LFS-74是节点的机器名
                device /dev/drbd0;
                disk    /dev/sda4;                                                       #需要同步的分区
                address 192.168.1.2:7788;                                      
                meta-disk internal;                                                             
        }
        on LFS-75{
                device /dev/drbd0;
                disk    /dev/sda4;
                address 192.168.1.3:7788;
                meta-disk internal;
        }
}

四、创建资源

dd if=/dev/zero of=/dev/sda4 bs=1M count=128    

drbdadm create-md r0

五、启动

/etc/init.d/drbd start5

六、确认应经启动的方法:

1> cat /proc/drbd

2>netstat -aux  开看是否有7788的TCP服务端口在运行

七、把其中一台机器设置成为主盘

drbdsetup /dev/drbd0 primary -o

这一步完成后可以使用 watch -n1 cat /proc/drbd 监视复制的状态。

八、格式化网络硬盘

mkfs.ext3 /dev/drbd0

格式化只能在主盘上进行

九、drdb运行状态的监视

1.查看进程文件

/proc/drbd

输出内容大致如下:

Every 2.0s: cat /proc/drbd                                                                                  Fri Dec 16 15:13:58 2011

version: 8.3.9 (api:88/proto:86-95)
srcversion: CF228D42875CF3A43F2945A
 0: cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate C r-----
    ns:520192 nr:0 dw:0 dr:520192 al:0 bm:196 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

 cs 后便可以看到那个是主那个是从

ds:可以查看磁盘的状态,UpToDate/UpToDate 应该表示两个磁盘都是实时状态,这是正确的情况

我们要关注的信息是:

1》主盘和从盘的连结是否正常,如果连结不正常,我们要检查原因,看看网线是否正常,防火墙是否意外,drbd服务是否正常启动登

2》主从盘的数据状态,一般主盘应该是实时状态,从盘一般也应该是实时状态,这表示两个磁盘信息一致

3》关键是要杜绝脑裂(Split-Brian) 的现象,即从盘上有主盘上没有的数据,

 

 

 

注意的问题:

     使用drbd只能在主服务器上挂载设备,在从服务器上不能挂载设备,否则会导致同步失败。

两个重要的命令

 mknod

  examples:

 mknod /dev/drbd0 b 147 0               //创建drbd0设备  参数b表示是快设备 147是主设备号,0是次设备号

 dd

 watch

watch可以重复执行一个命令,从而避免一遍一遍的敲命令行

watch有两个参数, -n 便是从新执行命令的时间间隔 ,默认是两秒, -d是对变化的内容高亮显示

 mountpoint

这个命令检查目录是不是挂载点

examples:

mountpoint /mnt  输出 /mnt is not a mountpoint 或者 /mnt is a mountpoint

mountpoint -d /mnt  输出挂载设备的主次设备号

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐