《高性能Linux服务器构建实战:系统安全、故障排查、自动化运维与集群架构》——第3章 数据安全工具DRBD、extundelete 3.1 数据镜像软件DRBD介绍

本文涉及的产品
数据安全中心,免费版
简介:

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

第3章 数据安全工具DRBD、extundelete

3.1 数据镜像软件DRBD介绍

分布式块设备复制(Distributed Replicated Block Device,DRBD),是一种基于软件的、基于网络的块复制存储解决方案,主要用于对服务器之间的磁盘、分区、逻辑卷等进行数据镜像。当用户将数据写入本地磁盘时,还会将数据发送到网络中另一台主机的磁盘上,这样本地主机(主节点)与远程主机(备节点)的数据就可以保证实时同步,当本地主机出现问题,远程主机上还保留着一份相同的数据,可以继续使用,保证了数据的安全。
3.1.1 DRBD的基本功能
DRBD的核心功能就是数据的镜像,其实现方式是通过网络来镜像整个磁盘设备或磁盘分区,将一个节点的数据通过网络实时地传送到另一个远程节点,保证两个节点间数据的一致性,这有点类似于一个网络RAID1的功能。对于DRDB数据镜像来说,它具有如下特点:
实时性。当应用对磁盘数据有修改操作时,数据复制立即发生。
透明性。应用程序的数据存储在镜像设备上是透明和独立的。数据可以存储在基于网络的不同服务器上。
同步镜像。当本地应用申请写操作时,同时也在远程主机上开始进行写操作。
异步镜像。当本地写操作已经完成时,才开始对远程主机进行写操作。
3.1.2 DRBD的构成
DRBD是Linux内核存储层中的一个分布式存储系统,具体来说由两部分构成,一部分是内核模板,主要用于虚拟一个块设备;一部分是用户空间管理程序,主要用于和DRBD内核模块通信,以管理DRBD资源。在DRBD中,资源主要包含DRBD设备、磁盘配置、网络配置等。
一个DRBD系统有两个以上节点构成,分为主用节点和备用节点两个角色,在主用节点上,可以对DRBD设备进行不受限制的读写操作,可以用来初始化、创建、挂载文件系统。在备用节点上,DRBD设备无法挂载,只能用来接收主用节点发送过来的数据,也就是说备用节点不能用于读写访问,这样做的目的是保证数据缓冲区的一致性。
主用节点和备用节点不是固定不变的,可以通过手工方式改变节点的角色,备用节点可以升级为主用节点,同时主用节点也可以降级为备用节点。
DRBD设备在整个DRBD系统中位于物理块设备之上,文件系统之下,在文件系统和物理磁盘之间形成了一个中间层,当用户在主用节点的文件系统中写入数据时,数据被正式写入磁盘前会被DRBD系统截获,同时,DRBD在捕捉到有磁盘写入的操作时,就会通知用户空间管理程序把这些数据复制一份,写入远程主机的DRBD镜像,然后存入DRBD镜像所映射的远程主机磁盘。图3-1详细展示了DRBD系统的运行结构。

image

DRBD负责接收数据,把数据写到本地磁盘,然后发送给另一台主机。另一台主机再将数据存到自己的磁盘中。目前,DRBD每次只允许对一个节点进行读写访问,这对于通常的故障切换高可用性集群来讲已经足够用了。以后的版本将支持两个节点进行读写存取。
3.1.3 DRBD与现在的集群的关系
DRBD由两个或两个以上节点构成,与HA集群类似,也有主用节点和备用节点之分,因而经常用于高可用集群和负载均衡集群系统中作为共享存储设备。由于DRBD系统是在IP网络中运行,所以,在集群中使用DRBD作为共享存储设备,不需要任何硬件投资,可以节约很多成本,因为在价格上IP网络要比专用的存储网络更经济。
另外,DRBD也可以用于数据备份、数据容灾等方面。
3.1.4 DRBD的主要特性
DRBD系统在实现数据镜像方面有很多有用的特性,我们可以根据自己的需要和应用环境,选择适合自己的功能特性。下面依次介绍DRBD几个非常重要的应用特性。
1 . 单主模式
这是使用最频繁的一种模式,主要用在高可用集群的数据存储方面,解决集群中数据共享的问题,在这种模式下,集群中只有一个主用节点可以对数据进行读写操作,可以用在这种模式下的文件系统有ext3、ext4、xfs等。
2 . 双主模式
这种模式只能在DRBD8.0以后的版本中使用,主要用在负载均衡集群中,解决数据共享和一致性问题。在这种模式下,集群中存在两个主用节点,由于两个主用节点都有可能对数据进行并发的读写操作,因此单一的文件系统就无法满足需求了,此时就需要共享的集群文件系统来解决并发读写问题。常用在这个模式下的文件系统有GFS、OCFS2等,通过集群文件系统的分布式锁机制就可以解决集群中两个主用节点同时操作数据的问题。
3 . 复制模式
DRBD提供了三种不同的复制方式,分别是:
协议A,只要本地磁盘写入已经完成,数据包已经在发送队列中,则认为一个写操作过程已经完成。
这种方式在远程节点故障或者网络故障时,可能造成数据丢失,因为要写入到远程节点的数据可能还在发送队列中。
协议B,只要本地磁盘写入已经完成,并且数据包已经到达远程节点,则认为一个写操作过程已经完成。
这种方式在远程节点发生故障时,可能造成数据丢失。
协议C,只有本地和远程节点的磁盘已经都确认了写操作完成,则认为一个写操作过程已经完成。
这种方式没有任何数据丢失,就目前而言应用最多、最广泛的就是协议C,但在此方式下磁盘的I/O吞吐量依赖于网络带宽。建议在网络带宽较好的情况下使用这种方式。
4 . 传输完整性校验
这个特性在DRBD8.2.0及以后版本中可以使用,DRBD使用MD5、SHA-1或CRC-32C等加密算法对信息进行终端到终端的完性验证。利用这个特性,DRBD对每一个复制到远程节点的数据都生成信息摘要,同时,远端节点也采用同样的方式对复制的数据块进行完整性验证,如果验证信息不对,就请求主节点重新发送。通过这种方式保证镜像数据的完整性和一致性。
5 . 脑裂通知和自动修复
由于集群节点间的网络连接临时故障、集群软件管理干预或者人为错误,导致DRBD两个节点都切换为主用节点而断开连接,这就是DRBD的脑裂问题。发生脑裂意味着数据不能从主用节点复制到备用节点,这样会导致DRDB两个节点的数据不一致,并且无法合并。
在DRBD8.0及更高版本,实现了裂脑自动修复功能,在DRBD8.2.1之后,又实现了裂脑通知特性,在出现脑裂后,一般建议通过手工方式修复脑裂问题,为了彻底解决脑裂问题。在某些情况下脑裂自动修复还是比较可取的,DRBD自动修复脑裂的策略如下:
丢弃比较新的主用节点所做的修改。在这种模式下,当网络重新建立连接并且发现了脑裂后,DRBD会丢弃自动切换到主用节点上的主机所修改的数据。
丢弃老的主用节点所做的修改。在这种模式下,DRBD会丢弃首先切换到主用节点上的主机所修改的数据。
丢弃修改比较少的主用节点的修改。在这种模式下,DRBD会首先检查两个节点的数据,然后丢弃修改比较少的主机上的数据。
一个节点数据没有发生变化的情况下完美修复脑裂。在这种模式下,如果其中一台主机在发生裂脑时没有发生数据修改,那么就可以完美解决脑裂问题。

相关文章
|
9天前
|
存储 机器学习/深度学习 数据库
阿里云服务器X86/ARM/GPU/裸金属/超算五大架构技术特点、场景适配参考
在云计算技术飞速发展的当下,云计算已经渗透到各个行业,成为企业数字化转型的关键驱动力。选择合适的云服务器架构对于提升业务效率、降低成本至关重要。阿里云提供了多样化的云服务器架构选择,包括X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等。本文将深入解析这些架构的特点、优势及适用场景,以供大家了解和选择参考。
174 61
|
14天前
|
Linux 开发工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
|
1天前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
47 32
|
10天前
|
运维 Linux 网络安全
国产服务器管理工具对比
本内容以表格形式对比了五款工具(宝塔面板、1Panel、gmSSH、Xterminal)的功能定位、用户界面、核心功能、适用场景等关键维度。涵盖服务器运维、容器化管理、SSH客户端及跨平台支持等方面,帮助用户根据需求选择合适的工具。适合开发者、运维人员及中小企业技术团队参考。
|
3天前
|
数据挖掘 Linux 数据库
服务器数据恢复—Linux系统服务器数据恢复案例
服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障: 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。
|
1月前
|
JavaScript Linux Python
在Linux服务器中遇到的立即重启后的绑定错误:地址已被使用问题解决
总的来说,解决"地址已被使用"的问题需要理解Linux的网络资源管理机制,选择合适的套接字选项,以及合适的时间点进行服务重启。以上就是对“立即重启后的绑定错误:地址已被使用问题”的全面解答。希望可以帮你解决问题。
113 20
|
2月前
|
自然语言处理 数据库 iOS开发
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
163 12
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
|
1月前
|
运维 安全 Linux
试试Linux设备命令行运维工具——Wowkey
WowKey 是一款专为 Linux 设备设计的命令行运维工具,提供自动化、批量化、标准化的运维解决方案。它简单易用、高效集成且无依赖,仅需 WIS 指令剧本文件、APT 账号密码文件和 wowkey 命令即可操作。通过分离鉴权与执行过程,WowKey 让运维人员专注于决策,摆脱繁琐的交互与执行工作,大幅提升运维效率与质量。无论是健康检查、数据采集还是配置更新,WowKey 都能助您轻松应对大规模设备运维挑战。立即从官方资源了解更多信息:https://atsight.top/training。
|
1月前
|
数据采集 运维 安全
Linux设备命令行运维工具WowKey问答
WowKey 是一款用于 Linux 设备运维的工具,可通过命令行手动或自动执行指令剧本,实现批量、标准化操作,如健康检查、数据采集、配置更新等。它简单易用,只需编写 WIS 指令剧本和 APT 帐号密码表文件,学习成本极低。支持不同流派的 Linux 系统,如 RHEL、Debian、SUSE 等,只要使用通用 Shell 命令即可通吃Linux设备。
|
2月前
|
存储 机器学习/深度学习 应用服务中间件
阿里云服务器架构解析:从X86到高性能计算、异构计算等不同架构性能、适用场景及选择参考
当我们准备选购阿里云服务器时,阿里云提供了X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器以及高性能计算等多种架构,每种架构都有其独特的特点和适用场景。本文将详细解析这些架构的区别,探讨它们的主要特点和适用场景,并为用户提供选择云服务器架构的全面指南。
443 18

热门文章

最新文章