Azure 入门系列 (第二篇 Backup 和 Disaster Recovery)
本系列
这个系列会介绍从 0 到 1 搭建一个 Web Application 的 Server. 间中还会带上一些真实开发常用的功能.
一共 6 篇
1. Virtual Machine (VM) 和 SQL Server
2. Backup & Recovery Disaster <-- 你在这里
3. Publish Web Application to VM (IIS, HTTPS)
5. Azure Storage (with custom domain)
6. Computer Vision (smart-cropped thumbnails, OCR)
参考:
Disaster Recovery in Microsoft Azure (Youtube)
Backup 和 Disaster Recovery 的区别
参考: Azure Backup和Azure Site Recovery的区别是什么
其实区别不是很大.
Backup 通常是指 backup 数据, 确保发生意外 (人为删除, 天灾) 时, 有能力回复任何时间点上的数据.
Disaster Recovery 通常时指在灾难的时候 (server down) 之后可以立马启动备份方案, 让业务保持 uptime.
VM Backup
要备份 VM 我们就需要跟 Azure 买 Backup 服务和 DIsk.
为了确保万无一失, 我们应该把备份存到不同的 Region, 而不是都放到同一个 data center 里.
Azure 有 4 种 replication redundancy 方案可供我们选择:
Locally redundant storage (LRS)
最便宜的, 在 1 个 data center 里面备份 3 个 copy, 如果只是 hardisk 坏掉这种情况是可以保障的, 但如果是整个 data center 火灾之类的, 那就保障不到了.

Zone-redundant storage (ZRS)
把备份存放到不同的 zone

Geo-redundant storage (GRS)
这个是 Azure 推荐的方案, 在 2 个 region 里面分别用 LRS 来备份

Geo-zone-redundant storage (GZRS)
最高级, 在 2 个 region 里面, 第一个采用 ZRS 方案, 第二个采用 LRS 方案.

我选的是推荐的 Geo-redundant storage (GRS).
具体操作
去 Backup center
创建 Recovery Services vault (RSV), 它是一个 Backup 和 Disaster recovery 的管理服务.

Region 必须和 VM 相同, 才能保护到 VM
RSV 默认的 replication 是 Geo-redundant storage (GRS), 可以通过 Properties > Backup Configuration > Storage replication type 更换

接下来我们就可以创建 VM Backup 了

然后选择 Virtual Machine

创建 Policy, 配置时间其它的默认, 选 VM

OS Disk only 意味着不备份 SQL Data disk. 如果 SQL Backup 是选择 RSV 的 SQL Server in Azure VM 方案的话, 这里可以选只 Backup OS DIsk.
创建好 Backup 后, 可以在 Backup Items 里面看见

可以点进去, 进行 Backup 和 Restore. 操作太简单我就不介绍了.
Restore 的时候一般是选择 Replce 当前 VM 然后 VM 必须要 shutdown. 一般上 backup vm 过程会需要 1 小时 (哎哟,很慢一下)
SQL Server in VM Backup
SQL Backup 也是用 RSV 来管理, 创建 Backup 的时候选 SQL Server in Azure VM 就可以了.
它和常见的 SQL Backup 是一样的, Full backup, differential backup, log backup. 可以参考 SQL Server 备份方案
值得注意的是 SQL Backup 挺贵的,
VM 的 Backup 价格是

SQL 的 Backup 价格是

我的项目小, 预算低, 所以我的做法是自己做 SQL Backup 储存到 VM disk, 然后依靠 VM Backup 来解决简介实现 SQL Backup.
Disaster Recovery
参考:
也是用 RSV 管理. 去 SIte Recovery > Enable replication

Source location 选和 VM 同一个 Region, 区别我也不太清楚, 只知道一个 zone 挂掉, 还可以恢复 uptime, 一个 region 挂掉, 那 VM 就跟着 down 了.


然后 step 2 选 VM
step 3 默认就可以了, 我只改了一致性的时间, 本来是 4 hours 最低为 1 hour, 我也不是很懂这个, 视乎和 SQL 的 differentail 和 log 类似, 可以参考这里

submit 这样就可以了.
删除 RSV
RSV 删除并不是 1 click 的事情.
首先是去 Backup items 把所有的 Items 都 stop backup
然后去 Properties > Security Settings > disable soft delete (不然所有 deleted data 都会保留 14 days)
然后删除所有的 backup data

然后去 Backup Infrastructure > Workload in Azure VM > unregister
然后就可以去 delete RSV 了.
Azure 入门系列 (第二篇 Backup 和 Disaster Recovery)的更多相关文章
- 前端工程师技能之photoshop巧用系列第二篇——测量篇
× 目录 [1]测量信息 [2]实战 [3]注意事项 前面的话 前端工程师使用photoshop进行的大量工作实际上是测量.本文是photoshop巧用系列第二篇——测量篇 测量信息 在网页制作中需要 ...
- 深入理解javascript函数系列第二篇——函数参数
× 目录 [1]arguments [2]内部属性 [3]函数重载[4]参数传递 前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传 ...
- 深入理解javascript作用域系列第二篇——词法作用域和动态作用域
× 目录 [1]词法 [2]动态 前面的话 大多数时候,我们对作用域产生混乱的主要原因是分不清楚应该按照函数位置的嵌套顺序,还是按照函数的调用顺序进行变量查找.再加上this机制的干扰,使得变量查找极 ...
- Windows Azure 入门系列课程Windows Azure 入门系列课程
Windows Azure 入门系列课程 https://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/NewSeries/A ...
- 微软云平台windows azure入门系列八课程
微软云平台windows azure入门系列八课程: Windows Azure入门教学系列 (一): 创建第一个WebRole程序与部署 Windows Azure入门教学系列 (二): 创建第一个 ...
- 深入理解javascript作用域系列第二篇
前面的话 大多数时候,我们对作用域产生混乱的主要原因是分不清楚应该按照函数位置的嵌套顺序,还是按照函数的调用顺序进行变量查找.再加上this机制的干扰,使得变量查找极易出错.这实际上是由两种作用域工作 ...
- Entity Framework 6.0 入门系列 第一篇
Entity Framework 6.0 入门系列 第一篇 好几年前接触过一些ef感觉不是很好用,废弃.但是 Entity Framework 6.0是经过几个版本优化过的产物,性能和功能不断完善,开 ...
- 深入理解javascript对象系列第二篇——属性操作
× 目录 [1]查询 [2]设置 [3]删除[4]继承 前面的话 对于对象来说,属性操作是绕不开的话题.类似于“增删改查”的基本操作,属性操作分为属性查询.属性设置.属性删除,还包括属性继承.本文是对 ...
- [ 高并发]Java高并发编程系列第二篇--线程同步
高并发,听起来高大上的一个词汇,在身处于互联网潮的社会大趋势下,高并发赋予了更多的传奇色彩.首先,我们可以看到很多招聘中,会提到有高并发项目者优先.高并发,意味着,你的前雇主,有很大的业务层面的需求, ...
- 【转载】Android Metro风格的Launcher开发系列第二篇
前言: 各位小伙伴们请原谅我隔了这么久才开始写这一系列的第二篇博客,没办法忙新产品发布,好了废话不说了,先回顾一下:在我的上一篇博客Android Metro风格的Launcher开发系列第一篇写了如 ...
随机推荐
- C#从6.0~9.0都更新了什么?
一.C#6中新增的功能 get 只读属性 简洁的语法来创建不可变类型,仅有get访问器: public string FirstName { get; } public string LastName ...
- Ubuntu本地安装Docker
Ubuntu本地安装Docker 目录 Ubuntu本地安装Docker 查看Ubuntu系统版本代号 安装 修改镜像源 官方文档:Install Docker Engine on Ubuntu | ...
- NIO的三大核心组件详解,充分说明为什么NIO在网络IO中拥有高性能!
一.写在开头 我们在上一篇博文中提到了Java IO中常见得三大模型(BIO,NIO,AIO),其中NIO是我们在日常开发中使用比较多的一种IO模型,我们今天就一起来详细的学习一下. 在传统的IO中, ...
- LM Studio + open-webui 快速本地部署大语言模型
目录 一.前言 二.环境准备 三.安装设置 四.下载模型并运行 五.配置 open-webui 写在结尾 一.前言 自 OpenAi 发布 ChatGPT 对话性大语言模型,AI 这两年发展迎来爆发, ...
- php 后台执行进程
一些业务需要长期在后台执行进程 下面用thinkphp5.1做演示 在command文件夹下建立进程 cd 到 lunar_php项目根目录 执行 php think hello 如果想后台执行 no ...
- 【Java】用户在线人数统计的简单实现
一.需求效果: 就是进入首页时能查看在线人数,没有特定要求,那我就不刷这个接口了 就进入首页加载一次 二.实现思路: 思路参考博客: https://blog.csdn.net/GitLuckyd/a ...
- 【JavaScript】无框架翻页处理
这个业务太复杂了 输入框的东西要用接口查出来,居然不是用户手动输入 然后我就要做一个翻页的查询列表: <div form id="troublePartSearch" sty ...
- 一群伪专家讨论“motherland”和“fatherland”,说说个人的观点
看了一个视频: 中国的文化里在找妈,美国的文化里在找爸!如何真正教育子女? ============================================= ================ ...
- 在国产超算平台上(aarch64架构)安装pytorch-cuda失败,究其原因竟是官方未提供对应的cuda版本——pip方式和conda方式均无法获得相应cuda版本
最近在国产超算平台上安装pytorch,但是怎么弄都会报错: raise AssertionError("Torch not compiled with CUDA enabled" ...
- uview-ui toast 二次封装
开发用到uview 的toast 很常用的内容使用却很繁琐 所以做了简单封装方便使用 前后对比: this.$refs.uToast.show({ type: 'success', title: '成 ...