问题标签 [drbd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
383 浏览

linux - DRBD 解析错误:在 CentOS 上得到 'incon-degr-cmd' (TK 282)

设置

我目前有两个 NFS 服务器。计划是他们使用 DRBD 实时相互镜像数据,并使用心跳相互监控。

这是我目前的/etc/drbd.d/t0.res配置。

错误 当我尝试使用 drbdadm 命令时,出现以下错误:

0 投票
2 回答
2065 浏览

debian-stretch - 重新启动后,DRBD 出现已连接无盘/无盘状态

在无人看管的断电后,面临一个重大问题,DBRB每次重新启动都会出现已连接无盘/无盘状态。

主要问题:

  • dump-md 响应:发现元数据是“不干净的”
  • apply-al 命令以退出代码 20 终止,消息打开(/dev/nvme0n1p1)失败:设备或资源忙
  • drbd 资源配置无法独占打开。

关于环境:

这个 drbd 资源通常用作 lvm 的块存储,它被配置为 proxmox ve 5.3-8 集群的(共享 lvm)存储。在 drbd 块设备之上配置了一个 lvm,但在 drbd 主机 lvm config 上,drbd 服务下面的设备(/dev/nvme0n1p1)被过滤掉(/etc/lvm/lvm.conf 如下所示)

drbd下的设备是PCIe NVMe设备

它具有 systemctl 显示的一些额外属性:

sytemctl 中列出的其他存储设备普通 SAS 磁盘看起来有些不同:

使用 ls 列出 NVMe /sys/devices/..:

事情不是hepls:

  • 再次重启无济于事
  • drbd 服务重启无济于事
  • drbdadm 分离/断开/附加/服务重启无济于事
  • 在这些 drbd 节点上未配置 nfs-kernel-server 服务(因此无法取消配置 nfs-server)

经过一番调查:

dump-md response: Found meta data is "unclean" , please apply-al first apply-al command terminate with exit code 20 with this message: open(/dev/nvme0n1p1) failed: Device or resource busy

看来问题是我的drbd资源配置使用的这个设备(/dev/nvme0n1p1)不能独占打开

失败的 DRBD 命令:

DRBD 服务状态/命令:

尝试重新附加资源 r0:

lsof,定影器零输出:

资源磁盘分区和 LVM 配置:

DRBD 资源配置:

其他节点:

依此类推,每个命令响应和配置都显示与上面的节点 pmx0 相同...

Debian 和 DRBD 版本:

坐骑:

0 投票
1 回答
501 浏览

pacemaker - Ping 约束不移动 DRBD 主

我有一个两节点集群(基于 CentOS7),旨在主动/被动地使用 DRBD 资源和依赖于它们的应用程序资源,以及通过排序约束依赖于应用程序的集群 ip。我没有托管限制。相反,我所有的资源都在同一个组中,因此它们一起迁移。

每个节点上有 2 个网络接口:一个是 LAN,另一个是私有点对点连接。DRBD 被配置为使用点对点。通过将 RRP 模式设置为被动,两个网络都配置为 RRP,LAN 是主要的 Pacemaker/Corosync 连接,点对点作为备份。

通过重新启动或关闭活动节点的故障转移工作正常,所有资源成功迁移到幸存者。这就是好消息停止的地方。

如果活动节点与 ping 主机的连接松动,我有一个 ping 资源 ping 可在 LAN 接口上访问的主机,其位置约束基于 ping 以将资源组移动到被动节点。然而,这部分不能正常工作。

当我在活动节点上拉 LAN 网络电缆时,活动节点无法再 ping ping 主机,并且资源在当前活动节点上停止 - 正如预期的那样。请记住,由于 RRP,Corosync 在退回到专用网络时仍然可以相互通信。然而,资源无法在以前的被动节点(仍然可以连接到网关并且现在应该变得活跃的节点)上启动,因为 DRBD 资源仍然是拉断电缆的节点上的主要资源,因此文件系统可以t 安装在应该接管的那个上。请记住,DRBD 在此期间会继续连接到专用网络,因为它的插头没有拔掉。

我无法弄清楚为什么基于 ping 的位置约束没有将资源组正确迁移到 DRBD 主要/次要设置。我希望这里有人可以提供帮助。以下是我拔掉电缆并且集群在卡住之前尽可能迁移后的状态。

请注意在迁移目标上安装 DRBD 文件系统的错误。此时查看 DRBD 状态显示节点 1 仍然是主节点,因此当其他资源停止时,DRBD 资源从未设置为辅助节点。

这是配置的样子

任何见解都将受到欢迎。

0 投票
0 回答
1370 浏览

drbd - 如何知道 DRBD 中的复制状态?

DRBD 的复制状态有很多,如图所示:

每个卷在每个连接上都有一个复制状态。可能的复制状态是:

关 卷不会通过此连接复制,因为该连接未连接。

建立了 DRBD9 和 LINSTOR 用户指南:11.2。检查 DRBD 状态 81 对该卷的所有写入都在线复制。这是正常状态。

StartingSyncS 由管理员启动的完全同步刚刚开始。下一个可能的状态是:SyncSource 或 PausedSyncS。

StartingSyncT 由管理员启动的完全同步刚刚开始。下一个状态:WFSyncUUID。

WFBitMapS 部分同步才刚刚开始。下一个可能的状态:SyncSource 或 PausedSyncS。

WFBitMapT 部分同步才刚刚开始。下一个可能的状态:WFSyncUUID。

WFSyncUUID 同步即将开始。下一个可能的状态:SyncTarget 或 PausedSyncT。

SyncSource 同步当前正在运行,本地节点是同步源。

SyncTarget 同步当前正在运行,本地节点是同步目标。

PausedSyncS 本地节点是正在进行的同步的源,但同步当前已暂停。这可能是由于依赖于另一个同步过程的完成,或者由于同步已被 drbdadm pause-sync 手动中断。

PausedSyncT 本地节点是正在进行的同步的目标,但同步当前已暂停。这可能是由于依赖于另一个同步过程的完成,或者由于同步已被 drbdadm pause-sync 手动中断。

VerifyS 在线设备验证当前正在运行,本地节点为验证源。

VerifyT 在线设备验证当前正在运行,以本地节点为验证目标。

Ahead 数据复制被暂停,因为链接无法应对负载。此状态由配置 on-congestion 选项启用(请参阅配置拥塞策略和暂停复制)。

背后 数据复制被对等方暂停,因为链路无法应对负载。此状态由对等节点上的配置 on-congestion 选项启用(请参阅配置拥塞策略和暂停复制)。

命令:drbdadm events2 显示复制状态,但它不会更改复制:即使执行了“drbdadm pause-sync res_name”命令,也已建立。

例子:

**node1:~ # drbdsetup events2 --now

存在资源名称:test_res 角色:主挂起:否

存在连接名:test_res peer-node-id:0 conn-name:node 2 connection:Connected role:Secondary

存在设备名称:test_res 卷:0 次要:1 磁盘:UpToDate 客户端:没有仲裁:是

存在对等设备名称:test_res 对等节点 ID:0 连接名称:节点 2 卷:0

复制:已建立对等磁盘:UpToDate 对等客户端:无重新同步暂停:无

存在 -**

我如何在 DRBD 中获得这些状态(Ahead、Behind、VerifyTs 等)?文档对我没有多大帮助,有人可以帮我解决这个问题吗?

0 投票
1 回答
495 浏览

drbd - 更改DRBD IP的步骤是什么

如何更改DRBD的节点IP?

这是我的配置:

这些是我采取的步骤:</p>

  1. 停止 server1 和 server2 上的 drbd 服务。
  2. 更改server2的IP。
  3. 更改主机文件。
  4. 更改 drbd 配置。
  5. 在 server1 和 server2 上启动 DRBD 服务。

然后我遇到了一些错误,例如无盘。那么更改IP并避免数据丢失的正确步骤是什么?

0 投票
1 回答
229 浏览

disk - 更换 DRBD 中的故障驱动器 ()

如何正确设置磁盘的大小,更换时,如果我想使用原来的磁盘大小?

新磁盘的卷是 4 Gb,但我只想使用之前使用过的卷,并且在另一个节点的磁盘上使用 (2 Gb)。

资源:

我是否正确理解我可以从 lsblck 或 /sys/block/drbd1/size 获取大小并在 drbdadm create-md 和 drbdadm attach 之前在 res config 中设置?

即配置:

0 投票
1 回答
125 浏览

high-availability - 带起搏器的地理集群 - 仲裁与展位

我使用起搏器和 DRBD 配置了一个地理集群。该集群有 3 个不同的节点,每个节点位于不同的地理位置。这些位置彼此非常接近,并且它们之间的通信速度足以满足我们的要求(大约 80MB/s)。

我有一个主节点,一个从节点,第三个节点是仲裁器。我使用 AWS 路由 53 故障转移 DNS 记录在不同站点的节点之间进行故障转移。

仅当从属设备具有法定人数时,才会发生从主设备到从设备的故障转移,从而确保它与外部世界进行通信。

我读过建议使用展位在不同位置的集群/节点之间执行故障转移 - 但在不同地理位置之间设置仲裁似乎效果很好。

我想强调的是,我没有集群集群——它是一个集群,每个节点位于不同的地理位置。

我的问题是 - 我需要展位吗?如果是这样 - 为什么?我错过了什么吗?

0 投票
1 回答
796 浏览

synchronization - 使用 3 个服务器(主/从)设置 DRBD

我目前使用起搏器 DRBD 设置。我有 3 台 Debian 9 服务器,我想将驱动器与所有服务器同步。不幸的是,在将 DRBD 安装到我的服务器时出现错误。

drbd 配置

我遵循的步骤

我得到的错误

我认为错误是配置文件,我不知道如何解决这个问题

请帮我

0 投票
2 回答
523 浏览

debian - 在 debian-9 中安装 DRBD9 失败

我需要将 drbd8 升级到 drbd9。为此,我遵循此文档。

https://www.linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-upgrading-drbd

步骤1

第 2 步接下来,您需要将 DRBD 签名密钥添加到您的受信任密钥中

第 3 步最后执行 apt update 以便 Debian 识别更新的存储库。

我有这样的错误

请帮我

0 投票
1 回答
283 浏览

docker-swarm - 在 Docker Swarm 中运行 LINSTOR

我目前正在linstor我的实验室尝试。我正在尝试设置computestorage节点的分离。运行 linstor 的存储节点,而计算节点运行 Docker Swarm 或 K8s。我在此测试中设置了 1 个 linstor 节点和 1 个 docker swarm 节点。Linstor 节点配置成功。

林斯托节点

DRBD9.1.2

码头工人节点

在另一个节点上,我正在运行 Docker Swarm。该节点没有安装任何工具,例如 drbd、drbdtop、drbdsetup ...等。从技术上讲,它正在运行一个最小的安装,足以只运行 Docker 以保持它的轻量级。Docker 版本是20.10.3. 我还安装了用 golang 编写的 linstor docker 卷。

下面是/etc/linstor/docker-volume.conf安装在我的 Docker Swarm 节点中的我和 docker 卷插件

尝试使用 linstor 创建的卷时出现错误。我已经确认我可以 ping linstor 控制器instance-2并在防火墙中打开所有端口。这是错误和重现的步骤

问题

  • 我是否需要在我的 Docker Swarm 中安装 drbd-utils 才能正常工作?
  • 错误是什么VolumeDriver.Mount 404 Not Found意思?