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开发系列第一篇写了如 ...
随机推荐
- PHP易混淆函数的区别及用法汇总(函数和方法的区别)
1.echo和print的区别PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的.echo输出后没有返回值,但print有返回值,当其执行失败时返回flase.因此可以作 ...
- [WUSTCTF2020]朴实无华(命令执行)
请求头问题 去查了一下资料了解了一下没有什莫用 robots.txt 中有东西 假flag 但是请求头里有重要消息 访问页面/fl4g.php <img src="/img.jpg&q ...
- Profibus_DP转ModbusTCP网关模块接马保通讯案例
某工业企业为了提高生产效率和管理水平,决定对其生产线进行智能化改造.在该项目中,利用巴图自动化Profibus_DP转ModbusTCP网关模块(BT-ETHPB20)连接了不同生产设备,实现了设备之 ...
- [oeasy]python0072_整数类型_int_integer_整型变量
帮助手册 回忆上次内容 上次了解的是 字符串 字符串 就是 字符的串 字符串长度 可以用 len函数 字符可以用下标索引 [] 可以用str 将整型数字 转化为 字符串 字符的长度本身 有 ...
- [oeasy]python0026_刷新时间_延迟时间_time_sleep_死循环_while_True
刷新时间 回忆上次内容 time 是一个 module import 他可以做和时间相关的事情 time.time() 得到当前时间戳 time.localtime() 得到本地时间元组 l ...
- Sysbench 使用总结
Sysbench使用总结 实践环境 CentOS 7.8 Sysbench 1.0.20 下载地址:https://github.com/akopytov/sysbench/archive/refs/ ...
- 关于使用c++制作蓝牙连接,Windows版本
1 #define _CRT_SECURE_NO_WARNINGS 2 #pragma warning(disable : 4995) 3 #include <iostream> 4 #i ...
- exp解析
1 #pragma once 2 #include <string> 3 #include <functional> 4 #include <type_traits> ...
- 【服务器】Ubuntu虚拟内存设置
引子 最近服务器内存老是爆掉,64G的内存对于四五个人同时使用还是有点勉强,上网查询了一下虚拟内存的教程,本博客记录一下方法. swap内存设置 假设你想将swap文件放在/mnt/data/mem目 ...
- 使用threejs实现3D卡片菜单
成品效果: 用到的技术:vue2.three.js.gsap.js template <template> <div id="box" class="c ...