问题标签 [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.
linux - DRBD 解析错误:在 CentOS 上得到 'incon-degr-cmd' (TK 282)
设置
我目前有两个 NFS 服务器。计划是他们使用 DRBD 实时相互镜像数据,并使用心跳相互监控。
这是我目前的/etc/drbd.d/t0.res
配置。
错误 当我尝试使用 drbdadm 命令时,出现以下错误:
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 版本:
坐骑:
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 资源从未设置为辅助节点。
这是配置的样子
任何见解都将受到欢迎。
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 等)?文档对我没有多大帮助,有人可以帮我解决这个问题吗?
drbd - 更改DRBD IP的步骤是什么
如何更改DRBD的节点IP?
这是我的配置:
这些是我采取的步骤:</p>
- 停止 server1 和 server2 上的 drbd 服务。
- 更改server2的IP。
- 更改主机文件。
- 更改 drbd 配置。
- 在 server1 和 server2 上启动 DRBD 服务。
然后我遇到了一些错误,例如无盘。那么更改IP并避免数据丢失的正确步骤是什么?
disk - 更换 DRBD 中的故障驱动器 ()
如何正确设置磁盘的大小,更换时,如果我想使用原来的磁盘大小?
新磁盘的卷是 4 Gb,但我只想使用之前使用过的卷,并且在另一个节点的磁盘上使用 (2 Gb)。
资源:
我是否正确理解我可以从 lsblck 或 /sys/block/drbd1/size 获取大小并在 drbdadm create-md 和 drbdadm attach 之前在 res config 中设置?
即配置:
high-availability - 带起搏器的地理集群 - 仲裁与展位
我使用起搏器和 DRBD 配置了一个地理集群。该集群有 3 个不同的节点,每个节点位于不同的地理位置。这些位置彼此非常接近,并且它们之间的通信速度足以满足我们的要求(大约 80MB/s)。
我有一个主节点,一个从节点,第三个节点是仲裁器。我使用 AWS 路由 53 故障转移 DNS 记录在不同站点的节点之间进行故障转移。
仅当从属设备具有法定人数时,才会发生从主设备到从设备的故障转移,从而确保它与外部世界进行通信。
我读过建议使用展位在不同位置的集群/节点之间执行故障转移 - 但在不同地理位置之间设置仲裁似乎效果很好。
我想强调的是,我没有集群集群——它是一个集群,每个节点位于不同的地理位置。
我的问题是 - 我需要展位吗?如果是这样 - 为什么?我错过了什么吗?
synchronization - 使用 3 个服务器(主/从)设置 DRBD
我目前使用起搏器 DRBD 设置。我有 3 台 Debian 9 服务器,我想将驱动器与所有服务器同步。不幸的是,在将 DRBD 安装到我的服务器时出现错误。
drbd 配置
我遵循的步骤
我得到的错误
我认为错误是配置文件,我不知道如何解决这个问题
请帮我
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 识别更新的存储库。
我有这样的错误
请帮我
docker-swarm - 在 Docker Swarm 中运行 LINSTOR
我目前正在linstor
我的实验室尝试。我正在尝试设置compute
和storage
节点的分离。运行 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
意思?