Rhel6 drbd 配置
系统环境:rhel6 x86_64 selinux and iptables disabled
软件下载:http://oss.linbit.com/drbd
主机:server39 192.168.0.139 /dev/vdb (附加磁盘)
host39 192.168.0.239 /dev/vdb (附加磁盘)注意这里是磁盘整个分区什么的都会进行同步,主要用于数据库大容量的同步。
注意:在附加磁盘的时候注意选择Add Hardware -> storeage -> create a disk p_w_picpath on the computer‘s hard driver(选择1G就可以了) Device type选择Virtio Disk 即可了。。注意添加磁盘的时候要注意将机子关闭。
Cache mode 选择default select managed or other existing storage-> Bowse -> /dev/sda5 ......
(1)yum install gcc flex rpm-build kernel-devel libxslt-y
(2)rpmbuild ~
#解决软件依赖性
#在家目录生成 rpmbuild 编译所需路径
(3) lftp 192.168.0.254
cd /pub/docs/drbd/rhel6
mget *
tar zxf drbd-8.4.0.tar.gz
cd drbd-8.4.0
./configure
make rpm(这可能需要一段时间的。。。。。。)
#编译drbd,产生rpm包
make km-rpm #编译 drbd 内核模块(error: Bad exit status from /var/tmp/rpm-tmp.KBphEC (%prep)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.KBphEC (%prep)
make: *** [km-rpm] Error 1 如果编译的时候出现上述错误有可能是你的内核模块不一致uname -r 与rpm -qa | grep kernel-devel是否版本一致,在本人实验室所在服务器上只留dvd.repo即可。)
(4)cd ~/rpmbuild/RPMS/x86_64
rpm -ivh *
(5)拷贝生成的 rpm 包到另一主机,并安装软件包:
scp ~/rpmbuild/RPMS/x86_64/* desktop86:/root
ssh root@desktop86 'rpm -ivh /root/drbd-*.rpm'
(在对方主机上运行命令 rpm -ivh *.rpm 意思是在对方机子上安装rpm安装包)
(6) 以下配置在两台主机上完成:
cp /usr/share/doc/drbd-utils-8.4.0/drbd.conf.example /etc/drbd.d/
echo 'include "drbd.d/drbd.conf.example";' >> /etc/drbd.conf
(7)编辑/etc/drbd.d/drbd.conf.example,修改如下:
resource example {
options {
on-no-data-accessible suspend-io;
}
net {
cram-hmac-alg "sha1";
shared-secret "secret_string";
}
on desktop85.example.com {
address 192.168.0.85:7780;
volume 0 {
device minor 0;
disk /dev/vdb;
meta-disk internal;
}
}
on desktop86.example.com {
address 192.168.0.86:7780;
volume 0 {
device minor 0;
disk /dev/vdb;
meta-disk internal;
}
}
}
或者:
resource example {
...... on-no-data-accessible suspend-io;
}
net {
cram-hmac-alg "sha1";
shared-secret "secret_string";
}
volume 0 {
device minor 0;
disk /dev/vdb;
meta-disk internal;
}//这是属于公共的部分。
on server39.example.com {
address 192.168.0.139:7780;
}
on host39.example.com {
address 192.168.0.239:7780;
}
}
(8)在两台主机上分别执行以下命令:
drbdadm create-md example
/etc/init.d/drbd start
(9)将 server39 设置为 primary 节点,并同步数据:(在 demo 主机执行以下命令)
drbdsetup /dev/drbd0 primary --force(强制性的)
(10)在两台主机上查看同步状态:
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
(11)数据同步结束后创建文件系统:
mkfs.ext4 /dev/drbd0
(12) 挂载文件系统:
mount /dev/drbd0 /var/www/html
(13) 存放数据:
cp -r /etc/* /var/www/html
(14) 卸载文件系统:
umount /dev/drbd0
(15)将 server39 设置为 secondary 节点:
drbdadm Secondary example
(16) 将 host39 设置为 primary 节点:(在 host39 主机执行一下命令)
drbdadm Primary example
(17) 挂载文件系统,查看数据是否同步:
mount /dev/drbd0 /var/www/html
ls 查看是否同步。
注意:两台主机上的/dev/drbd0 不能同时挂载,只有状态为 primary 时,才能被挂载,状态为secondary的时候不能挂载。
使用,而此时另一方的状态为 secondary。
drbd磁盘同步
原创
©著作权归作者所有:来自51CTO博客作者sushanshan的原创作品,谢绝转载,否则将追究法律责任
上一篇:Sersync服务器同步
下一篇:mysql命令详解

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
基于DRBD的数据同步
主机名 IP地址主机1 node1.wang.com 网卡0:192.168.1.10/24  
职场 休闲 DRBD 数据 同步