我正在drbd83
用ocfs2
在centos 5
和打算使用packemaker
它们。一段时间后,我面临着drbd
脑裂问题。
version: 8.3.13 (api:88/proto:86-96)
GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by mockbuild@builder10.centos.org, 2012-05-07 11:56:36
1: cs:StandAlone ro:Primary/Unknown ds:UpToDate/DUnknown r-----
ns:0 nr:0 dw:112281991 dr:797551 al:99 bm:6401 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:60
Run Code Online (Sandbox Code Playgroud)
我无法将我的 drbd 切换到次要。
drbdadm secondary r0
1: State change failed: (-12) Device is held open by someone
Command 'drbdsetup 1 secondary' terminated with exit code 11
Run Code Online (Sandbox Code Playgroud)
我的drbd
资源配置:
resource r0 {
syncer {
rate 1000M;
verify-alg sha1;
}
disk …
Run Code Online (Sandbox Code Playgroud) 我正在两个节点上配置 DRBD。DRBD 已经配置,但我想启用双主模式功能。
在 drbd 站点上,我看到它需要使用共享集群文件系统,该系统利用分布式锁管理器,如 GFS 和 OCFS2。
ext3文件系统可以吗?
提前致谢。
我想要一个在两个节点上的 drbd8 之上的共享文件系统。服务器运行 ubuntu 9.10。
我用谷歌搜索了很多,但找不到网络社区喜欢的明确趋势。目前似乎更多地使用 OCFS2。
哪个文件系统更可靠、更快?GFS2 还是 OCFS2?linux 社区更倾向于 GFS2 还是 OCFS2?ubuntu 9.10 更好地支持这两者中的哪一个?
是否有更好(或更常见)的替代方案?
我有一堆 RHEL/OEL Apache VM(在 ESX 3.5 上)硬件负载平衡到一个小的 http 文件场。我需要将他们提供的数据集从 1TB 扩展到 10TB,虽然我可以使用 OCFS2 和 LVM 使其实际工作,但我有点担心会遇到我目前知道的任何限制。我特别担心 LVM 乐于处理的 LUN 大小以及 OCFS2 将在目录和每个卷中支持的文件数量。我在明显的地方环顾四周,但有人对这个领域有任何实际经验吗?
提前致谢。
我已经用 OCFS2 替换了在双主模式下运行的死节点。所有步骤都有效:
/proc/drbd
version: 8.3.13 (api:88/proto:86-96)
GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by mockbuild@builder10.centos.org, 2012-05-07 11:56:36
1: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r-----
ns:81 nr:407832 dw:106657970 dr:266340 al:179 bm:6551 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
Run Code Online (Sandbox Code Playgroud)
直到我尝试挂载卷:
mount -t ocfs2 /dev/drbd1 /data/webroot/
mount.ocfs2: Transport endpoint is not connected while mounting /dev/drbd1 on /data/webroot/. Check 'dmesg' for more information on this error.
Run Code Online (Sandbox Code Playgroud)
/var/log/kern.log
kernel: (o2net,11427,1):o2net_connect_expired:1664 ERROR: no connection established with node 0 after 30.0 seconds, giving up and returning errors.
kernel: (mount.ocfs2,12037,1):dlm_request_join:1036 ERROR: status …
Run Code Online (Sandbox Code Playgroud) 我有两个网络服务器,每个网络服务器都附加了一个磁盘。该磁盘drbd
在“双主”模式下使用(2:8.3.13-1.1ubuntu1) 在它们之间同步,并且在此之上我将ocfs2
(1.6.4-1ubuntu1) 作为集群文件系统运行。节点在专用网络上进行通信192.168.3.0/24
。在大多数情况下,这是稳定的,并且运行良好。
昨晚,似乎出现了网络中断。这导致了一个裂脑场景,其中 node01 留在Standalone
和 中Primary
,而 node02 留在WFConnection
和 中primary
。恢复是今天早上手动区分两个文件系统的过程,决定 node01 应该是权威的,将 node02 放入辅助drbdadm connect
节点,然后在每个节点上发出命令。在此之后重新挂载文件系统,我们就可以备份并运行了。
我的问题是:这种类型的中断是否总是需要手动解决?或者有什么方法可以使这个过程自动化?我的理解是,drbd 应该在出现关于确定哪个节点应该成为主要和次要节点的脑裂的情况下变得聪明。似乎在这种情况下,一个简单的网络中断在主服务器中留下了,我的配置只是说“断开连接”。查看日志,我发现有趣的是,他们似乎都同意node02
应该是 SyncSource,但在查看 rsync 日志时,它实际上node01
是最新的更改。同样有趣的是关于node01
“我将成为 SyncTarget,但我是主要的!”这一行。对我来说,看起来 drbd 试图解决这个问题,但由于某种原因失败了。
有没有更好的方法来做到这一点?
配置r0
是这样的:
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;
} …
Run Code Online (Sandbox Code Playgroud) 我们需要建立一个 SAN 可以从一堆计算机访问,包括虚拟化和真实的。我们有一个 iSCSI SAN,我需要考虑一些选项。