Linux网络Raid DRBD
DRBD(Distributed Replicated Block Device),DRBD 号称是 “网络 RAID”,开源软件,由
LINBIT 公司开发。DRBD实际上是一种块设备的实现,主要被用于Linux平台下的高可用(HA)方案之
中。他有内核模块和相关程序而组成,通过网络通信来同步镜像整个设备,有点类似于一个网络
RAID-1的功能。也就是说当你将数据写入本地的DRBD设备上的文件系统时,数据会同时被发送到网络
中的另外一台主机之上,并以完全相同的形式记录在文件系统中。本地节点与远程节点的数据可以保证
实时的同步,并保证IO的一致性。所以当本地节点的主机出现故障时,远程节点的主机上还会保留有一
份完全相同的数据,可以继续使用,以达到高可用的目的
1. yum install gcc flex rpm-build kernel-devel -y 解决软件的依赖性
2.rpmbuild ~ 在家目录生成 rpmbuild 编译所需路径
3.tar zxf drbd-8.4.0.tar.gz
drbd-8.04
5../configure
6.make rpm 编译brbd
7.make km-rpm 编译drbd内核模块
8cd ~/rpmbuild/RPMS/x86_64
9rpm -ivh *
10 scp -r ~/rpmbuild/RPMS/x86_64/* 192.168.0.31:~/root/
11ssh 192.168.0.31
12 cd rpmbuild/RPMS/x86_64
13 rpm -ivh *
14 cp /usr/share/doc/drbd-utils-8.4.0/drbd.conf.example /etc/drbd.d
15 mv /etc/drbd.d/drbd.conf.example /etc/drbd.d/drbd.res
16 fdisk -l
17 partx -a /dev/vdb
18另一台机器 fdis -l
19 partx -a /dev/vdc
/etc/drbd.res
resource example {
options {
on-no-data-accessible suspend-io;
}
net {
cram-hmac-alg "sha1";
shared-secret "secret_string";
}
# The disk section is possible on resource level and in each
# volume section
disk {
# If you have a resonable RAID controller
# with non volatile write cache (BBWC, flash)
disk-flushes no;
disk-barrier no;
md-flushes no;
}
# volume sections on resource level, are inherited to all node
# sections. Place it here if the backing devices have the same
# device names on all your nodes.
on { 主机的全名
address 192.168.0.230:7780;
volume 0 {
device minor 0;
disk /dev/vdb1; 主机的分区
meta-disk internal;
}
}
on { 第二台主机的全名
address 192.168.0.231:7780;
volume 0 {
device minor 0;
disk /dev/vdc1; 第二台主机的分区
meta-disk internal;
}
}
}
21. vim /etc/hostos 2个主机的解析
192.168.0.230
192.168.0.231
23. 把/etc/drbd.res /etc/hostos 拷贝到另一个机器
24.drbdadm create-md example
25 /etc/init.d/drbd start
26 将 demo 设置为 primary 节点,并同步数据:(在 demo 主机执行以下命令)
drbdsetup /dev/drbd0 primary --force
27 在两台主机上查看同步状态:
# watch cat /proc/drbd
在两台主机上查看同步状态:
# watch cat /proc/drbd
注意
1 mv /etc/drbd.d/drbd.conf.example /etc/drbd.d/drbd.res 改名
2.hostos 解析