NFS 與 SMB 之間有什麼區別?

網路檔案系統 (NFS) 和伺服器訊息區塊 (SMB) 是檔案存取儲存協定或規則,可透過網路進行有效的檔案共用。有效溝通、共同協作和共用檔案的能力對於任何組織的日常作業都至關重要。透過 NFS,使用者 (或用戶端裝置) 可以連線到網路伺服器並存取伺服器上的檔案。它具有允許多個使用者共用同一檔案而不會產生資料衝突的規則。同樣地,SMB 也允許使用者讀取伺服器上的檔案。但是,其提供了更大的靈活性,因此用戶端也可以相互共用檔案。用戶端可以使用 SMB 與任何其他已連接網路的裝置 (例如印表機或檔案伺服器) 建立連線。然後,用戶端就可以存取裝置的檔案,就像存取用戶端的本機檔案一樣。

什麼是 NFS?它如何運作?

網路檔案系統 (NFS) 通訊協定由 Sun Microsystems 於 1984 年建立,作為基於 Unix 的系統的有狀態檔案共用通訊協定。從那時起,NFS 已經進行了多次更新。NFS 版本 4 (NFSv4) 是最新版本,由 Internet Engineering Task Force 的工作群組開發。NFS 在 Linux 使用者中仍然很受歡迎。

以下是啟用 NFS 的用戶端和 NFS 伺服器之間通訊的運作方式。首先,用戶端會使用遠端程序呼叫 (RPC) 從伺服器請求檔案或目錄。然後,伺服器會檢查下列項目:

  • 該檔案或目錄可用
  • 用戶端具有必要的存取許可

然後,伺服器會在用戶端上遠端掛載檔案或目錄,並透過虛擬連線共用存取。對於用戶端,若藉助 NFS,則在操作期間,使用遠端伺服器檔案與存取本機檔案類似。

除了其他功能外,NFS 用戶端會快取檔案以加快存取速度、鎖定多台電腦嘗試同時寫入相同檔案的檔案,以及提供同步處理的檔案屬性更新。

什麼是 SMB?它如何運作?

自首次開發以來,伺服器訊息區塊 (SMB) 通訊協定經歷了幾次不同的反覆運作。該通訊協定由 IBM 的 Barry Feigenbaum 於 1983 年針對 DOS 作業系統 (Windows 的前身) 發行。透過與 Windows 產品套件的深度整合,SMB 仍然是 Windows 作業系統的預設檔案共用通訊協定。 

目前的 SMB 版本為 SMB 3.1.1,過去的版本包括 SMB 1.0、SMB 2.0、SMB 2.1、SMB 3.0 和 SMB 3.0.2。SMB 曾一度更名為 CIFS (Common Internet File System),不過,這個名稱變更最終得以還原。 

用戶端-伺服器通訊程序類似於高階 NFS,差異在於更精細的詳細資訊和操作機制。例如,在 SMB 中,檔案系統不會掛載在本機 SMB 用戶端上。而是透過網路路徑存取 SMB 伺服器上託管的網路共用。

SMB 與 NFS 之間的相似之處

伺服器訊息區塊 (SMB) 和網路檔案系統 (NFS) 通訊協定都使用用戶端-伺服器模型運作,其中檔案會在遠端伺服器上共用,並由本機用戶端使用。只要正確設定通訊協定,則當您存取伺服器上的遠端網路檔案和目錄時,其便會像位於用戶端機器上的本機檔案系統一樣運作。

以下是 SMB 與 NFS 之間的其他相似之處:

  • 兩者都允許用戶端對伺服器上的檔案和目錄執行建立、讀取、更新和刪除 (CRUD) 操作。
  • 您可以將它們與多個不同的作業系統協同使用。這包括每個主流作業系統、Windows 環境和 Linux 環境。
  • SMB 和 NFS 通常用於舊式網路環境,特別是在內部部署基礎架構中。 

主要差異:NFS 與SMB

網路檔案系統 (NFS) 和伺服器訊息區塊 (SMB) 在其操作細節上存在一些差異。

原始設計

雖然 NFS 和 SMB 都可以跨作業系統使用,但 SMB 通訊協定是 Windows 原生檔案共用預設值。Windows 功能是以 SMB 為中心來建置的。您需要像 Samba 這樣的外部工具,才能在 Linux 電腦上使用 SMB 來存取遠端 Windows 伺服器檔案。 

相較之下,NFS 協定是專門為 Unix 系統而設計的。它是大多數 Linux 發行版中的原生檔案共用通訊協定,也是預設的檔案傳輸通訊協定。

共用資源

透過建置 SMB,您即可共用廣泛的網路資源,包括檔案和列印服務、儲存裝置以及虛擬機器儲存。

相較之下,NFS 只有內建共用檔案和目錄的支援。

用戶端-用戶端通訊

SMB 可讓用戶端使用伺服器作為媒介者,彼此通訊和共用檔案。

NFS 僅允許用戶端-伺服器操作。

何時使用 NFS 與SMB

通常,網路檔案系統 (NFS) 和伺服器訊息區塊 (SMB) 是用來建立和管理具有同質作業系統環境的區域網路 (LAN)。在這些環境中,需要像本機檔案一樣存取共用儲存。NFS 和 SMB 也適用於遠距離舊式網路環境,以及透過閘道的混合雲端環境。

SMB 檔案共用

如果您想要在 LAN 中設定網路附接儲存裝置 (NAS),SMB 是透過網路共用和存取檔案的最簡單選擇。無論您是執行 Windows、Mac 還是 Linux 作業系統,皆為如此。

以下是一些其他常見使用案例範例:

  • 若組織擁有多台用戶端機器,Windows 區域網路需要共用儲存
  • 擁有大型儲存陣列的企業環境,可優先考量效率與可擴展性
  • 需要原生支援的進階共用操作

閱讀有關 NAS 的內容 »

NFS 檔案共用

您可以在下列情境中使用 NFS:

  • 您有一個區域網路,其中包含網路上所有基於 Unix 的機器 (包括以 Linux 為基礎的環境)
  • 需要大型檔案

雲端儲存架構的備註

請務必注意,在以雲端為基礎的檔案儲存和共用架構中,不會將 SMB 和 NFS 用作主要檔案共用通訊協定。

雲端儲存供應商使用專有系統來管理其內部組態,儘管它們的背後原理可能是 SMB 或 NFS。供應商改為提供相容性服務,以允許現有或新的 NFS 和 SMB 系統與其雲端儲存產品和服務進行相互操作。 

實作 NFS 和 SMB 的挑戰

伺服器訊息區塊 (SMB) 和網路檔案系統 (NFS) 都需要伺服器與用戶端機器上的設定,才能正確運作。他們並非僅是立即可用。必須在用戶端機器和伺服器上正確設定存取許可和以使用者為基礎的驗證系統。當用戶端與伺服器之間的作業系統類型不相符時,可能需要額外的設定或軟體。

設定 NFS 和 SMB 通常是系統管理員或網路管理員的工作。這項任務需要有關通訊協定安全考量的工作知識,以確保安全操作和最佳效率。如果發行新的 SMB 或 NFS 版本,則管理員必須視需要升級系統和組態。

在以雲端為基礎的檔案儲存架構中,許多組織都使用現代化的全受管解決方案來共用檔案,而不是 SMB 或 NFS 所需的 DIY 方法。這些解決方案在某種程度上使用 NFS 或 SMB,但管理的複雜性卻是透過系統管理員抽象出來的。

這些解決方案通常會提供一些其他功能,而這些功能可透過簡單易用的界面進行存取。例如,他們可能會提供自動化驗證系統、彈性儲存管理、與其他雲端服務的自動整合,以及進階安全控制。

 

差異摘要:NFS 與SMB

 

NFS

SMB

這是什麼?

網路檔案系統。

伺服器訊息區塊。

最適合

以 Linux 為基礎的網路架構。

Windows 架構。

共用資源

檔案和目錄。

廣泛的網路資源,包括檔案和列印服務、儲存裝置以及虛擬機器儲存。

用戶端可與

伺服器通訊。

伺服器再加上用戶端,可以使用伺服器作為媒介者與其他用戶端通訊。

AWS 如何支援您的遠端檔案共用需求?

Amazon Web Services (AWS) 為伺服器訊息區塊 (SMB) 支援、網路檔案系統 (NFS) 支援和其他遠端存取需求提供廣泛的服務。

如果您擁有現有的自訂內部部署檔案儲存系統,則可以使用 AWS Storage Gateway 將其連線到以雲端為基礎的儲存,以便在混合雲端解決方案中享有無限的儲存空間和效率。結合使用 Amazon Simple Storage Service (Amazon S3),即可在雲端中以低延遲和高效率的存取方式共用您的基於 SMB 或 NFS 的內部部署儲存。如需詳細資訊,請閱讀如何使用自訂組態建立 SMB 檔案共用

如果您想要將 SMB 或 NFS 伺服器遷移到雲端以降低營運開銷、利用彈性擴展或提高可用性,則可以使用 Amazon FSx 來完成。Amazon FSx 與 NetApp 的 ONTAP、Windows File Server、Lustre 和 OpenZFS 相容。

對於不需要 SMB 或 NFS 組態的現代檔案共用服務,Amazon Elastic File System (Amazon EFS) 是無伺服器、完全彈性的全受管檔案儲存解決方案。使用 Amazon EFS,您可以將網路檔案系統掛載在 Amazon Elastic Compute Cloud (Amazon EC2) 容器、AWS 容器、Lambda 函數或內部部署伺服器上。Amazon EFS 專為在現代 AWS 雲端和混合式架構之間輕鬆進行彈性的檔案儲存和共用而設計。

立即建立帳戶,開始使用 AWS 上的檔案共用。