NFS比iSCSI哪个更好?

哪个好?我是不知道的,也是不关心的。

NFS,network file system的简写。iSCSI,是Internet Small Computer Systems Interface的简写。直译就是“互联网小计算机系统接口”。乍一看上去,以为是SCSI硬盘呢。

有一篇长达14页的论文,作者来自麻省工学院、IBM和加州伯克利大学,好像很牛叉哦!论文对这两个系统进行了对比,结论是:

  • 两个系统NFS(v4)和iSCSI尽管一个是文件管理系统,一个是块管理系统,在数据存取层次上,性能不相上下。
  • 但在Metadata,元数据存取上,NFS v4比iSCSI快一倍。

Wikipedia上说,尽管iSCSI使用CHAP协议,避免明文交换密码,但其本身也较容易受攻击。所以安全性,也都差不多。不想翻译,完整的论文在这里,能看懂的且有兴趣的,就将就着瞅一眼吧。

http://lass.cs.umass.edu/papers/pdf/FAST04.pdf

我更关心的是,如何在Linux中实现它们。简单地比较一下:

NFS部署

存储阵列端(服务端)需要运行:

  • nfs-server
  • nfs-secure-server

服务端的配置文件是/etc/exports。在里面写上你要提供的空间的位置

#/etc/exports

/exportdir           172.25.0.0/24(rw,sec=krb5p)

/exportdir2         172.25.0.0/24(ro)

客户端需要运行:

  • nfs
  • nfs-secure

客户端/etc/fstab中装载示例:

//server:/protected  /mnt/nfssecure nfs  sec=krb5, _netdev 0 0

iSCSI部署

存储阵列端(服务端)需要运行:

  • targetcli,用来配置阵列资源的命令行工具,并非用来提供服务

客户端需要运行:

  • iscsi
  • iscsid,这才是服务器端守护进程软件,跟nfs颠倒过来了。
  • iscsi-initiator-utils,也是用来配置的工具

客户端/etc/fstab中装载示例:

UUID = “as identified in blkid”   /mnt/   ext4   _netdev  0 0

猜你喜欢

转载自my.oschina.net/u/589241/blog/1794542