web集群-DRBD+NFS+keepalived高可用共享存储

DRBD是一个基于软件的、无共享、复制存储解决方案,它在主机之间镜像块设备(硬盘、分区、逻辑卷等)的内容。DRBD的核心功能是通过Linux内核模块实现的。
管理工具:

drbdadmDRBD-utils程序套件的高级管理工具。
drbdsetup配置加载到内核中的DRBD模块。
drbdmeta允许创建、转储、还原和修改DRBD元数据结构。

资源角色:Primary 或 Secondary

primary :可以不受限制地用于读写操作。它可用于创建和装载文件系统、原始或直接I/O到块设备等。 
secondary :接收来自对等节点设备的所有更新,但在其他情况下完全不允许访问。
			它不能被应用程序使用,也不能用于读写访问。不允许对设备进行只读访问的原因是必须保持缓存一致性。

DRBD特征:

1、单主(Single-primary)模式
2、双主(Dual-primary)模式
3、复制(Replication)模式
允许三种程度的复制同步性:

Protocol A
异步复制协议。一旦本地磁盘写入完成,并且复制数据包已放置在本地TCP发送缓冲区中,则认为主节点上的本地写入操作已完成。
Protocol B
内存同步(半同步)复制协议。一旦本地磁盘写入发生,并且复制数据包已到达对等节点,则认为主节点上的本地写入操作已完成。
Protocol C
同步复制协议。只有在确认本地和远程磁盘写入之后,主节点上的本地写入操作才被视为完成。因此,单个节点的丢失不会导致任何数据丢失。

案例配置

主机名及IP地址 角色
node1:192.168.16.11
node2:192.168.16.12
内核版本 3.10.0-1062.el7.x86_64
发行版 CentOS Linux release 7.7.1908 (Core)

node1,node2都添加一块10G大小的硬盘

[root@node1 ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   10G  0 disk 
sr0              11:0    1  942M  0 rom  

DRBD配置

配置流程:

1、关闭防火墙,禁用SElinux
# systemctl stop firewalld
# iptables -F
# sed -i '/^SELINUX=/ cSELINUX=disabled' /etc/selinux/config
# setenforce 0

2、配置hosts解析
# vim /etc/hosts
192.168.16.11 node1
192.168.16.12 node2

3、双机免秘钥互信配置
# ssh-keygen -t dsa -f ~/.ssh/id_dsa -N ''
[root@node1 ~]# ssh-copy-id node2
[root@node2 ~]# ssh-copy-id node1

4、配置扩展源下载安装包
# vim  /etc/yum.repos.d/elrepo.repo
[elrepo]
name=ELRepo.org Community Enterprise Linux Repository - el7
baseurl=https://mirrors.tuna.tsinghua.edu.cn/elrepo/elrepo/el7/x86_64/
enabled=1
gpgcheck=0

# yum install -y drbd84-utils kmod-drbd84

5、加载模块
# modprobe drbd
modprobe: FATAL: Module drbd not found.   #出现这个错误说明linux内核版本过低
升级linux内核版本,升级完成必须重启生效
# yum -y install kernel-devel kernel kernel-headers
# reboot   

6、查看模块是否加载
[root@node1 ~]# lsmod | grep drbd
drbd                  397041  0 
libcrc32c              12644  4 xfs,drbd,nf_nat,nf_conntrack

配置文件:/etc/drbd.conf,包含全局配置文件drbd.d/目录下以.res结尾的文件

# vim /etc/drbd.conf 
# You can find an example in  /usr/share/doc/drbd.../drbd.conf.example

include "drbd.d/global_common.conf";
include "drbd.d/*.res";
~                         
7、编辑`/etc/drbd.d/global_common.conf`文件

global {
   
        usage-count no; #
        # Decide what kind of udev symlinks you want for "implicit" volumes
        # (those without explicit volume <vnr> {} block, implied vnr=0):
        # /dev/drbd/by-resource/<resource>/<vnr>   (explicit volumes)
        # /dev/drbd/by-resource/<resource>         (default for implict)
        udev-always-use-vnr; 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值