drbd磁盘同步

主机:desktop85 192.168.0.85 /dev/vdb (附加磁盘)
desktop86 192.168.0.86 /dev/vdb (附加磁盘)

yum install gcc flex rpm-build kernel-devel -y   #解决软件依赖性

下载 drbd-8.4.0.tar.gz
rpmbuild ~#在家目录生成 rpmbuild 编译所需路径
tar zxf drbd-8.4.0.tar.gz
cd drbd-8.4.0
./configure
make rpm    #编译 drbd.编译时会从sf.org 网站下载文件,如果网站访问不了,则编译失败。可以用下面的另一种方法。
make km-rpm #编译 drbd 内核模块
另一种安装方法:
tar zxf drbd-8.4.0.tar.gz
cd drbd-8.4.0
./configure   --enable-spec --with-km
rpmbuild -bb drbd.spec
rpmbuild -bb drbd-km.spec #编译内核模块  此时在~/rpmbuild/RPMS/x86_64目录就编译好rpm包了。

cd ~/rpmbuild/RPMS/x86_64
rpm -ivh *
scp drbd* 192.168.0.226:    #拷贝生成的 rpm 包到另一主机,并安装软件包:

在另一台主机:
rpm -ivh /root/drbd-*

以下配置在两台主机上完成:
cp /usr/share/doc/drbd-utils-8.4.0/drbd.conf.example /etc/drbd.d/
cd /etc/drbd.d/
cp drbd.conf.example   drbd.res

编辑/etc/drbd.d/drbd.conf.example,修改如下:
resource example {
......
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;
}

}
}
scp drbd.res 192.168.0.54:/etc/drbd.d/
如果此配置文件中只有两个 on desktop86.example.com和on desktop85.example.com,则需在/etc/drbd.d/ 的global_common.conf 修改
cram-hmac-alg "sha1";

在两台主机上分别执行以下命令:
# drbdadm create-md example
NewNew drbd meta data block successfully created. 这样就表示好了
如果执行上述命令时报操作拒绝:
Found ext3 filesystem
     2097152 kB data area apparently used
     2097052 kB left usable by current configuration

Device size would be truncated, which
would corrupt data and result in
'access beyond end of device' errors.
You need to either
   * use external meta data (recommended)
   * shrink that filesystem first
   * zero out the device (destroy the filesystem)
Operation refused.
这表示你在建立/dev/vg1/lv1 时格式化了。然后:
dd if=/dev/zero of=/dev/vg1/lv1.等几秒就行了,主要是把之前建立的文件系统的信息檫掉的就可以了。
# /etc/init.d/drbd start
Starting DRBD resources: [
     create res: example
   prepare disk: example
    adjust disk: example
     adjust net: example
]                          这样就表示好

将 demo 设置为 primary 节点,并同步数据:(在 demo 主机执行以下命令)
# drbdsetup /dev/drbd0 primary --force   强制将drbd0 置为主,并进行更新。
在两台主机上查看同步状态:
# watch cat /proc/drbd 此时就是Primary/Secondary。出现UpToDate/UpToDate 就表示更新完成。


数据同步结束后创建文件系统:
# mkfs.ext4 /dev/drbd0  只需在primary 主机格式化
挂载文件系统:
# mount /dev/drbd0 /var/www/html
如果drbd 是用lvm创建的,还可以将其拉伸,增加其容量。
1.lvmextent -L +G /var/www/html  两台drbd主机都需拉伸
2.drbdadm resize mfsdata        只需在primary 节点主机拉伸drbd,mfsdata是资源名
3.resize2fs  /dev/drbd0            拉伸文件系统

存放数据:
# cp -r /etc/* /var/www/html
卸载文件系统:
# umount /dev/drbd0
将 demo 设置为 secondary 节点:
# drbdadm secondary example
将 remote 设置为 primary 节点:(在 remote 主机执行一下命令)
# drbdadm primary example
挂载文件系统,查看数据是否同步:
# mount /dev/drbd0 /var/www/html


注意:两台主机上的/dev/drbd0 不能同时挂载,只有状态为 primary 时,才能被挂载
使用,而此时另一方的状态为 secondary。
 

你可能感兴趣的:(drbd磁盘同步)