可以通过定期创建备份来保护数据。 Azure 备份可创建恢复点,这些恢复点存储在异地冗余的恢复保管库中。 从恢复点还原时,可以还原整个 VM,或只是还原特定的文件。 本文介绍如何将单个文件还原到运行 nginx 的 Linux VM。 如果没有可用的 VM,可以参考 Linux 快速入门创建一个 VM。 本教程介绍如何执行下列操作:

  • 创建 VM 的备份
  • 计划每日备份
  • 从备份还原文件

备份概述

当 Azure 备份服务启动备份时,将触发备份扩展来创建时间点快照。 Azure 备份服务在 Linux 中使用 VMSnapshotLinux 扩展。 该扩展是在首次 VM 备份(如果 VM 正在运行)期间安装的。 如果 VM 未运行,备份服务将创建基础存储的快照(因为在 VM 停止时不会发生任何应用程序写入)。

默认情况下,Azure 备份为 Linux VM 创建文件系统一致备份,但可以使用前脚本和后脚本框架将其配置为创建应用程序一致备份。 Azure 备份服务创建快照后,数据将传输到保管库。 为最大限度地提高效率,服务仅标识和传输自上次备份以后已更改的数据块。

数据传输完成后,会删除快照并创建恢复点。

创建备份

在恢复服务保管库中创建一个简单的已计划每日备份。

  1. 登录到 Azure 门户。
  2. 在左侧菜单中选择“虚拟机”。
  3. 从列表中选择要备份的 VM。
  4. 在 VM 边栏选项卡上的“设置”部分中,单击“备份”。 此时会打开“启用备份”边栏选项卡。
  5. 在“恢复服务保管库”中,单击“新建”并为新保管库提供名称。 将在与虚拟机相同的资源组和位置中创建新保管库。
  6. 单击“备份策略”。 对于本示例,请保留默认值,并单击“确定”。
  7. 在“启用备份”边栏选项卡中,单击“启用备份”。 这会根据默认的计划创建每日备份。
  8. 若要创建初始恢复点,请在“备份”边栏选项卡中单击“立即备份”。
  9. 在“立即备份”边栏选项卡中单击日历图标,使用日历控件选择保留此恢复点的最后一天,并单击“备份”。
  10. 在 VM 的“备份”边栏选项卡中,可以看到已完成的恢复点数。

首次备份大约需要 20 分钟。 完成备份后,请继续学习本教程的下一部分。

还原文件

如果意外删除或更改了某个文件,可以使用文件恢复从备份保管库恢复该文件。 文件恢复使用一个在 VM 上运行的脚本将恢复点装载为本地驱动器。 这些驱动器将保持装载 12 小时,以便可以从恢复点复制文件并将其还原到 VM。

本示例演示如何恢复默认 nginx 网页 /var/www/html/index.nginx-debian.html。 本示例中的 VM 的公共 IP 地址为 13.69.75.209。 可使用以下命令找到 VM 的 IP 地址:

bash复制
az vm show --resource-group myResourceGroup --name myVM -d --query [publicIps] --o tsv
  1. 在本地计算机上打开浏览器,并键入 VM 的公共 IP 地址查看默认的 nginx 网页。

  2. 通过 SSH 连接到 VM。

    bash复制
    ssh 13.69.75.209
  3. 删除 /var/www/html/index.nginx-debian.html。

    bash复制
    sudo rm /var/www/html/index.nginx-debian.html
  4. 在本地计算机上按 CTRL + F5 刷新浏览器,检查默认的 nginx 页面是否已消失。

  5. 在本地计算机上登录到 Azure 门户。

  6. 在左侧菜单中选择“虚拟机”。
  7. 从列表中选择 VM。
  8. 在 VM 边栏选项卡上的“设置”部分中,单击“备份”。 此时会打开“备份”边栏选项卡。
  9. 在边栏选项卡顶部的菜单中,选择“文件恢复”。 此时会打开“文件恢复”边栏选项卡。
  10. 在“步骤 1: 选择恢复点”中,从下拉列表中选择恢复点。
  11. 在“步骤 2: 下载脚本以浏览并恢复文件”中,单击“下载可执行文件”按钮。 将下载的文件保存到本地计算机。
  12. 单击“下载脚本”在本地下载脚本文件。
  13. 打开 Bash 提示符并键入以下命令。请将 Linux_myVM_05 05 2017.sh 替换为下载的脚本的正确路径和文件名,将 azureuser 替换为 VM 的用户名,将 13.69.75.209 替换为 VM 的公共 IP 地址。

    bash复制
    scp Linux_myVM_05-05-2017.sh azureuser@13.69.75.209:
  14. 在本地计算机上打开 VM 的 SSH 连接。

    bash复制
    ssh 13.69.75.209
  15. 在 VM 上,添加对脚本文件的执行权限。

    bash复制
    chmod +x Linux_myVM_05-05-2017.sh
  16. 在 VM 上,运行该脚本将恢复点装载为文件系统。

    bash复制
    ./Linux_myVM_05-05-2017.sh
  17. 脚本的输出将提供装入点的路径。 输出与下面类似:

    bash复制
    Azure VM Backup - File Recovery
    ______________________________________________ Connecting to recovery point using ISCSI service... Connection succeeded! Please wait while we attach volumes of the recovery point to this machine... ************ Volumes of the recovery point and their mount paths on this machine ************ Sr.No. | Disk | Volume | MountPath 1) | /dev/sdc | /dev/sdc1 | /home/azureuser/myVM-20170505191055/Volume1 ************ Open File Explorer to browse for files. ************ After recovery, to remove the disks and close the connection to the recovery point, please click 'Unmount Disks' in step 3 of the portal. Please enter 'q/Q' to exit...
  18. 在 VM 上,将 nginx 默认网页从装入点复制回到删除该文件的位置。

    bash复制
    sudo cp ~/myVM-20170505191055/Volume1/var/www/html/index.nginx-debian.html /var/www/html/
  19. 在本地计算机上,打开已从中连接到 VM 的 IP 地址、显示 nginx 默认页面的浏览器标签页。 按 CTRL + F5 刷新浏览器页面。 现在,应会看到默认页面再次正常运行。

  20. 在本地计算机上,返回到 Azure 门户的浏览器选项卡,并在“步骤 3: 恢复后卸载磁盘”中单击“卸载磁盘”按钮。 如果忘记执行此步骤,与装入点的连接会在 12 小时后自动关闭。 在这 12 个小时后,若要创建新的装入点,需要下载新脚本。

后续步骤

在本教程中,已学习了如何执行以下操作:

  • 创建 VM 的备份
  • 计划每日备份
  • 从备份还原文件

请转到下一教程,了解如何监视虚拟机。

监视虚拟机

立即访问http://market.azure.cn

在 Azure 中备份 Linux 虚拟机的更多相关文章

  1. 如何监视和更新 Azure 中的 Linux 虚拟机

    为确保 Azure 中的虚拟机 (VM) 正常运行,可以查看启动诊断.性能指标,并管理程序包更新. 本教程介绍如何执行下列操作: 在 VM 上启用启动诊断 查看启动诊断 在 VM 上启用诊断扩展 基于 ...

  2. 如何在 Azure 中均衡 Linux 虚拟机负载以创建高可用性应用程序

    负载均衡通过将传入请求分布到多个虚拟机来提供更高级别的可用性. 本教程介绍了 Azure 负载均衡器的不同组件,这些组件用于分发流量和提供高可用性. 你将学习如何执行以下操作: 创建 Azure 负载 ...

  3. 在 Azure 中的 Linux 虚拟机上使用 SSL 证书保护 Web 服务器

    若要保护 Web 服务器,可以使用安全套接字层 (SSL) 证书来加密 Web 流量. 这些 SSL 证书可存储在 Azure Key Vault 中,并可安全部署到 Azure 中的 Linux 虚 ...

  4. 如何使用 Packer 在 Azure 中创建 Windows 虚拟机映像

    Azure 中的每个虚拟机 (VM) 都是基于定义 Windows 分发和操作系统版本的映像创建的. 映像可以包括预安装的应用程序和配置. Azure 应用商店为最常见的操作系统和应用程序环境提供了许 ...

  5. 在 Azure 中的 Linux VM 上创建 MongoDB、Express、AngularJS 和 Node.js (MEAN) 堆栈

    本教程介绍如何在 Azure 中的 Linux VM 上实现 MongoDB.Express.AngularJS 和 Node.js (MEAN) 堆栈. 通过创建的 MEAN 堆栈,可以在数据库中添 ...

  6. 使用Azure CLI创建Linux虚拟机

    Azure提供了三种方式创建虚拟机,分别是Azure CLI.Azure PowerShell和Azure门户.本文介绍使用Azure CLI来创建Linux虚拟机. 使用Azure CLI创建Lin ...

  7. Azure 中的 Windows 虚拟机概述

    Azure 虚拟机 (VM) 是 Azure 提供的多种可缩放按需分配计算资源之一. 通常情况下,如果需要以更大的力度(相对于其他控制选项)控制计算环境,则应选择 VM. 本文介绍创建 VM 之前的注 ...

  8. 使用 Puppet 在 Windows Azure 中配备 Linux 和 Windows 环境

     发布于 2013-12-11 作者 Ross Gardler 微软开放技术有限公司 (MS Open Tech) 很高兴地宣布发行新的 Windows Azure Puppet 模块.通过这个模 ...

  9. [原]Windows Azure开发之Linux虚拟机

      Windows Azure是微软的云服务集合,用来提供云在线服务所需要的操作系统与基础存储与管理的平台,是微软的云计算的核心组成组件之一.其中windows azure提供的最重要的一项服务就是虚 ...

随机推荐

  1. ZigBee 学习资源

    1.雪帕的主页 http://home.cnblogs.com/u/yqh2007/ 2.刘志鹏的主页 http://www.cnblogs.com/hustlzp/archive/2011/02/1 ...

  2. PMP备考指南之相关事项介绍

    本文已同步至 GitHub/Gitee/公众号,感兴趣的同学帮忙点波关注~ PMP是当今IT.通信.建筑.等高新技术行业的热门资格认证,无论是技术升级管理,还是管理者的能力提升,都离不开PMP的理论体 ...

  3. 业务ID 生成策略

    业务ID 生成策略,从技术上说,基本要借助一个集中式的引擎来帮忙实现. 为了扩大业务ID生成策略的并发问题,还有更为技巧性的提升. 先来介绍普遍的分布式ID生成策略: 1. 利用DB的自增主键 这里又 ...

  4. Golang 并发Groutine详解

    概述 1.并行和并发 并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行. 并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在 ...

  5. asp.net MVC 文件流导出Excel

    <form id="FormEsExcel" action="/**/ExportEsExcelData" method="post" ...

  6. c#基础学习(0703)之string.Format格式化日期

    C# string.Format格式化日期 DateTime dt = ,,,,,,); string.Format("{0:y yy yyy yyyy}",dt); //17 1 ...

  7. 使用T4Scaffolding 创建自己的代码生成

    nuget查找引入T4Scaffolding.Core 这个是最低层的,没有其他依赖,当然也没有现成的模板 这个有对EF的依赖,自带了生成DBContext的模板   这个自带了一些mvc的contr ...

  8. jquery判断日期是不是为空,是否大于前面的日期

    jquery判断日期是否为空,是否大于前面的日期,代码如下:方法一function onemonthtypeChange(){var startDate = $("#startDate&qu ...

  9. MyEclipse中设置代码块快捷键

    如果想用快捷键生成一段自定义代码,可以通过下面方式设置: Java->Editor->Templates->New 如果要设置或者更改某个快捷键,如要设置保存全部文档的快捷键(系统默 ...

  10. 整理 node-sass 安装失败的原因及解决办法

    npm install 时偶尔遇到报错:没有安装python或node-sass 安装失败的问题,百度之后发现是被墙了,但根据百度的方法换了淘宝镜像和用了vpn都安装失败,最后发现原来是因为没有卸载之 ...