![iSCSI 相对于 FTP 或 SMB 的优势](https://linux22.com/image/623331/iSCSI%20%E7%9B%B8%E5%AF%B9%E4%BA%8E%20FTP%20%E6%88%96%20SMB%20%E7%9A%84%E4%BC%98%E5%8A%BF.png)
我想知道使用 iSCSI 协议通过 FTP 或 SMB 连接访问 NAS 是否具有任何主要优势(除了访问速度之外,使用 iSCSI 协议会更快)。
答案1
使用 iSCSI 时透明度和开销较低。
对于操作系统的其余部分而言,这只是另一个磁盘,它可以像其他磁盘一样写入和读取,并且 iSCSI 驱动程序将所有网络复杂性封装到其他程序仅视为磁盘的表示中。使用 SMB 或 FTP 或其他程序时,每个程序都必须在某处存储自己的连接和身份验证信息,这会导致不同步、头发脱落、牙齿咬碎等。操作系统不会将其视为与其他地方的连接;它只是将其视为与其他任何块设备一样。
此外,假设您有一个硬件启动器,则操作系统内核中的 TCP 处理开销较少。
最后,虽然这只是个小问题,但我还是要补充一点,iSCSI 协议的封装/框架/等等较少,因此在带宽方面会比 FTP/CIFS/NFS/等等(稍微)更高效。
答案2
iSCSI 是一种不同的协议。您可以使用 FTP 和 SMB(或 NFS)访问文件,而 iSCSI 是一种块设备协议。主要区别在于:
使用 FTP、SMB、NFS,多个客户端可以访问同一区域,而使用 iSCSI 通常只有一个系统可以访问,除非您使用集群文件系统(OCFS、VMFS、GFS 等)。
如果您为 iSCSI 指定一个设备,那么您将使用整个设备,即使磁盘是空的并且已格式化,而与 SMB 或 FTP 相比,您仅使用文件正在使用的磁盘空间。
iSCSI 通常速度更快且开销更少,但这取决于工作负载。
答案3
由于现在世界对安全问题过于担忧(多亏了前 CIA 人员),iSCSI 比文件传输协议具有巨大的安全优势。您可以使用加密文件系统,存储服务器对其内容一无所知。简单示例:您的虚拟服务器位于公共云之一中,例如 Amazon EC2 或 Azure,带有任何服务器操作系统。您将存储在该服务器上的 iSCSI 驱动器连接到客户端 PC(假设为 Windows 7/8),并使用 BitLocker 加密整个驱动器。加密完成后,远程端将仅接收和发送加密的磁盘数据。所有加密都在您这边进行。
不仅如此,解锁密钥/密码永远不会传输到服务器。iSCSI 协议不需要它。没有直接的方法可以读取虚拟服务器中的未加密数据,即使借助可以完全控制虚拟机的底层虚拟化软件/硬件也无法读取。
我在这里看到的小缺点是,你必须在初始加密时上传整个加密卷。根据驱动器的大小和与云提供商的传输价格,可能会花费一些钱Windows 8 及更高版本可以即时加密
答案4
借助 FTP、SMB、NFS,多个客户端可以访问同一区域,而使用 iSCSI 通常只有一个系统可以访问,除非您使用集群文件系统。