適用於: ✔️SMB 檔案共享
Azure 檔案儲存體 提供企業級檔案分享,可擴展以滿足您的儲存需求,且數千名客戶端可同時存取。 Azure 檔案儲存體 提供兩種業界標準協定用於掛載Azure檔案分享:Server 訊息區塊(SMB)協定,以及 網路檔案系統(NFS)協定。 選擇最適合你工作量的協議。 Azure 檔案儲存體 不支援同時使用 SMB 和 NFS 協定存取單一 Azure 檔案共享,但你可以在同一個儲存帳號內建立 SMB 和 NFS 經典檔案共享。
本文介紹的是中小企業的 Azure 檔案分享。 有關 NFS Azure 檔案分享的資訊,請參見 NFS Azure 檔案共享。
常見的案例
許多應用程式使用 SMB 檔案分享,包括終端使用者檔案共享以及支援資料庫和應用程式的檔案分享。 在以下情境下使用 SMB 檔案分享:
- 終端使用者檔案共享,如團隊共享與家庭目錄
- 適用於以 Windows 為基礎之應用程式的後端儲存體,例如 SQL Server 資料庫或企業營運應用程式
- 新的應用程式和服務開發,特別是如果你需要隨機 IO 和分層儲存
特性
Azure 檔案儲存體 支援生產環境中部署 SMB 檔案共用所需的主要 SMB 和 Azure 功能。
- 中小企業持續可用性(CA)
- AD 網域加入與自主存取控制清單 (DACL)
- Azure 備份 中整合了無伺服器備份功能
- 透過 Azure 私有端點實現網路隔離
- 使用 SMB 多通道(僅限 SSD 檔案分享)實現高網路吞吐量
- SMB 通道加密,包括 AES-256-GCM、AES-128-GCM 及 AES-128-CCM
- 先前版本透過 VSS 整合共用快照集支援
- Azure 檔案共用中的自動軟刪除功能,以防意外刪除
- 可選擇性地將檔案分享設為網路可存取,並需支援網路安全的 SMB 3.0 版或更高版本。
您可以直接掛載 SMB 檔案共用,或使用 Azure 檔案同步在內部部署環境中快取這些檔案共用。
Windows SMB 支援與 Azure 檔案儲存體 功能
下表顯示Windows對 SMB 版本、SMB 多通道1 以及掛載 Azure 檔案分享時的 SMB 通道加密的支援情況。 使用此表格來確定存取您 Azure 檔案分享的客戶端作業系統的功能支援與安全需求。 請使用適用於您 Windows 版本的最新 KB。
| Windows版本 | SMB 版本 | SMB 多通道(僅限 SSD) | SMB 通道加密上限 |
|---|---|---|---|
| Windows Server 2025 | 中小型企業 3.1.1 | 是的 | AES-256-GCM |
| Windows 11,版本 24H2 | 中小型企業 3.1.1 | 是的 | AES-256-GCM |
| Windows 11,版本 23H2 | 中小型企業 3.1.1 | 是的 | AES-256-GCM |
| Windows 11,版本 22H2 | 中小型企業 3.1.1 | 是的 | AES-256-GCM |
| Windows 10,版本 22H2 | 中小型企業 3.1.1 | 是的 | AES-128-GCM |
| Windows Server 2022 | 中小型企業 3.1.1 | 是的 | AES-256-GCM |
| Windows 11,版本 21H2 | 中小型企業 3.1.1 | 是的 | AES-256-GCM |
| Windows 10,版本 21H2 | 中小型企業 3.1.1 | 是的 | AES-128-GCM |
| Windows 10,版本 21H1 | 中小型企業 3.1.1 | 是,使用 KB5003690 或更新版本 | AES-128-GCM |
| Windows Server,版本 20H2 | 中小型企業 3.1.1 | 是,使用 KB5003690 或更新版本 | AES-128-GCM |
| Windows 10,版本 20H2 | 中小型企業 3.1.1 | 是,使用 KB5003690 或更新版本 | AES-128-GCM |
| Windows Server,2004 版本 | 中小型企業 3.1.1 | 是,使用 KB5003690 或更新版本 | AES-128-GCM |
| Windows 10 (版本 2004) | 中小型企業 3.1.1 | 是,使用 KB5003690 或更新版本 | AES-128-GCM |
| Windows Server 2019 | 中小型企業 3.1.1 | 是,使用 KB5003703 或更新版本 | AES-128-GCM |
| Windows 10,版本 1809 | 中小型企業 3.1.1 | 是,使用 KB5003703 或更新版本 | AES-128-GCM |
| Windows Server 2016 | 中小型企業 3.1.1 | 是,使用 KB5004238 或更新版本以及套用的登錄機碼 (部分內容可能是機器或 AI 翻譯) | AES-128-GCM |
| Windows 10 (版本 1607) | 中小型企業 3.1.1 | 是,使用 KB5004238 或更新版本以及套用的登錄機碼 (部分內容可能是機器或 AI 翻譯) | AES-128-GCM |
| Windows 10 (版本 1507) | 中小型企業 3.1.1 | 是,使用 KB5004249 或更新版本以及套用的登錄機碼 (部分內容可能是機器或 AI 翻譯) | AES-128-GCM |
| Windows Server 2012 R22 | 中小型企業 3.0 | No | AES-128-CCM |
| Windows Server 2012 | 中小型企業 3.0 | No | AES-128-CCM |
| Windows 8.13 | 中小型企業 3.0 | No | AES-128-CCM |
| Windows Server 2008 R23 | 中小型企業 2.1 | No | 不支援 |
| Windows 73 | 中小型企業 2.1 | No | 不支援 |
1Azure 檔案儲存體 僅支援 SSD(高級)檔案分享上的 SMB 多通道。
2Microsoft 對 Windows Server 2012 及 Windows Server 2012 R2 的常規支援已結束。 你只能透過 擴展安全更新(ESU)計畫購買額外安全更新支援。
3Microsoft 對 Windows 7、Windows 8.1 及 Windows Server 2008 R2 的支援已結束。 從這些作業系統遷移出來。
SMB 通訊協定設定
Azure 檔案儲存體 提供多種設定,影響 SMB 協定的行為、效能與安全性。 這些設定適用於 Azure 儲存體帳戶內的所有 Azure 傳統檔案共用。
中小企業持續可用性
Azure 檔案儲存體 支援 SMB 持續可用性(CA),幫助應用程式在臨時基礎設施事件中保持可用。 持續可用性是 SMB 協定的一項功能,能在短暫中斷(如伺服器故障轉移或短暫網路中斷)時保持開啟檔案句柄的活躍狀態。 所有 SMB Azure 檔案分享預設都是持續可用的。 你無法關閉這個設定。
持續可用性所提供的
持續可用性帶來以下好處:
- 能在短暫故障中存活的持久檔案處理件
- 容錯移轉後 I/O 作業的透明復原
- 基礎設施轉移期間的資料一致性
- 降低應用程式中斷的風險
若發生短暫連線中斷,SMB 用戶端會自動重試操作並重新建立對未開啟檔案的存取權限,無需應用程式重新開啟檔案。 這種行為對於維護長時間執行檔案會話的工作負載尤其重要。
連續可用性的運作方式
持續可用性依賴於持久的 SMB 控制柄。 在持續數分鐘的暫態中斷期間,適用以下陳述:
- 開啟的檔案帳柄仍然有效。
- SMB 用戶端會重試等待中的 I/O 作業。
- Azure 檔案儲存體 在連線恢復後會透明地恢復運作。
因為 Azure 檔案儲存體 優先考量正確性和穩定性,客戶端會等待並重試,而非立即失敗。
連線中斷期間的超時行為
由於持續可用性需要的重試行為,SMB 作業在網路中斷時,可能需要較長的時間才逾時。
例如,你可能會經歷以下情況:
- Windows SMB 用戶端可能會重試操作數分鐘後才回傳錯誤。
- 應用程式可能會暫時暫停,等待連線恢復。
這種行為是設計的一部分,因為它有助於維護句柄完整性並防止數據損壞。 經常斷線的工作負載,例如漫遊筆電或不穩定的網路連線,可能會在故障被回報之前,需要面對較長的等待時間。
SMB 多重通道
SMB 多重通道可讓 SMB 3.x 用戶端建立連至 SMB 檔案共用的多個網路連線。 Azure 檔案儲存體 僅支援 SSD(高級)檔案分享上的 SMB 多通道。 對於 Windows 用戶端,所有 Azure 區域預設啟用 SMB 多通道。 在大多數情境下,特別是多執行緒工作負載,客戶端在 SMB 多通道下會看到效能提升。 不過,針對某些特定案例,例如單一執行緒工作負載或測試用途,建議您停用 SMB 多重通道。 欲了解更多資訊,請參閱 中小企業多通路。
安全性
Azure 檔案儲存體 會透過 Azure 儲存服務加密(SSE)加密所有靜態資料。 你也可以選擇在傳輸中加密資料。
待用加密
儲存服務加密的運作方式類似 Windows 上的 BitLocker:它在檔案系統層級以下加密資料。 因為資料在編碼到磁碟時,會在 Azure 檔案分享的檔案系統下方加密,所以你不需要存取用戶端底層的金鑰就能讀寫 Azure 檔案分享。
傳輸中加密
Azure 檔案儲存體 提供專用的 Require Encryption in Transit for SMB 設定,您可以獨立控制 SMB 存取Azure檔案分享是否需要加密。 此依協定設定提供比儲存帳號 層級安全傳輸 所需設定更細緻的控制,後者現僅適用於 REST/HTTPS 流量。 對於透過 Azure 入口網站建立的新儲存帳號,預設啟用了 Requires Encryption in Transit for SMB,因此只有使用 SMB 3.x 加加密的 SMB 掛載才被允許。 當啟用傳輸加密時,來自不支援 SMB 3.x 協定或 SMB 通道加密的客戶端的掛載請求會被拒絕。 使用Azure PowerShell、Azure CLI或 FileREST API 建立的儲存帳號,將 Required Encryption in Transit for SMB設為 Not selected以確保向下相容。
對於現有的儲存帳戶,要求 SMB 的傳輸加密 最初會顯示為 未選擇。 即使未勾選,「安全傳輸所需」設定仍會持續控制 SMB 加密行為。 在你明確設定 「SMB 傳輸時要求加密」後,SMB 存取將優先使用該設定,不論 傳輸所需的 安全值為何。
Azure 檔案儲存體 在 Windows Server 2022 或 Windows 11 使用 SMB 3.1.1 時,支援 AES-256-GCM。 SMB 3.1.1 也支援 AES-128-GCM,而 SMB 3.0 則支援 AES-128-CCM。 基於效能考量,在 Windows 10 版本 21H1 上預設會協商使用 AES-128-GCM。
你可以在 Azure 檔案分享中關閉傳輸加密。 當加密被停用時,Azure 檔案儲存體 允許 SMB 2.1 和 SMB 3.x,且不需加密。 關閉傳輸中加密的主要原因是為了支援必須在較舊作業系統上運行的舊有應用程式,例如 Windows Server 2008 R2 或較舊的 Linux 發行版。 Azure 檔案儲存體 只允許在與 Azure 檔案分享相同的 Azure 區域內使用 SMB 2.1 連線。 位於 Azure 檔案分享 Azure 區域外的 SMB 2.1 用戶端,例如本地部署或其他 Azure 區域,無法存取該檔案分享。
SMB 安全性設定
Azure 檔案儲存體 會公開設定,你可以切換這些設定,讓 SMB 協定更相容或更安全,視你組織的需求而定。 預設情況下,Azure 檔案儲存體 設定為最大相容性,因此限制這些設定可能會導致部分用戶端無法連線。
Azure 檔案儲存體 會暴露以下設定:
- SMB 版本:允許的 SMB 版本。 支援的通訊協定版本為 SMB 3.1.1、SMB 3.0 和 SMB 2.1。 預設情況下,所有 SMB 版本皆被允許,但若啟用 「SMB 傳輸中要求加密 」(或「 安全傳輸需求 」設定規範 SMB 行為),則不允許 SMB 2.1,因為 SMB 2.1 不支援傳輸中加密。
- 驗證方法:允許的 SMB 驗證方法。 支援的驗證方法為 NTLMv2 (僅儲存體帳戶金鑰) 和 Kerberos。 預設情況下,允許所有驗證方法。 必須啟用 Kerberos,才能搭配 AD DS、Microsoft Entra Domain Services、Microsoft Entra Kerberos 或受控識別,使用以身分識別為基礎的驗證。 移除 NTLMv2 後,就不允許使用儲存帳號金鑰來掛載 Azure 檔案分享。 Azure 檔案儲存體 不支援使用 NTLM 認證來管理網域憑證。
- Kerberos 票證加密:允許的加密演算法。 支援的加密演算法有 AES-256(強烈推薦)和 RC4-HMAC。
-
SMB 通道加密:允許的 SMB 通道加密演算法。 支援的加密演算法為 AES-256-GCM、AES-128-GCM 和 AES-128-CCM。 如果你只選擇 AES-256-GCM,則需要告知連線的用戶端使用它;做法是在每個用戶端上以系統管理員身分開啟 PowerShell 終端機,然後執行
Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$false。 在 Windows 11/Windows Server 2022 版本以前的 Windows 用戶端不被支援使用 AES-256-GCM。
你可以透過 Azure 入口網站、Azure PowerShell 或 Azure CLI 來查看並更改 SMB 的安全設定。 選擇想要的分頁,了解如何取得並設定 SMB 的安全設定。 當建立 SMB 會話時會檢查這些設定,若未達成,SMB 會話設定失敗,錯誤 STATUS_ACCESS_DENIED。
要透過 Azure 入口網站查看或更改 SMB 安全設定,請依照以下步驟操作:
登入Azure入口網站,搜尋 Storage 帳戶。 選取您要檢視或變更SMB安全性設定的記憶體帳戶。
從服務選單中,選擇資料儲存>經典檔案分享。
在 [檔案共用設定] 底下,選取與安全性 相關聯的值。
你可以明確啟用或關閉 SMB 的「傳輸中要求加密」。 對於使用 Azure 入口網站建立的新儲存帳號,此設定預設為啟用。
在 [設定檔] 底下,選取 [相容性上限]、[安全性上限] 或 [自訂]。 選取 [自訂] 可讓您為 SMB 通訊協定版本、SMB 通道加密、驗證機制和 Kerberos 票證加密建立自訂設定檔。
重要事項
選擇 最高安全或 使用自訂設定可能會導致部分客戶端無法連線。 例如,AES-256-GCM 自 Windows Server 2022 與 Windows 11 起被引入為 SMB 通道加密的選項。 這表示不支援 AES-256-GCM 的舊客戶端無法連線。 如果你只選擇 AES-256-GCM,你需要告訴Windows Server 2022和Windows 11客戶端只能使用 AES-256-GCM,方法是在每個客戶端以管理員身份開啟 PowerShell 終端機並執行
Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$false。
輸入所需的安全設定後,選擇 儲存。
在 Linux 用戶端上停用 SMB 1
Azure 檔案儲存體 不支援 SMB 1。 從 Linux 核心 4.18 開始,你可以在 Linux 用戶端使用 disable_legacy_dialects 核心模組中的模組參數 cifs 來停用 SMB 1。
檢查你的分布是否支援這個參數:
sudo modinfo -p cifs | grep disable_legacy_dialects
要停用 SMB 1,首先卸載所有 SMB 共享並卸載模組:
sudo modprobe -r cifs
在關閉 SMB 1 的情況下重新載入模組:
sudo modprobe cifs disable_legacy_dialects=Y
為了讓這個變更在重啟後持續存在,請在你的模組設定中加入以下設定:
echo "options cifs disable_legacy_dialects=Y" | sudo tee -a /etc/modprobe.d/local.conf > /dev/null
確認設定是否啟用:
cat /sys/module/cifs/parameters/disable_legacy_dialects
輸出應該是 Y。
限制
SMB Azure 檔案分享支援 SMB 協定與 NTFS 檔案系統所支援的部分功能。 雖然大多數使用案例和應用程式不需要這些功能,但有些應用程式若依賴不支援的功能,可能無法正常支援 Azure 檔案儲存體。 不支援下列功能:
- SMB 直銷
- SMB 目錄租用
- 適用於 SMB 檔案共用的 VSS (此功能可讓 VSS 提供者在建立快照集前,將其資料先強制寫入至 SMB 檔案共用)
- 替代資料流
- 擴充屬性
- 物件識別碼
- 永久連結
- 軟式連結
- 重新剖析點
- 疏鬆檔案
- 簡短檔案名稱 (8.3 別名)
- Compression
區域可用性
SMB Azure 檔案分享可在所有 Azure 區域使用,包括所有公共及主權區域。 SSD 檔案共用可在 區域的子集中使用。
後續步驟
- 規劃Azure 檔案儲存體部署
- 建立Azure檔案分享
- 將 SMB 檔案共用掛載在您慣用的作業系統上: