iSCSI 相对于 SMB 的优势是什么?

Sof*_*Kng 16 storage home-server home-networking smb iscsi

在我家,我正在运行 Hyper-V 服务器,其中 Windows Server 2008 R2 VM 充当文件服务器。使用 SMB 在我的网络上共享文件。(另外,机器使用的是 PERC 6/i RAID 卡,但我认为这并不重要)

我正在考虑设置一个专用的 SAN (iSCSI) 机器,然后将我的 Hyper-V 服务器切换到 ESXi。

使用 iSCSI 与 SMB 相比有哪些优势?

我想我仍然需要一个文件服务器操作系统(例如 Win 2k8)通过 SMB 共享文件,所以我不确定最终结果会与我当前的设置有什么不同......

小智 19

Mike 是对的,iSCSI 和 SMB/CIFS 在两个不同的抽象层上运行。

您可以将 SMB/CIFS 视为导出其他机器可以访问的文件系统。目录结构、安全元数据等已经存在。客户端机器可以读写文件到这个文件系统,但这是他们的访问范围。

使用 iSCSI,客户端机器可以从操作系统的角度看到与物理卷相同的东西。在 Windows 客户端机器上,您首先要配置一个指向 iSCSI 主机(目标)的 iSCSI 启动器。之后,您将在 Windows 磁盘管理控制面板中看到一个新的物理磁盘。然后,您将对其进行初始化、分区,然后使用您希望的任何文件系统对其进行格式化。没有其他机器可以访问该区域(至少同时并忽略集群文件系统等高级内容)。

该过程与 ESXi 略有不同,但概念是相同的 - iSCSI 目标看起来就像另一个磁盘,您可以在其上构建 VMFS 文件系统。

如果您正在构建自己的存储服务器,您可能会考虑的一件事是可以同时完成这两件事。OpenFiler 和 FreeNAS 等软件允许您聚合存储池并允许 iSCSI 和 SMB/CIFS 访问。iSCSI 空间必须预先分配(很像虚拟机硬盘)并且对 CIFS 客户端不可见。这两个区域是分开的。您还可以使用 Windows 服务器并安装软件以导出 iSCSI 目标,例如 StarWinds 制造的目标。

iSCSI 通常会表现得更好,因为不会有那么多的抽象层 - 在这种情况下是 SMB 协议。此外,由于它是块级协议,因此某些安装到网络共享时无法运行的软件可以与 iSCSI 一起使用。

我在想 ESXi 可能不允许访问 SMB 共享,只允许访问 NFS,所以你可能也想研究一下。如果这是真的,您将需要某种方式来导出 NFS 共享,但上述讨论保持不变。OpenFiler/FreeNAS 有 NFS 支持,Windows 也可以用它设置。


Hon*_*onk 5

File Level VS block level

块级 (iSCSI) 您可以使用本地操作系统文件系统格式化远程卷。

比方说,您想要为 Apple Time-machine 准备一个卷,并且您想要将其作为 Apple Journalized 文件系统。或者您想要一个格式化为 NTFS 的远程文件系统。要格式化磁盘,您需要对磁盘进行块访问。

SMB 已由托管 SMB 的设备格式化。这些文件系统通常是 EXT2&3,Linux 子系统允许您通过 SMB 协议访问在其自己的本地文件系统上进行写入。