首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混合ocfs2集群:直接访问和iscsi

混合ocfs2集群:直接访问和iscsi
EN

Server Fault用户
提问于 2020-02-28 20:19:47
回答 1查看 191关注 0票数 0

早上好,

我有这样的配置:

组态图

  • 一个“共享磁盘”,其中一个分区格式化为OCFS2
  • 主机A和主机B直接访问“共享磁盘”
  • 主机C,直接访问用作iSCSI目标的“共享磁盘”,配置为访问“共享磁盘”的linux (iSCSI)
  • 使用主机C访问“共享磁盘”作为iSCSI发起者的主机D和主机E
  • 主机A、B、D和E是同一个OCFS2集群 I进行以下测试的一部分:
  • 同时仅在主机A和B上使用OCFS2挂载共享fs (在每个主机上,ocfs2守护进程在安装分区时正确记录连接到集群)
  • 同时使用OCFS2在主机D和E上安装共享fs。在本例中,每个主机都使用到共享磁盘的iSCSI路径,并且ocfs2分区的挂载同时在每个主机上正确工作。
  • 在主机A和D上挂载共享fs (A使用主机C上的iSCSI路径直接访问共享磁盘和B到iSCSI目标),但没有成功。当在一个主机上挂载时,另一个主机似乎没有看到连接到集群和数据损坏事件,日志(心跳错误) ocfs2错误出现在 上,这是问题的最后一个例子。可能是iSCSI目标(块设备缓存或其他什么)上的缓存问题?这种集群配置在某种程度上可以在iSCSI上进行调优,还是不可能? 感谢you Matteo。
EN

回答 1

Server Fault用户

发布于 2020-03-01 15:06:10

在深入研究这个问题之后,我想我本可以找到解决办法的。

我没有使用/dev/sd*设备文件作为iscsi目标的备份存储,而是使用/dev/sg*

与此配置对应的:

代码语言:javascript
复制
<target iqn.2018-02.test.it:lun1>
   <backing-store /dev/sg0>
      bs-type sg
      device-type pt
   </direct-store>
</target>

正如我想的那样,也许解决方案可能与块设备上的页面缓存有关,也许使用直接命令的sg绕过了这个.我不知道。

更改配置后,我成功地尝试在主机A、D和E上挂载。

在/var/ log /messages上,我发现了ocfs2正常工作时A、D和E连接的日志。

我还创建了一个测试文件,并在每个主机上更新。

我将在本周进行更多的测试,看看是否会有数据损坏,并相应地更新帖子。

马泰奥

更新

它似乎工作正常,但当从iscsi (启动器)上的主机在共享磁盘上执行一个大副本(超过1Gb的文件)时,主机崩溃并在目标tgt上显示此错误:

代码语言:javascript
复制
mar 04 17:09:29 debian-shdisk-iscsi tgtd[1515]: tgtd: bs_sg_cmd_submit(228) failed to start cmd 0x0x559a50768510
mar 04 17:09:29 debian-shdisk-iscsi tgtd[1515]: tgtd: graceful_write(87) sg device 11 write failed, errno: 33

scsi通用linux内核4.19驱动程序中的errno 33 (EDOM)似乎是在cmd队列满时在写入过程中触发的。在tgtd端,这似乎不被处理,它会触发在启动器端生成块错误的错误。有什么建议吗?

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1005031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档