《高性能Linux服务器构建实战:系统安全、故障排查、自动化运维与集群架构》——3.2 DRDB的安装与配置

简介:

本节书摘来自华章计算机《高性能Linux服务器构建实战:系统安全、故障排查、自动化运维与集群架构》一书中的第3章,第3.2节,作者:高俊峰著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.2 DRDB的安装与配置

3.2.1 安装环境说明
操作系统统一采用CentOS5.5-x86-64,安装环境如表3-1所示。
image

其中,主用节点和备用节点两块磁盘/dev/sdb1是未经格式化的物理磁盘分区,大小均为10GB。为了不浪费磁盘空间,建议主用节点和备用节点的镜像磁盘大小保持一致。
DRBD安装的基本拓扑信息如图3-2所示。

image

3.2.2 DRBD的安装部署
DRBD的安装非常简单,可以通过源码和yum源方式进行安装。简单起见,我们直接使用yum源方式来安装,其他系统基本类似。下面介绍具体的安装过程。
通过yum安装DRBD服务,执行如下命令:

[root@master-drbd ~]# yum -y install kmod-drbd83 drbd83

加载DRBD模块到内核:

[root@master-drbd ~]# modprobe  drbd

检查DRBD是否安装成功:

[root@master-drbd ~]# lsmod | grep -i drbd
drbd                  300440  0

查看drbd.ko安装的路径:

[root@master-drbd ~]# modprobe -l | grep -i drbd
/lib/modules/2.6.18-194.el5/weak-updates/drbd83/drbd.ko

安装成功之后drbd相关工具(drbdadm,drbdsetup)被安装在/sbin目录下面,并且会建立/etc/init.d/drbd启动脚本。
3.2.3 快速配置一个DRBD镜像系统
DRBD的配置文件主要分三个部分:global、common和resource。在运行时默认读取配置文件的路径是/etc/drbd.conf,这个文件描述了DRBD的一些配置参数以及DRBD设备与硬盘分区的映射关系,在默认情况下这个文件是空的,不过在DRBD的源代码包中包含了配置文件的样例。如果DRBD是通过yum源方式安装的,可以到对应的样例目录下去复制一份到/etc目录下。在本书的环境下,样例目录是/usr/share/doc/drbd83-8.3.13/。drbd.conf配置文件包含的内容如下:

include "/etc/drbd.d/global_common.conf";
include "/etc/drbd.d/*.res";

一般情况下,global_common.conf文件仅包含DRBD的global和common配置部分,而在/etc/drbd.d目录下还可以创建*.res的资源文件,只要所创建的文件是以文件名res结尾的,DRBD在启动的时候就会自动读取。将配置文件每个部分独立出来,这样做的好处是便于管理和维护。其实将DRBD所有配置部分都整合到一个单独的drbd.conf文件中也是可以的,不过,对于需要配置的资源比较多的情况,这样做就会变得混乱,难于管理。
为了讲述方便,下面我们将DRBD的所有配置都集中到一个配置文件中。下面是两台DRBD主机节点配置文件drbd.conf的简单示例。

[root@master-drbd ~]# cat /etc/drbd.conf
# drbd.conf
global {
usage-count no;    #是否参加DRBD使用者统计,默认参加
}
common {
syncer { rate 200M; }    #设置主用节点和备用节点同步时的网络速率最大值,单位是字节

}
resource r0 {    #资源名字为r0
protocol C;    #使用DRBD的第三种同步协议,表示收到远程主机的写入确认后认为写入完成
handlers {
pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";
pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";
local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
fence-peer "/usr/lib64/heartbeat/drbd-peer-outdater -t 5";
pri-lost "echo pri-lost. Have a look at the log files. | mail -s 'DRBD Alert' root";
split-brain "/usr/lib/drbd/notify-split-brain.sh root";
out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
}
net {
cram-hmac-alg "sha1";        # DRBD同步时使用的验证方式和密码信息
shared-secret "MySQL-HA";
}
disk {        # 使用dpod功能(drbd outdate-peer daemon)保证在数
        # 据不同步时不进行切换
on-io-error detach;
fencing resource-only;
}
startup {
wfc-timeout 120;
degr-wfc-timeout 120;
}
device /dev/drbd0;
on master-drbd {        # 每个主机的说明以on开头,后面是hostname(uname -n),
        # 再后面的{}中为这个主机的配置
disk /dev/sdb1;        # /dev/drbd0使用的磁盘分区是/dev/sdb1
address 192.168.12.181:7788;    #设置DRBD的监听端口,用于与另一台主机通信
meta-disk internal;
}
on slave-drbd {
disk /dev/sdb1;        # /dev/drbd0使用的磁盘分区是/dev/sdb1
address 192.168.12.182:7788;    #设置DRBD的监听端口,用于与另一台主机通信
meta-disk internal;         # DRBD的元数据存放方式
}
}

将上面这个drbd.conf文件分别复制到两台主机的/etc目录下。drbd.conf的配置参数很多,有兴趣的读者可以使用命令“man drbd.conf”来查看了解更多的参数说明。

相关文章
|
4天前
|
弹性计算 负载均衡 Java
【上云基础系列 02-01】通过SLB+1台ECS+ESS弹性伸缩,搭建一个精简版的上云标准弹性架构(含方案及教程)
通常,构建一个弹性架构(即使是一个最基础的入门版),至少需要2台ECS。但是,很多小微企业刚开始上云的时候,为了节省成本不愿意购买更多的服务器。通过 “ALB+ESS弹性伸缩+1台ECS+RDS”方案,在保障低成本的同时,也不牺牲业务架构的弹性设计,更避免了很多人因为节省成本选择了单体架构后频繁改造架构的困局。 方案中的几个设计非常值得小微企业借鉴:(1)通过ALB/RDS的按量付费,节省了初期流量不大时的费用;(2)通过ESS弹性伸缩,不需要提前购买服务器资源,但是当业务增长或减少时却保持了资源弹性自动扩缩容。
|
4天前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
24天前
|
Java 网络安全 开发工具
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
通过本文,读者可以深入了解Git的核心概念和实际操作技巧,提升版本管理能力。
|
2月前
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
74 8
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
|
2月前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
277 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
1月前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
1月前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器ECS架构区别及选择参考:X86计算、ARM计算等架构介绍
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下这些架构各自的主要性能及适用场景,以便大家了解不同类型的架构有何不同,主要特点及适用场景有哪些。
141 10
|
1月前
|
存储 人工智能 运维
面向AI的服务器计算软硬件架构实践和创新
阿里云在新一代通用计算服务器设计中,针对处理器核心数迅速增长(2024年超100核)、超多核心带来的业务和硬件挑战、网络IO与CPU性能增速不匹配、服务器物理机型复杂等问题,推出了磐久F系列通用计算服务器。该系列服务器采用单路设计减少爆炸半径,优化散热支持600瓦TDP,并实现CIPU节点比例灵活配比及部件模块化可插拔设计,提升运维效率和客户响应速度。此外,还介绍了面向AI的服务器架构挑战与软硬件结合创新,包括内存墙问题、板级工程能力挑战以及AI Infra 2.0服务器的开放架构特点。最后,探讨了大模型高效推理中的显存优化和量化压缩技术,旨在降低部署成本并提高系统效率。
|
2月前
|
运维 监控 Linux
推荐几个不错的 Linux 服务器管理工具
推荐几个不错的 Linux 服务器管理工具
171 6
|
2月前
|
弹性计算 Java 数据库
Web应用上云经典架构实战
本课程详细介绍了Web应用上云的经典架构实战,涵盖前期准备、配置ALB、创建服务器组和监听、验证ECS公网能力、环境配置(JDK、Maven、Node、Git)、下载并运行若依框架、操作第二台ECS以及验证高可用性。通过具体步骤和命令,帮助学员快速掌握云上部署的全流程。