我有一个分布在 3 台服务器上的 Web 应用程序。这 3 台服务器需要共享存储来访问文件。由于 iSCSI 只是一个协议,而不是文件系统,它不会有任何锁定文件的实现;因此,如果我按原样连接它,我只会销毁所有数据。
根据我的研究,我需要在这些 LUN 上建立一个实际的文件系统,才能按照我打算使用的方式运行。
那将如何运作?如何为 LUN 实现文件系统?
使用的操作系统:Ubuntu 16.* 或 18.*
我有一个分布在 3 台服务器上的 Web 应用程序。这 3 台服务器需要共享存储来访问文件。由于 iSCSI 只是一个协议,而不是文件系统,它不会有任何锁定文件的实现;因此,如果我按原样连接它,我只会销毁所有数据。
根据我的研究,我需要在这些 LUN 上建立一个实际的文件系统,才能按照我打算使用的方式运行。
那将如何运作?如何为 LUN 实现文件系统?
使用的操作系统:Ubuntu 16.* 或 18.*
您需要某种集群文件系统或分布式锁管理器,以避免并发写入对文件系统造成元数据损坏。
StarWind 论坛上有一个很好的总结。
https://forums.starwindsoftware.com/viewtopic.php?f=5&t=1392
一般来说,您需要一个集群以便在多个系统之间共享存储(除非您希望其中一个系统充当文件服务器)。
我实际上对在 Ubuntu 上构建集群一无所知,但这看起来很有希望:http: //manpages.ubuntu.com/manpages/cosmic/man7/ocfs2.7.html。
因此,经过一些研究,我想出了一些解决方案,这些解决方案对于那些希望设置远程存储或集群的人来说会很有趣。
重新考虑您的网络和您的需求。我遇到的一件事是使用群集感知文件系统设置 iSCSI 并不是一件容易的事。此外,GFS 和 OCFS2 没有提供给公众的详细记录的故障排除指南。对于 OCFS2,您需要成为 Oracle 的客户并拥有一个有效的支持帐户。与 GFS2 相同。如果你是 Centos 用户,你会被在线教程困住,并且不支持它。
无论如何,它很可能超出了您的预算。考虑将 NFS 用于业余爱好的中小型业务。它更容易设置,它有大量的在线文档。
如果您确实需要在多台机器之间共享 iSCSI LUN,那么有 3 种可用的解决方案。Oracle OCFS2、红帽 GFS2、VMFS。这 3 个都是集群感知文件系统。OCFS2 设置起来更简单,但需要您访问非免费的 oracle 支持,GFS2 不像 OCFS2 那样简单,因为您必须手动设置它的一些部分,但它也使其更具可定制性。广告 VMFS 与您的 ESXI 服务器一起使用非常酷,可以将您的 VM 机器保留在那里。
我希望这有助于将来的一些用户在决定您的网络和存储实际需要什么时。我个人选择了 NFS 作为存储,并选择了 ESXI 服务器的专用 iSCSI 进行映像引导。