ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

openEuler 20.03 LTS SP1发行版本DRBD初体验

2021-01-22 20:00:23  阅读:249  来源: 互联网

标签:LTS 初体验 r0 DRBD dev drbd 64 节点


简介
DRBD(Distributed Replicated Block Device,分布式复制块设备)是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。DRBD是镜像块设备,是按数据位镜像成一样的数据块。

通常将两个节点的整块磁盘(或者分区,LVM逻辑卷等设备)规划为DRBD设备。
如果primary节点宕机,secondary节点可以在高可用集群中提升成为primary节点。
当接收到数据,内核判断是发往到drbd设备的数据,存储到本机,同时将一份副本网络传输到secondary节点。
传输过程包括三种方式:异步(A),半同步(B),同步(C)。

通常作为双节点环境保持数据一致性的一种解决方案。

一 环境准备

1 操作系统
准备两个操作系统环境

建议使用多块网卡环境,将drbd的网络流量独立出来减缓业务网卡压力。
# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.16.90.172 test1
172.16.90.174 test2

192.168.1.11  test11
192.168.1.13  test22

# cat /etc/openEuler-release
openEuler release 20.03 (LTS-SP1)
# uname -a
Linux test3 4.19.90-2012.5.0.0054.oe1.x86_64 #1 SMP Tue Dec 22 15:58:47 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/yum.repos.d/openEuler.repo
[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/everything/$basearch/RPM-GPG-KEY-openEuler

[EPOL]
name=EPOL
baseurl=http://repo.openeuler.org/openEuler-20.03-LTS-SP1/EPOL/$basearch/
enabled=1
gpgcheck=1

# dnf install -y drbd drbd-kernel drbd-utils drbd-pacemaker drbd-udev drbd-xen drbd-bash-completion
# rpm -qa |grep drbd
drbd-bash-completion-9.5.0-5.oe1.x86_64
drbd-utils-9.5.0-5.oe1.x86_64
drbd-udev-9.5.0-5.oe1.x86_64
drbd-xen-9.5.0-5.oe1.x86_64
drbd-9.5.0-5.oe1.x86_64
drbd-kernel-9.0.27-1.oe1.x86_64
drbd-pacemaker-9.5.0-5.oe1.x86_64

# cat /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted

# systemctl stop firewalld
# systemctl disable firewalld

2 磁盘
每个操作系统中存在一个单独的磁盘用于DRBD,本文档中均为/dev/sdb设备,大小为1G
# fdisk -l /dev/sdb
Disk /dev/sdb: 1 GiB, 1073741824 bytes, 2097152 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

二 配置

说明:
磁盘设备:         /dev/sdb  1G
DRBD设备:         /dev/drbd
DRBD resource名称:r0
DRBD设备挂载点:   /test


/etc/drbd.d目录中,创建一个以.res结尾的资源文件,本文档中为/etc/drbd.d/r0.res。
两个节点上DRBD相关配置文件内容保持一致,本文档中仅增加了r0.res资源文件。
# cat /etc/drbd.d/r0.res
resource r0 {
    on test1 {
        device /dev/drbd0;
        disk /dev/sdb;
        address 192.168.1.11:7789;
        meta-disk internal;
    }
    on test3 {
        device /dev/drbd0;
        disk /dev/sdb;
        address 192.168.1.13:7789;
        meta-disk internal;
    }
}
注意:文件中使用的test1和test3分别是主机名称。

 

分别在两个节点初始化元数据信息
# drbdadm create-md r0
initializing activity log
initializing bitmap (32 KB) to all zero
Writing meta data...
New drbd meta data block successfully created.

注意:
如果设备非首次使用,初始化之前使用如下命令进行清理。
# dd if=/dev/zero of=/dev/sdb bs=1M count=100

# systemctl is-enabled drbd
disabled
注意:
如果是在类似pacemaker的场景中使用DRBD作为集群资源,drbd服务的启动停止等由pacemaker控制,保持drbd服务开机自启动为disabled状态。
如果是在单独使用drbd的场景中,设置drbd服务为enable状态。

# systemctl start drbd
# systemctl status drbd

# lsmod | grep drbd
drbd_transport_tcp     24576  1
drbd                  532480  2 drbd_transport_tcp
libcrc32c              16384  4 nf_conntrack,nf_nat,drbd,sctp

通过命令 drbdsetup show 可以直接查看资源配置情况


在其中一个节点上执行如下命令,强制设置为primary,使其开始同步:
# drbdsetup primary r0 --force

primary节点上状态:
# drbdsetup status
r0 role:Primary
  disk:UpToDate
  test3 role:Secondary
    peer-disk:UpToDate

secondary节点状态:
# drbdadm status
r0 role:Secondary
  disk:UpToDate
  test1 role:Primary
    peer-disk:UpToDate

primary节点上状态:
# mkfs.xfs -f /dev/drbd0
meta-data=/dev/drbd0             isize=512    agcount=4, agsize=65532 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=262127, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=1566, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

两个节点上创建挂载目录:
mkdir -p /test

primary节点上:
# mount /dev/drbd0 /test
# mount |grep test
/dev/drbd0 on /test type xfs (rw,relatime,attr2,inode64,noquota)
# echo "hello" > /test/a.txt
# cat /test/a.txt
hello

# umount /dev/drbd0      
# drbdsetup secondary r0

secondary节点上执行操作提升为primary节点:
# drbdsetup primary r0
# drbdsetup status
r0 role:Primary
  disk:UpToDate
  hatest1 role:Secondary
    peer-disk:UpToDate

# mount /dev/drbd0 /test
# cat /test/a.txt
hello

至此,DRBD设备可以确认正常工作。

标签:LTS,初体验,r0,DRBD,dev,drbd,64,节点
来源: https://blog.csdn.net/u011153166/article/details/112999222

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有