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

本周末我成立了一个新的FreeNAS服务器,取得了相当不错的成绩,但是我最后一个问题仍然困扰着我。

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

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

我的问题:

  1. 看起来,同样的驱动器(或RAID)不能用于SMB和iSCSI访问。 这是正确的,还是我错过了什么? (注意:我知道你可以在通过iSCSI访问的驱动器上创build一个文件,但这不是我想要的,因为你无法从SMB中看到这些数据)

  2. 如果#1的答案确实不是,那么有没有很好的解决方法呢? 我提出了一些解决scheme(并且向更多的人开放),但是需要了解什么是最好的select。

解决schemeA:让驱动器脱离RAID。 安装一个SMB,另一个安装iSCSI。 使用rsync(?)来做小时同步。 (实时同步并不重要,我只需要确保一个驱动器不会丢失所有数据)

解决schemeB:将RAID驱动器创build为iSCSI,然后让FreeNAS访问此目标,然后从SMB重新安装。 甚至不知道这是否有效,听起来像是一个Rube Goldberg机器。

解决schemeC:我不喜欢上述任何一种select,并希望得到更好的解决scheme!

感谢您的任何input!

我不认为这是可能的,就像你说的那样。

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

SMB / CIFS是一种文件级协议。 它与几个客户端共享文件,完成所有需要的仲裁,并依靠底层的文件系统。

解决schemeB应该工作,只要您在此分区上使用群集感知文件系统。 不pipe怎样,只要你使用两台主机的设备,你就会完全损坏它。

这不是一个“rube goldberg”解决scheme,因为任何文件服务器都可以在文件系统上运行,只需要使用一个集群感知的文件服务器。 实际上,群集filesytems最常见的用途之一是作为几个(smb / nfs)文件服务器的共享存储,分配处理和带宽负载的文件服务相同的文件。

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