Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure 文件提供了获取 SMB 和 NFS 文件共享的快照的功能。 共享快照可以捕获在某个时间点的共享状态。 本文介绍文件共享快照提供的功能,以及如何使用它们恢复以前版本的文件。
重要
共享快照只提供文件级保护。 它们不会阻止在文件共享或存储帐户上意外删除。 为了帮助防止存储帐户被意外删除,可以启用软删除,或是锁定存储帐户和/或资源组。
何时使用共享快照
防范应用程序错误和数据损坏
使用文件共享的应用程序执行写入、读取、存储、传输和处理等操作。 如果应用程序配置不当或引入了意外的错误 (bug),某些数据块可能会出现意外的覆盖或损坏。 为了帮助防范这些情况,请在部署新的应用程序代码之前创建共享资源快照。 如果新部署引入了 bug 或应用程序错误,则可以返回到该文件共享上的以前版本数据。
防止意外删除或不慎更改
假设我们要处理文件共享中的某个文本文件。 关闭文本文件后,将无法撤消更改。 在这些情况下,需要恢复文件的早期版本。 使用共享快照可在文件被意外重命名或删除时将其恢复到先前的版本。
常规备份目的
创建文件共享后,可以定期创建文件共享的共享快照,以便使用它进行数据备份。 定期创建共享快照有助于维护之前版本的数据,以备未来审计之需或灾难恢复之用。 使用 Azure 文件共享备份拍摄和管理快照。 还可以使用 Azure 门户、Azure PowerShell 或 Azure CLI自行拍摄和管理快照。
功能
共享快照是一种在特定时间点生成的、只读的数据副本。 共享快照功能是在文件共享级别提供的。 检索是在单个文件级别提供的,支持恢复单个文件。 共享快照与它们所在的 Azure 文件共享具有相同的冗余。 如果选择帐户的异地冗余存储,则共享快照也会以冗余方式存储在配对区域中。
可以使用 SMB、NFS、REST API、Azure 门户、客户端库或 PowerShell/CLI 还原整个文件共享。 可以使用 REST API、SMB 或 NFS 查看共享快照。 可以检索目录或文件的版本列表,并且可以直接将特定版本作为驱动器装载(仅适用于 Windows - 请参阅限制)。
创建共享快照后,可以读取、复制或删除它,但无法对其进行修改。 无法将整个共享快照复制到另一个存储帐户。 必须使用AzCopy或其他复制机制按文件复制该数据文件。
文件共享的共享快照与其基本文件共享相同。 唯一的差别在于,共享 URI 的后面追加了一个 DateTime 值,用于指示共享快照的创建时间。 例如,如果文件共享 URI 为 https://storagesample.file.core.chinacloudapi.cn/myshare,则共享快照 URI 将类似于:
https://storagesample.file.core.chinacloudapi.cn/myshare?sharesnapshot=2024-12-09T17:44:51.0000000Z
共享快照将一直保留,直到显式删除快照,或删除文件共享为止。 你无法删除文件共享而保留共享快照。 删除工作流会在删除共享时自动删除快照。 可以枚举与基本文件共享相关联的快照,以跟踪当前快照。
创建文件共享的共享快照时,共享系统属性中的文件会被复制到具有相同值的共享快照中。 基本文件和文件共享的元数据也会复制到共享快照,除非在创建共享快照时为其指定了不同的元数据。
空间使用量
共享快照在本质上是递增的。 只有最新共享快照后发生更改的数据会被保存。 此功能可最大程度地减少创建共享快照并节省存储成本所需的时间,因为只需为更改的内容付费。 对对象或属性或元数据更新作的任何写入作都计入“已更改的内容”,并存储在共享快照中。
为了节省空间,可以在改动幅度最大的期间删除共享快照。
尽管共享快照是增量方式进行保存的,但只需保留最新的共享快照即可还原共享。 删除共享快照时,仅删除该共享快照所独有的数据。 活动快照包含浏览和还原数据(从创建共享快照开始)到原始位置或替代位置所需的所有信息。 可以在项目级别进行还原。
快照不计入最大共享大小限制。 共享快照的总占用量没有限制,特定文件共享的共享快照所能占用的空间大小也没有限制。 存储帐户限制仍然适用。
限制
Azure Files每个共享最多支持 200 个快照。 达到 200 个共享快照后,必须删除较旧的共享快照才能创建新快照。 快照最多可以保留 10 年。
对于创建共享快照的同时调用次数,系统没有任何限制。
NFS Azure 文件共享快照仅支持文件管理 API (AzRmStorageShare)。 不支持文件数据平面 API (AzStorageShare)。
将数据从共享快照复制回共享
涉及文件和共享快照的复制操作遵循以下规则:
可以将文件共享快照中的各个文件复制到其原始共享或任何其他位置。 通过从共享快照中逐个复制文件,可以还原文件的早期版本或还原完整的文件共享。 共享快照不会被提升为基础共享。
复制后,共享快照保持完整,但基本文件共享将被共享快照中可用数据的副本覆盖。 所有恢复的文件都会计入“已更改内容”。
可将共享快照中的文件复制到具有不同名称的不同目标。 生成的目标文件是可写文件,而不是共享快照。 在这种情况下,基本文件共享保持不变。
使用副本覆盖目标文件时,与原始目标文件关联的所有共享快照均将保持不变。
将数据从共享快照复制回本地驱动器
如果要将数据从 SMB Azure 文件共享的快照还原到 Windows 上的本地驱动器,可以使用 Robocopy 从快照复制文件和文件夹。
在 Windows 上,可以从 Windows 文件资源管理器中的 “以前版本 ”选项卡访问 SMB 文件共享快照。 使用此方法访问快照视图时,可以使用标准文件作或 Robocopy 将文件和文件夹复制到本地路径。
如果从提升权限的命令提示符运行 Robocopy,则映射的驱动器可能无法访问,并且可能会无法引用驱动器号。 在这种情况下,请使用引用快照视图的 UNC 路径。 确保路径引用快照而不是实时文件共享。 如果引用当前文件共享而不是快照,复制操作会使用文件共享的当前状态,而不是快照中捕获的时间点状态。
常规最佳做法
尽可能自动备份以便于数据恢复。 自动化作比手动过程更可靠,因此自动化有助于提高数据保护和可恢复性。 对于自动化,可以使用Azure文件共享备份(仅限 SMB 文件共享)、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.00000000Z 转换为 @GMT-2023.01.05-00.08.20。运行
mount命令并使用 GMT 时间以指定snapshot值。 将<storage-account-name>、<file-share-name>和GMT时间戳替换为你的值。 .cred 文件包含用于挂载共享的凭据。sudo mount -t cifs //<storage-account-name>.file.core.chinacloudapi.cn/<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)。
Azure Backup目前不支持 NFS 文件共享。
创建 NFS 文件共享的快照
可以使用 Azure 门户、Azure PowerShell 或 Azure CLI 创建 NFS 文件共享的快照。
若要创建现有文件共享的快照,请登录到 Azure 门户并按照以下步骤操作。
在 Azure 门户顶部的搜索框中,键入并选择“存储帐户”。
选择包含要拍摄快照的 NFS 文件共享的 FileStorage 存储帐户。
选择“数据存储”“文件共享”。
选择要快照的文件共享,然后选择 操作>快照。
选择“+ 添加快照”。 添加可选的注释并选择“确定”。
列出 NFS 文件共享快照
可以使用Azure门户、Azure PowerShell或Azure CLI列出文件共享的所有快照。
若要列出某个现有文件共享的所有快照,请登录到 Azure 门户并按照以下步骤操作。
在 Azure 门户顶部的搜索框中,键入并选择“存储帐户”。
选择包含要为其列出快照的 NFS 文件共享的存储帐户。
选择“数据存储”“文件共享”。
选择要列出快照的文件共享。
选择 操作>快照,门户会列出文件共享下的所有现有快照。
从 NFS 文件共享快照还原
若要将 NFS 文件共享快照装载到 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目录处于隐藏状态,但可以像任何目录一样查看和读取。 如果刚刚创建了快照,请等待至少 30 秒,才能使.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 文件共享的 FileStorage 存储帐户,并为其删除快照。
选择“数据存储”“文件共享”。
选择您想要为其删除一个或多个快照的文件共享,然后选择操作>快照。 门户列出了文件共享的所有现有快照。
选择要删除的快照,然后选择“ 删除”。
另请参阅
- 在以下环境中使用共享快照: