我有两台服务器configurationdrbd,corosync与起搏器。 这一切都工作正常,主服务器获得次要的,如果失败,并辅助获取主要。 但是,如果第一台服务器在故障转移后重新启动,drbd将不会再次连接,我必须做一个 drbdadm连接所有 在现在的中学。 这里是从我做的所有inputserver1的日志( https://www.refheap.com/95997 ): root@server1:~# ifdown eth4 Jan 12 08:11:37 server1 kernel: [237958.935578] ixgbe 0000:04:00.0: removed PHC on eth4 Jan 12 08:11:43 server1 kernel: [237965.430849] cib[2877]: segfault at 0 ip 00007f7d342c8aca sp 00007fffaba39e58 error 4 in libc-2.19.so[7f7d34247000+19f000] Jan 12 08:11:44 server1 kernel: [237966.427423] crmd[2878]: segfault at 0 ip 00007eff7d291aca sp 00007fffaae51538 […]
我有一个DRBD心跳设置有一个失败的节点,但没有故障转移的情况。 发生了什么事是主节点已经locking,但没有直接下去(这是无法访问通过SSH或与NFS挂载,但它可以ping通)。 期望的行为应该是检测到这种情况并且故障转移到辅助节点,但是由于主服务器没有完全closures(从服务器到服务器有专用的networking连接),所以心跳的检测机制没有起作用在那,因此没有故障转移。 有没有人看过这个? 有什么我需要configuration有更强大的群集故障转移? DRBD似乎没有问题(重新启动旧的主服务器时必须重新同步),但没有良好的故障切换,使用受到限制。 心跳3.0.4 drbd84 RHEL 6.1 我们不使用起搏器 nfs03是此设置中的主服务器,而nfs01是辅助服务器。 ha.cf # Hearbeat Logging logfacility daemon udpport 694 ucast eth0 192.168.10.47 ucast eth0 192.168.10.42 # Cluster members node nfs01.openair.com node nfs03.openair.com # Hearbeat communication timing. # Sets the triggers and pulse time for swapping over. keepalive 1 warntime 10 deadtime 30 initdead 120 […]
我为我们的服务器configuration了两个DRBD份额。 我已成功完成了两次DRBD创build,但在查看状态时,其中一个股份状态显示为“UpToDate / Diskless”。 drbd-overview命令输出 [root@server1~]#drbd-overview 1:drbd Connected Secondary/Primary UpToDate/UpToDate C r—- 2:drbd1 Connected Primary/Secondary UpToDate/Diskless C r—- [root@server2~]#drbd-overview 1:drbd Connected Primary/Secondary UpToDate/UpToDate C r—- 2:drbd1 Connected Secondary/Primary Diskless/UpToDate C r—- DRBD工作正常,我可以在主节点上挂载设备。 但我想知道一个DRBD份额状态。 那个状态是正常的还是有什么问题呢? 提前致谢。
我有两个networking服务器,每个都有一个磁盘连接。 这个磁盘在两个主模式下使用drbd (2:8.3.13-1.1ubuntu1)在它们之间同步,在这个磁盘的顶部我运行ocfs2 (1.6.4-1ubuntu1)作为一个集群文件系统。 节点在专用networking192.168.3.0/24上通信。 大多数情况下,这是稳定的,运作良好。 昨天晚上,似乎有一个networking中断。 这导致了一个裂脑scheme,其中node01保留在Standalone和Primary ,而node02保留在WFConnection和primary 。 恢复是一个手动的过程,在比较两个文件系统的早上,决定node01应该是权威的,把node02放到第二个节点,然后在每个节点上发出drbdadm connect命令。 在此之后重新安装文件系统,我们正在备份并运行。 我的问题是:这种停电是否总是需要手动解决? 或者有什么方法可以使这个过程自动化? 我的理解是,drbd应该在脑子出现裂缝的情况下努力做出明智的决定,哪个节点应该成为主要和次要的。 看起来,在这种情况下,一个简单的networking中断都留在小学,我的configuration只是说'断开'。 看看日志,我觉得有趣的是,他们似乎都同意node02应该是SyncSource,但是在查看rsync日志时,它实际上是具有最近更改的node01 。 也有趣的是node01上的一行声明“我将成为SyncTarget,但我是主要的!”。 对我来说,看起来像drbd试图解决这个问题,但由于某种原因失败。 有没有更好的方法来做到这一点? r0的configuration是这样的: resource r0 { meta-disk internal; device /dev/drbd0; disk /dev/xvda2; syncer { rate 1000M; } net { #We're running ocfs2, so two primaries desirable. allow-two-primaries; after-sb-0pri discard-zero-changes; after-sb-1pri discard-secondary; after-sb-2pri disconnect; } handlers{ […]
这个问题涉及到一个更通用的问题 ,但是这次我想更具体地问一下,如果ZFS可以在像我这样的用例中replaceDRBD。 这就是两台服务器,既可以托pipe自己的虚拟机,也可以同时复制虚拟机或其他数据,以减less硬件故障或维护的停机时间。 这个设置是按照预期的,我希望首选本地读/写,并且可以在某个任意时间框架内存在潜在的数据丢失。 DRBD使用不同的镜像协议支持这种情况,其中复制协议A是我所需要的asynchronous。 在我的设置中,DRBD的主要好处是切换到更多的同步协议很简单,只需configuration和重新启动即可。 另外,可以将dm-crypt放在DRBD块设备的顶部,并将文件系统放入dm-crypt,以便每个数据都被encryption。 另一方面,DRBD的问题是它需要块设备,并且需要使用RAID和LVM等其他技术来关心它们的可用性和大小。 特别是resize的东西似乎很有趣,因为我的服务器将来有空闲的插槽来连接更多的磁盘。 为了支持resize ,我需要使用DRBD下的LVM,首先使用LVM添加存储,然后调整DRBD的大小以考虑新的存储。 比我仍然需要处理dm-crypt,文件系统本身等。这看起来很复杂,有点容易出错。 另一方面,像ZFS这样的文件系统已经提供了自己的LVM,并且能够发送/接收增量快照。 所以理论上ZFS应该能够实现相同的协议像DRBD这样的方法不需要使用RAID,LVM等。只需将存储添加到服务器中,将其存入ZFS池中,并立即可用于主持更多/更大的虚拟机或其他。 发送/接收快照听起来和DRBD所做的一样高效,因为它只是增量的二进制数据,无论需要什么开销来描述接收ZFS中要理解的变化。 我已经读过使用无休止循环的人们,没有hibernate时间发送/接收ZFS快照,并在之后再次在源文件中直接删除它们,因为它们仅用于短期复制。 不过,encryption似乎是ZFS的一个问题。 dm-crypt可能在zvols之类的东西上工作,将来它可能直接支持encryption ,但是现在不支持 。 另外,发送/接收快照似乎总是asynchronous的,如果需要的话,没有办法像DRBD提供的那样实现更多的同步协议。 这可能是可以接受的,因为不需要使用LVM并使整个设置更容易。 还是我错了,还有其他方式比发送/接收快照如何ZFS能够转发数据到其他主机开箱即用? 在DRBD镜像协议中,您是否经常在短时间内发现使用ZFS发送/接收快照的一些基本性能差异或限制? 后者可能会更有效率,因为只有块级我猜。 DRBD和ZFS之间的任何其他差异你能想到吗? 请记住,我目前不需要DRBD的高可用性,我现在专注于复制数据。 谢谢!
我的集群中有两个节点,drbd + pacemaker + corosync当第一个节点出现故障时,第二个节点假定服务正常,但是当我们必须执行故障回复(node1回到在线状态)时,它会显示一些错误,并且集群停止工作。 这是一个内核为2.6.32-504.12.2.el6.x86_64的CentOS 6集群和这些软件包: kmod-drbd83-8.3.16-3,drbd83-utils-8.3.16-1,corosynclib-1.4.7-1,corosync-1.4.7-1,pacemaker-1.1.12-4,pacemaker-cluster-libs- 1.1.12-4,pacemaker-libs-1.1.12-4,pacemaker-cli-1.1.12-4。 Drbdconfiguration: resource r0 { startup { wfc-timeout 30; outdated-wfc-timeout 20; degr-wfc-timeout 30; } net { cram-hmac-alg sha1; shared-secret sync_disk; max-buffers 512; sndbuf-size 0; } syncer { rate 100M; verify-alg sha1; } on XXX2 { device minor 1; disk /dev/sdb; address xx.xx.xx.xx:7789; meta-disk internal; } on XXX1 […]
使用DRBD版本:8.2.6(api:88 / proto:86-88) 这里是/etc/ha.d/haresources的内容 db1 192.168.100.200/24/eth0 drbddisk :: mysql文件系统:: / dev / drbd0 :: / drbd :: ext3 :: defaults mysql 和/etc/ha.d/ha.cf 日志文件/ var / log / ha-log logfacility local0 保持活力1 死亡时间30 warntime 10 initdead 120 支持694 bcast eth0,eth4 auto_failbackclosures 节点db1 节点db2 respawn hacluster / usr / lib64 / heartbeat / ipfail apiauth ipfail gid […]
我正在用Ganeti + DRBD构build一个简单的双节点群集…build议设置自动故障转移的方式是什么? 我习惯了心跳,但他们说应该避免使用我的设置。
我最近把我的drbd设置从Ubutnu迁移到了centos 7,我得到了一个奇怪的错误: 我可以正常地加载和卸载模块,整个事情似乎工作 #>modprobe drbd #>lsmod | grep drbd drbd 373504 2 … 我现在可以发出drbdadm up drbdres命令,查看资源的状态,似乎一切正在运行。 我也可以卸载模块 #>rmmod drbd #>lsmod | grep drbd #>drbdadm cstate all 0: Failure: (127) Device minor not allocated … #> lsmod | grep drbd drbd 373504 2 … 所以我可以加载模块,drbdadm能够加载它,但不提供任何资源,而文档声称init脚本会这样做,所以drbd显然不会以这种方式初始化模块。 正常情况下,在/etc/init.d/drbd init脚本启动时,/etc/drbd.conf中configuration的所有资源都会自动启用。 (来源: http : //www.drbd.org/users-guide-8.3/s-enable-disable.html ) 如果我尝试运行init.d脚本,我得到一个奇怪的错误: #>/etc/init.d/drbd start script […]
我需要将运行Debian 6的现有存储服务器(具有多TB数据)迁移到HA设置。 我不能简单地closures这个服务器很长的时间(毕竟是HA)。 我计划将此服务器迁移到DRBD群集。 我不能为这个集群购买两台新的服务器。 由于成本的原因,我需要重用现有的服务器作为群集的成员。 请记住,我不能一次closures超过几分钟的任何内容。 我准备了一台新的服务器,运行Debian 8成为“主”。 我需要使用这个“主”服务器来build立一个“裂脑”群集。 将现有旧服务器中的所有数据复制到群集; 将现有的服务切换到集群; 使用Debian 8重新configuration旧服务器,然后将其作为“从服务器”添加到群集中,重新同步数据,最后进行冗余设置。 我已经在新机器上设置了集群,但是,如何继续? 我甚至无法启动drbd服务,因为其他“节点”还不存在… 我从以前的drbdconfiguration开始工作很好…有两个可用的节点。 任何帮助赞赏。