搭配 Azure 檔案儲存體 使用共用快照集
Azure 檔案儲存體 提供擷取 SMB 和 NFS 檔案共用快照的功能。 共用快照集能擷取該時間點的共用狀態。 本文說明檔案共用快照集所提供的功能,以及如何使用這些功能來復原舊版的檔案。
重要
共用快照集只提供檔案層級的保護。 它們不會防止檔案共用或儲存體帳戶上的胖手指刪除。 為了協助保護記憶體帳戶免於意外刪除,您可以 啟用虛刪除,或鎖定記憶體帳戶和/或資源群組。
適用於
檔案共用類型 | SMB | NFS |
---|---|---|
標準檔案共用 (GPv2)、LRS/ZRS | ||
標準檔案共用 (GPv2)、GRS/GZRS | ||
進階檔案共用 (FileStorage)、LRS/ZRS |
使用共用快照集的時機
預防應用程式錯誤和資料損毀
使用檔案共用執行各種作業 (如寫入、讀取、儲存、傳輸和處理) 的應用程式。 設定錯誤的應用程式或導入的非蓄意錯誤 (bug),可能會導致意外覆寫或毀損幾個區塊。 為防範這些狀況,您可以先建立共用快照集,再部署新的應用程式程式碼。 如果錯誤 (bug) 或應用程式錯誤是因為新部署所引起,您可以將您的資料還原成該檔案共用上的先前版本。
預防意外刪除或非預期的變更
假設您正在使用檔案共用中的某個文字檔。 在該文字檔關閉後,您就無法復原變更。 在這些情況下,您必須復原該檔案先前的版本。 如果檔案不小心遭到重新命名或刪除,您可使用共用快照集來復原先前版本的檔案。
一般備份用途
建立檔案共用之後,您可以定期建立檔案共用的共用快照集,以供資料備份之用。 定期建立的共用快照集,有助於維護先前版本的檔案,因應未來的稽核需求或災害復原之需。 建議您使用 Azure 檔案共用備份來建立和管理快照集。 您也可以使用 Azure 入口網站、Azure PowerShell 或 Azure CLI 自行建立和管理快照集。
功能
共用快照集是某個時間點的唯讀資料複本。 共用快照集功能會於檔案共用層級提供。 擷取會在個別檔案層級提供,以允許還原個別檔案。 共用快照集擁有和目標 Azure 檔案共用相同的備援。 如果您為帳戶選取了異地備援儲存體,則共用快照集也會在配對區域中進行備援儲存。
您可以使用 SMB、NFS、REST API、Azure 入口網站、用戶端程式庫或 PowerShell/CLI 來還原完整的檔案共用。 您可以使用 REST API、SMB 或 NFS 來檢視共用的快照集。 您可以擷取目錄或檔案的版本清單,也可以將特定版本當作磁碟機直接掛接 (僅適用於 Windows - 請參閱限制)。
建立共用快照集之後,即可加以讀取、複製或刪除,但不能修改。 您無法將整個共用快照集複製到另一個儲存體帳戶。 您必須使用 AzCopy 或其他複製機制逐一複製每個檔案。
檔案共用的共用快照集和其基底檔案共用相同。 唯一的差別在於,DateTime 值會附加至共用 URI,以表示建立共用快照集的時間。 例如,如果檔案共用 URI 為 http://storagesample.core.file.windows.net/myshare,則共用快照集 URI 會類似於:
http://storagesample.core.file.windows.net/myshare?snapshot=2011-03-09T01:42:34.9360000Z
除非明確刪除共用快照集,或刪除檔案共用,否則會持續保存共用快照集。 您無法刪除檔案共用並保留共用快照集。 刪除工作流程將會在您刪除共用時自動刪除快照集。 您可以列舉與基底檔案共用相關聯的快照集,以追蹤目前的快照集。
當您建立檔案共用的共用快照集時,系統會將位於共用系統屬性中的檔案複製到值相同的共用快照集。 除非您在建立共用快照集時為其指定個別的中繼資料,否則,基底檔案和檔案共用的中繼資料也會複製到共用快照集。
空間使用量
共用快照集具有累加性質。 系統只會儲存最新共用快照集之後變更的資料。 這可將建立共用快照集所需的時間降到最低,並節省記憶體成本,因為您只需針對變更的內容計費。 物件或屬性的任何寫入作業或中繼資料更新作業都算是「變更內容」,因此會儲存在共用快照集內。
為了節省空間,您可以在變換率最高的期間內刪除共用快照集。
即使共用快照集以累加方式儲存,您只需要保留最新的共用快照集,以便還原共用。 當您刪除共用快照集時,只會移除該共用快照集的唯一資料。 使用中的快照集包含所有瀏覽及還原資料 (從共用快照集建立時間開始) 到原始或替代位置所需的資訊。 您可以在項目層級來進行還原。
快照集不會計入 100 TiB 的最大共用大小限制。 共用快照集的總佔用空間沒有限制,或特定檔案共用共用的共用快照集可以取用。 但儲存體帳戶限制依然有效。
限制
Azure 檔案允許的最大共用快照集數目為每個共用 200 個。 保留 200 個共用快照集之後,必須先刪除舊的共用快照集,才能建立新的共用快照集。 快照集最多可保留 10 年。
建立共用快照集的同時呼叫數目沒有限制。
NFS Azure 檔案共用快照集僅支援檔案管理 API (AzRmStorageShare
)。 不支援檔案資料平面 API (AzStorageShare
)。
從共用快照集將資料複製回共用
涉及檔案和共用快照集的複製作業須遵循下列規則:
您可以將檔案共用快照集內的個別檔案複製到其基底共用或其他任何位置。 您可以從共用快照集還原舊版的檔案,或利用逐一複製檔案的方式還原整個檔案共用。 共用快照集不會提升為基底共用。
複製過後共用快照集會保持不變,不過系統會將先前共用快照集提供的資料複本覆寫到基底檔案共用。 所有還原的檔案都算是「變更內容」。
您可以將共用快照集內的檔案複製到不同名稱的不同目的地。 產生的目的地檔案會是一個可寫入的檔案,而不是共用快照集。 在此情況下,您的基底檔案共用會保持不變。
使用某個複本覆寫目的地檔案時,與原始目的地檔案相關聯的所有共用快照集都會保持不變。
一般最佳做法
盡可能地自動化資料復原的備份。 自動化的動作比手動程序來得可靠,能協助您加強資料保護和復原能力。 您可以使用 Azure 檔案共用備份 (僅限 SBM 檔案共用)、REST API、用戶端 SDK 或指令碼來進行自動化。
在部署共用快照集排程器之前,請審慎考慮共用快照集頻率和保留設定,以避免產生不必要的共用快照集費用。
SMB 檔案共用快照集
使用SMB Azure檔案共用的客戶可以從共用快照集建立、列出、刪除和還原。
建立SMB檔案共用快照集
您可以使用 Azure 入口網站、Azure PowerShell 或 Azure CLI 來建立 SMB Azure 檔案共用的快照集。
若要建立現有檔案共用的快照集,請登入 Azure 入口網站並遵循下列步驟。
在入口網站中,流覽至您的檔案共用。
選取 [快照集],然後選取 [+ 新增快照集],然後選取 [確定]。
列出SMB檔案共用快照集
您可以使用 Azure 入口網站、Azure PowerShell 或 Azure CLI 來列出檔案共用的所有快照集。
若要列出現有檔案共用的所有快照集,請登入 Azure 入口網站並遵循下列步驟。
在入口網站中,流覽至您的檔案共用。
在您的檔案共用上,選取 [快照集]。
在 [ 快照集] 索引 卷標上,從清單中選取快照集。
開啟該快照集以流覽它所包含的檔案。
從SMB檔案共用快照集還原
若要從快照集還原檔案,請登入 Azure 入口網站 並遵循下列步驟。
在入口網站中,流覽至您的檔案共用。
在您的檔案共用上,選取 [快照集]。
從 [檔案共用快照集] 索引標籤中,以滑鼠右鍵按下您要還原的檔案,然後選取 [ 還原] 按鈕。
選取 [覆寫原始檔案] 然後選取 [確定]。
現在應該還原未修改的檔案版本。
刪除SMB檔案共用快照集
現有共用快照集永遠不會被覆寫。 必須明確將之刪除。 您可以使用 Azure 入口網站、Azure PowerShell 或 Azure CLI 來刪除共用快照集。
您必須先移除儲存體帳戶的任何鎖定,才能刪除共用快照集。 瀏覽至儲存體帳戶,並依序選取 [設定]>[鎖定]。 如果列出鎖定,請將其刪除。
若要刪除現有檔案共用的快照集,請登入 Azure 入口網站並遵循下列步驟。
在 Azure 入口網站頂端的搜尋方塊中,輸入並選取儲存體帳戶。
選取包含您要刪除快照集之檔案共享的記憶體帳戶。
選取 [資料儲存體]>[檔案共用]。
選取您要刪除一或多個快照集的檔案共享,然後選取 [作業]>[快照集]。 將列出該檔案共用所有現有快照集。
選取您要刪除的快照集,然後選取 [刪除]。
在 Windows 中使用 SMB 檔案共用快照集
就像使用內部部署磁碟區陰影複製 (VSS) 快照集一樣,您可以使用 Windows 中的 [舊版] 索引標籤,從掛接的 Azure 檔案共享檢視快照集。
在 [檔案總管] 中,找出已掛接的共用。
瀏覽至需要還原的項目或父項目。 按一下滑鼠右鍵,然後從功能表中選取 [屬性]。
選取 [舊版],以查看此目錄之共用快照集的清單。
選取 [開啟] 以開啟快照集。
選取還原。 此操作可在共用快照集建立時,將整個目錄的內容以遞迴方式複製到原始位置。
注意
如果您的檔案並未變更,您就不會看到該檔案的先前版本,因為該檔案的版本與快照集相同。 此行為與 Windows 檔案伺服器上的運作方式一致。
在 Linux 上掛接 SMB 檔案共用快照集
如果您想要在 Linux 上掛接 SMB Azure 檔案共用的特定快照集,您必須提供 snapshot
選項做為命令的 mount
一部分,其中 snapshot
是特定快照集建立格式的時間,例如 @GMT-2023.01.05-00.08.20。 自 4.19 版起,Linux 核心支援 snapshot
選項。
建立檔案共用快照集之後,請遵循下列指示加以掛接。
在 Azure 入口網站中,瀏覽至包含您要掛接快照集之檔案共用的儲存體帳戶。
選取 [資料儲存體] > [檔案共用],然後選取檔案共用。
選取 [作業] > [快照集],記下您要掛接的快照集名稱。 快照集名稱會是一個 GMT 時間戳記,例如下列螢幕擷取畫面所示。
將時間戳記轉換成
mount
命令所預期的格式 @GMT-year.month.day-hour.minutes.seconds。 在此範例中,將 2023-01-05T00:08:20.0000000Z 轉換為 @GMT-2023.01.05-00.08.20。使用 GMT 時間執行
mount
命令,以指定snapshot
值。 請務必以您的值取代<storage-account-name>
、<file-share-name>
和 GMT 時間戳記。 .cred 檔案包含要用來掛接共用的認證。sudo mount -t cifs //<storage-account-name>.file.core.windows.net/<file-share-name> /media/<file-share-name>/snapshot1 -o credentials=/etc/smbcredentials/snapshottestlinux.cred,snapshot=@GMT-2023.01.05-00.08.20
如果您能夠瀏覽路徑
/media/<file-share-name>/snapshot1
下的快照集,則表示掛接成功。
如果掛接失敗,請參閱針對 Azure 檔案儲存體連線和存取問題進行疑難排解 (SMB)。
NFS 檔案共用快照集
使用 NFS Azure 檔案共享的客戶可以從共用快照集建立、列出、刪除和還原。
重要
您應先掛接檔案共用,再建立快照集。 如果您在掛接共用之前建立新的 NFS 檔案共用並擷取快照集,嘗試列出共用的快照集將會傳回空白清單。 建議您刪除第一次掛接前建立的任何快照集,並在掛接共用之後重新建立快照集。
NFS 快照集限制
NFS Azure 檔案共用快照集僅支援檔案管理 API (AzRmStorageShare
)。 不支援檔案資料平面 API (AzStorageShare
)。
NFS 檔案共用目前不支援 Azure 備份。
NFS 檔案共用目前不支援 AzCopy。 若要從 NFS Azure 檔案共用或共用快照集複製資料,請使用 rsync 或 fpsync 等檔案系統複製工具。
NFS Azure 檔案共用快照集在所有 Azure 公用雲端區域皆可提供。
建立 NFS 檔案共用快照集
您可以使用 Azure 入口網站、Azure PowerShell 或 Azure CLI 建立 NFS Azure 檔案共用的快照集。
若要建立現有檔案共用的快照集,請登入 Azure 入口網站並遵循下列步驟。
在 Azure 入口網站頂端的搜尋方塊中,輸入並選取儲存體帳戶。
選取包含您要擷取快照集之 NFS Azure 檔案共用的儲存體帳戶。
選取 [資料儲存體]>[檔案共用]。
選取您要擷取快照集的檔案共用,然後選取 [作業]>[快照集]。
選取 [新增快照集]。 新增選擇性註解,然後按一下 [確定]。
列出NFS檔案共用快照集
您可以使用 Azure 入口網站、Azure PowerShell 或 Azure CLI 來列出檔案共用的所有快照集。
若要列出現有檔案共用的所有快照集,請登入 Azure 入口網站並遵循下列步驟。
在 Azure 入口網站頂端的搜尋方塊中,輸入並選取儲存體帳戶。
選取包含您要列出快照集之 NFS Azure 檔案共用的記憶體帳戶。
選取 [資料儲存體]>[檔案共用]。
選取您要列出快照集的檔案共用。
選取 [作業]>[快照集],將列出該檔案共用所有現有快照集。
從 NFS Azure 檔案共用快照集還原
若要將 NFS Azure 檔案共用快照集掛接至 Linux VM (NFS 用戶端) 並還原檔案,請遵循下列步驟。
在主控台中,執行下列命令。 如需其他建議掛接選項,請參閱掛接選項。 若要改善複製效能,請運用 nconnect 掛接快照集,即可使用多個 TCP 通道。
sudo mount -o vers=4,minorversion=1,proto=tcp,sec=sys $server:/nfs4account/share /media/nfs
將目錄變更為
/media/nfs/.snapshots
,即可檢視可用的快照集。.snapshots
目錄預設為隱藏,但如同其他目錄,您可加以存取和讀取。cd /media/nfs/.snapshots
列出
.snapshots
資料夾的內容。ls
每個快照集都有自己的目錄當作復原點。 變更成您想要還原檔案的快照集目錄。
cd <snapshot-name>
列出目錄的內容,以檢視可復原的檔案和目錄清單。
ls
將所有檔案和目錄從快照集複製到 restore 目錄,即可完成還原作業。
cp -r <snapshot-name> ../restore
快照集的檔案和目錄現在應出現在 /media/nfs/restore
目錄。
刪除 NFS 檔案共用快照集
現有共用快照集永遠不會被覆寫。 必須明確將之刪除。 您可以使用 Azure 入口網站、Azure PowerShell 或 Azure CLI 來刪除共用快照集。
您必須先移除儲存體帳戶的任何鎖定,才能刪除共用快照集。 瀏覽至儲存體帳戶,並依序選取 [設定]>[鎖定]。 如果列出鎖定,請將其刪除。
若要刪除現有檔案共用的快照集,請登入 Azure 入口網站並遵循下列步驟。
在 Azure 入口網站頂端的搜尋方塊中,輸入並選取儲存體帳戶。
選取包含您要刪除快照集之 NFS Azure 檔案共用的儲存體帳戶。
選取 [資料儲存體]>[檔案共用]。
選取您要刪除一或多個快照集的檔案共享,然後選取 [作業]>[快照集]。 將列出該檔案共用所有現有快照集。
選取您要刪除的快照集,然後選取 [刪除]。
另請參閱
- 在下列位置使用共用快照集: