免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1445 | 回复: 0
打印 上一主题 下一主题

DRBD磁盘镜像小实验 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-18 20:22 |只看该作者 |倒序浏览
DRBD磁盘镜像小实验

2009.12.19 Tsengyia#126.com
http://selinux.cublog.cn

##############################################################
系统环境:RHEL5 [ 2.6.18-9.el5 ]
  host1(主机):IP地址:192.168.4.11   镜像分区:/dev/sdb1,40GB
  host2(备机):IP地址:192.168.4.12   镜像分区:/dev/sdb1,40GB
软件环境:
  RHEL5自带RPM包:
    kernel-headers-2.6.18-8.el5
    kernel-devel-2.6.18-8.el5
  需另下载的软件包:
    drbd-8.3.6.tar.gz   
http://oss.linbit.com/drbd/8.3/drbd-8.3.6.tar.gz
                        
http://oss.linbit.com/drbd/
                        
http://www.drbd.org/download/packages/
##############################################################
一、安装drbd软件包(host1,host2)
  1. 安装内核开发环境(kernel-headers、kernel-devel)
      使用RHEL5光盘自带的RPM包

  2. 安装drbd软件包
[root@localhost ~]# tar zxvf drbd-8.3.6.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/drbd-8.3.6
[root@localhost drbd-8.3.6]# ./configure --prefix=/ --with-km        //--with-km表示安装为内核模块
[root@localhost drbd-8.3.6]# make
[root@localhost drbd-8.3.6]# make install
  3.调整drbd服务脚本
[root@localhost ~]# vi /etc/init.d/drbd      //在服务脚本的start)部分添加模块加载语句
……
case "$1" in
    start)
    insmod /lib/modules/2.6.18-8.el5/kernel/drivers/block/drbd.ko
    ……
[root@localhost ~]# chkconfig --add drbd     //添加给chkconfig、ntsysv管理
[root@localhost ~]# chkconfig --level 35 drbd on


二、建立/etc/drbd.conf配置文件(host1,host2)
    具体配置可参考dhcpd.conf文件中的注释或者man手册页
[root@localhost ~]# vi /etc/drbd.conf
global {  usage-count yes;  }                 //是否参加DRBD使用者统计
common {
    protocol C;                               //类型包括A、B、C三种,C表示收到远程主机的写入确认后,视为写入完成
    syncer { rate 100M; }                     //同步速率
}
resource r1 {
    device minor 1;
    meta-disk internal;
    net {
        cram-hmac-alg sha1;                   //设置网络传输加密算法
        shared-secret "secret string";        //认证字串
    }
    on host1 {                                //on 主机名
        device /dev/drbd1;                    //drbd设备
        disk /dev/sdb1;                       //对应的分区
        address 192.168.4.11:7801;            //IP地址及端口
    }
    on host2 {
        device /dev/drbd1;
        disk /dev/sdb1;
        address 192.168.4.12:7801;
    }
}

三、建立drbd设备,启动drbd服务(host1,host2)
  1. 建立md设备
[root@localhost ~]# drbdadm create-md r1
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.

  2. 启动drbd服务程序
[root@localhost ~]# /etc/init.d/drbd start

  3. 确认drbd状态
[root@localhost ~]# cat /proc/drbd
version: 8.3.6 (api:88/proto:86-91)
GIT-hash: f3606c47cc6fcf6b3f086e425cb34af8b7a81bbf build by
[email=root@host1]root@host1[/email]
, 2009-12-18 13:28:03
  1: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsisten C r----
     ns:0 nr:0 dw:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:4008024
  —— Secondary/Secondary 表示两个节点都处于辅助(从)状态


四、初始化Primary机(host1)
  1. 设为主导状态(同步发起端)
[root@localhost ~]# drbdsetup /dev/drbd1 primary -o
block drbd1: Forced to consider local data as UpToDate!
  —— //如需降级为备机,可执行umount /dev/drbd1 ;drbdadm secondary r1

  2. 再次确认host1的drbd状态
[root@localhost ~]# cat /proc/drbd
version: 8.3.6 (api:88/proto:86-91)
GIT-hash: f3606c47cc6fcf6b3f086e425cb34af8b7a81bbf build by
[email=root@host1]root@host1[/email]
, 2009-12-18 13:28:03
  1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsisten C r----
     ns:44608 nr:0 dw:0 dr:44608 al:0 bm:0 lo:0 pe:1 ua:0 ap:0 ep:1 wo:b oos:3963
         [>............] sync'ed: 2.3% (3921720/4008024)
         finish:3:06:44 speed: 340 (320) K/sec
  —— 表示正处于同步过程中

  3. 同步完成后,可再次确认drbd状态
[root@localhost ~]# cat /proc/drbd
version: 8.3.6 (api:88/proto:86-91)
GIT-hash: f3606c47cc6fcf6b3f086e425cb34af8b7a81bbf build by
[email=root@host1]root@host1[/email]
, 2009-12-18 13:28:03
  1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsisten C r----
     ns:4137868 nr:0 dw:129844 dr:4008242 al:49 bm:245 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

五、验证磁盘镜像结果(host2)
  1. host1主机中
[root@localhost ~]# mkfs -t ext3 /dev/sdb1
[root@localhost ~]# mkdir /mnt/sdb1
[root@localhost ~]# mount /dev/drbd1 /mnt/sdb1
[root@localhost ~]# ls > /mnt/sdb1/test.file
[root@localhost ~]# ls /mnt/sdb1
lost+found  test.file

  2. host2主机中
[root@localhost ~]# service drbd stop
[root@localhost ~]# mount /dev/sdb1 /mnt/sdb1
[root@localhost ~]# ls /mnt/sdb1
lost+found  test.file

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/40349/showart_2125320.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP