NFS 和 iSCSI 之间有什么区别?


NFS 和 iSCSI 之间有什么区别?

网络文件系统(NFS)和 Internet 小型计算机系统接口(iSCSI)都是数据共享协议。通过网络有效共享数据对任何组织的日常运营都至关重要。NFS 可以在文件级别实现远程数据共享。用户(或客户端设备)可以使用 NFS 连接到网络服务器并访问服务器上的文件。多台客户端设备(用户)可以共享相同的文件,而不会发生数据冲突。类似地,iSCSI 也允许远程数据共享,不过要在数据块级别上执行。它支持多台客户端设备和一台数据块存储设备(或数据库服务器)之间的数据交换,并经由本地磁盘驱动器以类似的方式进行访问。

工作原理:NFS 与 iSCSI

网络文件系统(NFS)和 Internet 小型计算机系统接口(iSCSI)均用于在网络或虚拟网络之间的客户端-服务器关系中共享数据。这些一直是远程企业通信中的常用协议。

NFS 的工作原理

NFS 协议在 20 世纪 80 年代设计为 Unix 系统的客户端-服务器文件共享协议。NFS 通过各种更新保持活跃,最近一次更新是 NFS 版本 4。NFS 是分布式文件系统的常用协议。

NFS 协议的工作原理如下:

  1. 客户端请求访问远程 NFS 服务器上的资源
  2. 服务器在客户端上远程挂载资源。
  3. NFS 数据存储在客户端上显示并像本地资源一样运行
  4. 读取资源存储在客户端的文件系统缓存中,以便快速访问

通过虚拟连接共享对资源(例如文件或目录)的访问权限。NFS 使用远程过程调用(RPC)作为底层通信技术。 

iSCSI 的工作原理

最初的小型计算机系统接口(SCSI)协议旨在通过局域网(LAN)共享数据。iSCSI 协议在 20 世纪 90 年代末开发,旨在允许 SCSI 协议在 TCP/IP 网络上运作。

iSCSI 是一种传输层协议,旨在提供对网络中存储设备的无缝访问。名称 iSCSI 用于表示原始协议已修改,并将 SCSI 命令封装在 TCP/IP 数据包中。 

iSCSI 采用客户端-服务器架构。客户端称为启动器,而服务器称为 iSCSI 目标。块存储设备称为逻辑单元,iSCSI 目标可能有许多逻辑单元。每个逻辑单元都有指定的逻辑单元号(LUN)。

iSCSI 协议的工作原理如下:

  1. 启动器使用质询握手身份验证协议(CHAP)连接到目标。
  2. 连接后,存储设备在客户端上显示为本地磁盘驱动器。

主要区别:NFS 与 iSCSI

虽然两者都是数据共享协议,但网络文件系统(NFS)和 Internet 小型计算机系统接口(iSCSI)的工作原理大不相同。接下来,我们将概述两者的一些独特功能。

性能

由于 iSCSI 协议在块级别工作,因此通过直接操作远程磁盘,它通常可以提供比 NFS 更高的性能。

NFS 添加一层文件系统抽象,可以逐个文件进行操作。

冲突解决

当多个客户端尝试访问或写入同一个文件时,需要使用冲突解决技术或文件锁定技术。

NFS 内置分布式文件系统的冲突解决方案

iSCSI 没有内置的冲突解决方案。在这种情况下,必须将另一个软件分层到顶部,以防止操作不稳定。

配置简易性

虽然 NFS 是为 Unix 构建的,通常可在 Linux 发行版中直接使用,但也可以通过安装软件包在其他操作系统上使用 NFS。对于 Linux 客户端和服务器,设置和配置相对快速且简单。

iSCSI 可在多种不同的操作系统上使用。iSCSI 可能内置在某些存储设备上,但始终需要在客户端计算机上安装 iSCSI 启动器软件。 

使用时机:NFS 与 iSCSI

在运行 Unix 计算机的局域网(LAN)中,网络文件系统(NFS)仍然是共享协议的常用选择。当远程网络连接存储(NAS)是 Unix 计算机时,NFS 也非常有用。有关更多信息,请了解 NAS

NFS 在大多数 Linux 发行版上均可直接使用,因此它被认为是这些系统上的默认文件共享协议。但是,NFS 可以安装在其他操作系统上。NFS 通常出现在需要协同工作的大型组织环境中,例如企业、教育机构和政府。

Internet 小型计算机系统接口(iSCSI)已成为企业私有网络环境中的常用协议,在这种环境中,多个本地或远程存储阵列需要访问客户端。该协议是光纤到数据中心网络配置的直接竞争对手。

随着许多组织重新评估其存储需求和配置,NFS 和 iSCSI 目前均可以集成到混合云环境中。在云存储架构中,网络协议实现的详细信息经过抽象化处理,改为托管访问和简洁的界面。云存储可能在 NFS 或 iSCSI 之下,但它不会向用户公开,而是向用户提供各种通信类型。

差异摘要:NFS 与 iSCSI

 

NFS

iSCSI

它是什么?

网络文件系统。

Internet 小型计算机系统接口。

操作层级

应用层协议。

传输层协议。

最适合

基于 Linux 的网络架构。

私有存储区域网络架构。

共享资源

文件和目录。

I/O 设备,通常是存储设备。

访问级别

基于文件。

基于块。

文件锁定

内置并由客户端处理。

非内置,必须由其他系统处理。

运行基础

TCP 或 UDP 上的 RPC。

TCP/IP 上的 SCSI。

配置简易性

在 Linux 环境中相对快速且简单。

可能需要更长的时间,因为所有客户端都需要安装 iSCSI 启动器软件。

AWS 如何帮助您满足 NFS 和 iSCSI 要求?

Amazon FSx 可以轻松地将本地或自有文件共享存储基础设施集成或迁移到云端。可以轻松且经济高效地在云中启动、运行和扩展功能丰富的高性能文件系统。

作为一项完全托管的服务,Amazon FSx 具有以下优点:

  • 使用最新的 Amazon Web Services(AWS)计算、联网和磁盘技术,以较低的成本提供高性能。
  • 处理硬件预置、修补和备份。这可让您空出时间专注于自己的应用程序、最终用户和业务。
  • 支持四种广泛使用的文件系统:NetApp ONTAP、OpenZFS、Windows File Server 和 Lustre。 

该服务凭借其可靠性、安全性、可扩展性和广泛的功能来管理各种工作负载。例如,Amazon FSx for NetApp ONTAP 可让您通过行业标准数据协议向一整套工作负载和各种用户提供数据。这些协议包括网络文件系统(NFS)、服务器消息块(SMB)和 Internet 小型计算机系统接口(iSCSI)。

立即创建账户,开始使用 AWS 上的网络存储和文件共享。

使用 AWS 的后续步骤

开始使用 NFS 进行构建

了解如何在 AWS 上开始使用 NFS

了解更多 
开始使用 iSCSI 进行构建

了解如何在 AWS 上开始使用 iSCSI

了解更多