在 FreeNAS 下使用相同的驱动器进行 iSCSI 和 SMB 共享

在 FreeNAS 下使用相同的驱动器进行 iSCSI 和 SMB 共享

本周末我将设置一个新的 FreeNAS 服务器,并且非常成功,但我还遇到最后一个问题。

现在我有 2 个 1.5 TB 的驱动器想要镜像(我计划使用软件 RAID 1),总共获得 1.5 TB 的可用空间。

我需要能够通过 SMB (CIFS) 和 iSCSI 访问驱动器中的数据。将来我可能还会使用 AFP、DAAP 和 uPnP。

我的问题:

  1. 似乎不能将同一驱动器(或 RAID)用于 SMB 和 iSCSI 访问。这是正确的吗,还是我遗漏了什么?(注意:我知道您可以通过 iSCSI 访问驱动器上的文件,但这不是我想要的,因为您无法从 SMB 看到这些数据)

  2. 如果问题 1 的答案确实是否定的,那么有没有好的解决方法?我想出了一些解决方案(并且愿意接受更多),但需要了解最佳选择是什么。

解决方案 A:将驱动器置于 RAID 之外。将一个驱动器安装为 SMB,将另一个驱动器安装为 iSCSI。使用 rsync(?) 进行每小时同步。(实时同步在这里并不重要,我只需要确保如果一个驱动器坏了,我不会丢失所有数据)

解决方案 B:将 RAID 驱动器创建为 iSCSI,然后让 FreeNAS 访问此目标并从 SMB 重新安装它。甚至不确定这是否可行,听起来有点像鲁布·戈德堡机器。

解决方案 C:我不喜欢上述任何一个选项,并希望有一个更好的解决方案!

谢谢您的任何意见!

答案1

我不认为这有可能,就像你说的一样。

iSCSI 是一种块级协议。如果多台主机访问同一个块设备,它们必须以某种方式仲裁存储在那里的数据的使用。通常这意味着使用集群感知文件系统(GFS、OCFS2、CXFS 等)。

SMB/CIFS 是一种文件级协议。它与多个客户端共享文件,执行所有需要的仲裁,并依赖于底层文件系统。

只要您在该分区上使用支持集群的文件系统,解决方案 B 就应该有效。否则,一旦您从两个主机使用该块设备,就会完全损坏它。

它根本不是一个“鲁布·戈德堡”式的解决方案,因为任何文件服务器都在文件系统上运行,您只需使用一个集群感知的文件服务器即可。事实上,集群文件系统最常见的用途之一是作为多个(smb / nfs)文件服务器的共享存储,分配为相同文件提供服务的文件处理和带宽负载。

简而言之:如果您想要块级共享,则必须使用集群文件系统。如果您还有非集群客户端,则可以在该文件系统顶部添加文件服务器。

相关内容