DRBD配置

7,836 阅读2分钟

DRBD

安装DRBD

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

yum install -y drbd90-utils kmod-drbd90

启动DRBD内核模块

modprobe drbd
echo drbd > /etc/modules-load.d/drbd.conf

移除默认配置

mv /etc/drbd.d/global_common.conf /etc/drbd.d/global_common.conf.orig

创建全局配置

cat << EOF > /etc/drbd.d/global_common.conf
global {
    # 禁用linbit公司收集drbd的使用情况
    usage-count no;
}

common {
    handlers {
    }

    startup {
    }

    options {
    }

    disk {
    }

    net {
        protocol C;
        # 调节 TCP send buffer 的大小, 0(自动调节大小), 128k(默认值), 512k(高吞吐量网络使用)
        sndbuf-size 512k;
        # 设定由drbd分配的最大请求数,这些buffer用来存储即将写入磁盘的数据
        max-buffers 8192;
        # 设置两次 write barriers 之间最大的数据块
        max-epoch-size 8192;
        # 指定HMAC算法来启用对等节点授权                
        cram-hmac-alg "sha1";
    }
}
EOF

创建资源配置文件

cat << EOF > /etc/drbd.d/r0.res
resource r0 {
  on hostname-01 {
    device /dev/drbd1;
    disk /dev/vdb;
    address 10.14.xx.66:7789;
    meta-disk internal;
  }
  on hostname-02 {
    device /dev/drbd1;
    disk /dev/vdb;
    address 10.14.xx.67:7789;
    meta-disk internal;
  }
}
EOF

初始化设备元文件

drbdadm create-md r0

踩坑记录:执行drbdadm create-md r0,报错

解决方法

dd if=/dev/zero of=/dev/vdb bs=1M count=100

启动系统服务

需要快速同时启动两台服务器的DRBD服务

systemctl enable drbd
systemctl start drbd

主节点

在szns-bank-c-poc启动设备并使其成为主节点

drbdadm primary r0

如果启用主节点命令失败需要使用以下命令

drbdadm primary r0 --force

查看同步进程

drbdsetup status r0 --verbose --statistics

如果启用了防火墙需打开7789端口

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="ip_address" port port="7789" protocol="tcp" accept'
firewall-cmd --reload

验证

在hostname-02执行以下命令创建文件系统并挂载

mkfs.xfs /dev/drbd1
mount /dev/drbd1 /data

创建测试文件

touch /data/file{1..3}
ls -l /data
total 0
-rw-r--r--. 1 root root 0 Jun 10 09:43 file1
-rw-r--r--. 1 root root 0 Jun 10 09:43 file2
-rw-r--r--. 1 root root 0 Jun 10 09:43 file3

卸载文件系统并切换为备节点

umount /data
drbdadm secondary r0

在hostname-01上执行以下命令确认文件

drbdadm primary r0
mount /dev/drbd1 /data
ls -l  /data
total 0
-rw-r--r--. 1 root root 0 Jun 10 09:43 file1
-rw-r--r--. 1 root root 0 Jun 10 09:43 file2
-rw-r--r--. 1 root root 0 Jun 10 09:43 file3

DRBD 挂载磁盘

umount /data
drbdadm secondary r0

mount /dev/drbd1 /data
drbdadm primary r0

都看到这里了,点个赞再走吧,爱你么么哒~