Chinaunix首页 | 论坛 | 博客
  • 博客访问: 132828
  • 博文数量: 35
  • 博客积分: 692
  • 博客等级: 上士
  • 技术积分: 317
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-22 16:40
文章分类
文章存档

2014年(2)

2012年(4)

2011年(29)

分类: LINUX

2011-10-16 22:34:31

  p { margin-bottom: 0.08in; }a:link { }

                                                          DRBD(磁盘镜像技术)

DRBD简介


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

DRBD 负责接收数据,把数据写到本地磁盘,然后发送给另一个主机。另一个主机再将数据存到自己的磁盘中


二 安装前的准备


1 Selinuxiptablesdisabled


2 软件的下载

源码包下载地址为


3 预备的虚拟机主机: desktop30 192.168.0.30 /dev/vdb(附加磁盘)

desktop50 192.168.0.50 /dev/vdb (附加磁盘)

需为虚拟机主机添加虚拟磁盘vbd,可从真机的物理分区中加入到虚拟机


三 安装与设置


1 安装

首先确保两台主机必要的依赖软件已安装

desktop30 desktop50 上执行:

#yum install gcc flex rpm-build kernel-devel -y

desktop30上执行:

#tar zxf drbd-8.4.0.tar.gz

#cd drbd-8.4.0

#./configure

#make rpm //生成drbd RPM安装包

#make km-rpm //生成drbd内核模块安装包

#cd ~/rpmbuild/RPMS/x86_64/ //该目录下即为产生的rpm安装包

#rpm -ivh *.rpm



将生成的RPM包拷贝到另一主机上,并安装

#scp ~/rpmbuild/RPMS/x86_64/* desktop50.example.com:/root

# ssh 'rpm -ivh /root/drbd-*.rpm'



#cat /etc/drbd.conf //该文件指明了配置的模板,以及具体配置文件的路径

//文件指出在/etc/drbd.d/目录下,以.res结尾的即可为配置 //文件

拷贝模板

#cp /usr/share/doc/drbd-utils-8.4.0/drbd.conf.example /etc/drbd.d/drbd.res


注:亦可执行

#echo 'include "drbd.d/drbd.conf.example";' >> /etc/drbd.conf

使其含有配置文件的路径

2 配置

desktop30上执行:

#vi /etc/drbd.d/drbd.res

修改内容如下:

resource example { //example为资源名

...... //此处含有的volume 0的设置为二者共同的 //设置,用于二者用于存储的磁盘相同分区 //相同的的情况,全局设置

            on desktop30.example.com {

                        address 192.168.0.30:7780;

                        volume 0 {

                                device minor 0;

                                disk /dev/vdb1; //此为vdb磁盘上的分区,此为单独的设置, //用于二者分区不同的情况

                               meta-disk internal;

                       }

               }

            on desktop50.example.com {

                      address 192.168.0.50:7780;

                      volume 0 {

                               device minor 0;

                               disk /dev/vdb1;

                               meta-disk internal;

                            }

               }

}


设置解析

因使用了hostname,为防止同步时出错,故最好在解析文件中做好设置

#vi /etc/hosts

添加如下:

192.168.0.30 desktop30.example.com

192.168.0.50 desktop50.example.com


将配置文件复制到另一主机

#scp /etc/drbd.d/drbd.res 192.168.0.50:/etc/drbd.d/


注:两台主机亦可分别复制模板,在分别进行设置,但设置内容需相同即可


desktop30 desktop50上执行:

#drbdadm create-md example //此处example及为 资源名

#/etc/init.d/drbd start

desktop30设置为primary节点(主节点),并同步数据

#drbdsetup /dev/drbd0 primary --force //drbd0为系统自行产生,也可能不 //同,需视具体情况而定


在两台主机上查看同步状态:

#watch cat /proc/drbd

内容如下:

version: 8.4.0 (api:1/proto:86-100)

GIT-hash: 28753f559ab51b549d16bcf487fe625d5919c49c build by root@server36.example.com,

2011-08-14 09:44:01

0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----

ns:126192 nr:0 dw:0 dr:126856 al:0 bm:7 lo:0 pe:145 ua:0 ap:0 ep:1 wo:d oos:922896

[=>..................] sync'ed: 12.2% (922896/1048508)K

finish: 0:02:41 speed: 5,692 (4,484) K/sec


注:以上标注地区为同步进度


同步数据后,创建文件系统:

#mkfs.ext4 /dev/drbd0 //注:只需在一台主机上创建即可

挂载文件系统:

#mount /dev/drbd0 /mnt

存储数据:

#cp -r /boot/* /mnt

卸载文件系统:

#umount /dev/drbd0


desktop30设置为secondary节点:

#drbdadm secondary example


desktop50设置为primary节点

desktop50上执行:

#drbdadm primary example

挂载文件系统:

#mount /dev/drbd0 /mnt


:两台主机上的/dev/drbd0 不能同时挂载,只有状态为 primary ,才能被挂载

使用,而此时另一方的状态为 secondary

阅读(2643) | 评论(0) | 转发(0) |
0

上一篇:软件管理RPM&YUM

下一篇:RHEL6 phpMyAdmin+mysql

给主人留下些什么吧!~~