云服务器的数据备份和恢复
实验描述: 通过ECS实现磁盘的挂载分区,快照和自定义镜像的使用。
实验摘要: 了解如何使用ECS进行磁盘挂载以及创建磁盘快照和自定义镜像,从而提升项目开发中ECS的使用效率。
实验建议: 具备Linux操作命令的基本知识
实验特色: 让学员了解ECS的使用方法
目标人群: 想要了解阿里云的工作人员
实验目标: 让学员通过实验了解如何使用阿里云的ECS服务
第 1 章背景知识
1,阿里云ECS实例云盘概念
阿里云ECS实例的云盘提供数据块级别的数据存储,采用三副本的分布式机制,为 ECS 实例提供 99.9999999% 的数据可靠性保证。ECS云盘既可以单独使用,又可以组合使用,从而满足不同应用场景的需求。
# ECS云盘分为三种:普通云盘,高效云盘和SSD云盘。
# 1.普通云盘:采用机械磁盘作为存储介质
产品特点:提供数百的随机读写 IOPS 能力,最大 30 ~ 40 MB/s 的吞吐量;
单块普通云盘最大提供 2000 GB 存储空间;可单独挂载到相同可用区内的任意ECS实例上。
使用场景:适合数据不被经常访问,低成本,低 I/O 负载或者有随机读写 I/O 的应用场景。
# 2.高效云盘:采用固态硬盘与机械硬盘的混合介质作为存储介质
产品特点:最高提供 3000 随机读写 IOPS、80 MBps 的吞吐性能;
单块高效云盘最大提供 32768 GB 存储空间;可单独挂载到相同可用区内的任意ECS实例上。
使用场景:MySQL、SQL Server、PostgreSQL 等中小型关系数据库或对数据可靠性要求高、中度性能要求的中大型开发测试应用。
# 3.SSD云盘:
产品特点:最高提供 20000 随机读写 IOPS、256 MB/s 的吞吐能力;
单块 SSD 云盘最大提供 32768 GB 存储空间;可单独挂载到相同可用区内的任意ECS实例上。
使用场景:PostgreSQL、MySQL、Oracle、SQL Server 等中大型关系数据库应用或对数据可靠性要求高的中大型开发测试环境。
注意事项:只有挂载到 I/O 优化的实例时,才能获得期望的 IOPS 性能。
挂载到非 I/O 优化的实例时无法获得期望的 IOPS 性能。
2,阿里云ECS实例快照概念
阿里云ECS产品提供快照功能,所谓快照,就是保留某个时间点上的系统数据状态。
数据盘的快照用于数据备份,系统盘的快照用于制作镜像。
快照使用增量的方式,两个快照之间只有数据变化的部分才会被拷贝。
# 推荐用户在以下业务场景中使用快照:
系统盘、数据盘的日常备份,用户可以利用快照定期的对重要业务数据进行备份,来应对误操作、病-毒等导致的数据丢失风险。
更换操作系统,应用软件升级或业务数据迁移等重大操作前,用户可以创建一份或多份数据快照,一旦升级、迁移过程中出现任何问题,可以通过数据快照及时恢复到正常的系统数据状态。
生产数据的多副本应用,用户可以通过对生产数据创建快照,从而为数据挖掘、报表查询、开发测试等应用提供近实时的真实生产数据。
# 创建快照时,服务器的状态只能为“运行中”或“已停止”。阿里云ECS实例的快照提供两种模式:
自动快照,用户可以通过创建自动快照策略,自定义快照的创建时间、重复时间和保留时间等参数,阿里云系统将定期为指定的磁盘,自动创建快照。
手动快照,用户根据需求,创建磁盘快照。但是,通过手动创建的快照,不会主动删除,会一直保留。
3,阿里云ECS实例镜像概念
镜像是云服务器 ECS 实例运行环境的模板,一般包括操作系统和预装的软件。
您可以使用镜像创建新的 ECS 实例和更换 ECS 实例的系统盘。目前,阿里提供四种可供使用的镜像类型:
# 公共镜像:由阿里云官方提供的,目前支持Windows和Linux等多个发行版本;
# 镜像市场:通过镜像市场,购买第三方(ISV)提供的镜像;
# 自定义镜像:使用现有的服务器ECS实例创建的自定义镜像;
# 共享镜像:选择其他阿里云用户共享的
第 2 章 实验详情
1,ECS数据盘分区以及挂载
查看自己的公网IP然后在CRT进行远程登录:
登录成功:
输入如下命令,查询当前系统中的数据盘。
fdisk -l
执行如下命令,对数据盘进行分区:
fdisk /dev/vdb
在弹出的命令行中需要输入的参数是:
Command(m for help)输入n;
Command action输入p;
Partition number(1-4,default 1)输入1;
First cylinder和Last cylinder处直接输入回车,使用默认的配置;
Command(m for help)输入w,从而使上面的配置生效
再次查询当前系统中的数据盘。如果看到显示分区 /dev/vdb1 的信息,则说明数据盘分区成功。
fdisk -l
使用如下命令,对数据盘进行格式化:
mkfs.ext3 /dev/vdb1
首先,执行如下命令,创建目录 /alidata:
mkdir /alidata
然后,使用如下命令,将磁盘挂载上去:
mount /dev/vdb1 /alidata
使用如下命令,查看磁盘的使用情况。
df -h
2,ECS数据盘快照的创建
首先,进入数据盘 /alidata 目录下。
cd /alidata
然后,在数据盘上创建一个文件 test.txt,并往文件里面写入内容:
touch test.txt
echo “Hello Aliyun”>test.txt
登录阿里云子账户:
比如企业别名是zhuyunedu-913,子用户名称是u-1zgmhi7j,则登录时填写的全称是u-1zgmhi7j@zhuyunedu-913
表示作为企业zhuyunedu-913的子用户u-1zgmhi7j登录
登录子账号:
进入控制台查看当前实例:
在控制台点击(实例)——(云盘)——(选择数据盘进行创建快照):
在弹出的页面中自定义一个快照的名称,例如:sl001-ss :
完成后,点击 确定 。开始创建一个自定义快照:
点击(实例)——(快照)——查看进度是否100%显示成功:
3,ECS云盘回滚
返回ECS的远程登录工具,在ECS的命令行中,使用如下命令,删除刚刚创建的文件 test.txt,模拟数据误删的情况,然后查看当前文件夹中有什么文件。
rm -f test.txt
ls
此时,可以通过快照回滚的方式,将磁盘恢复到包含删除数据的时间点,从而将数据恢复出来:
回滚磁盘需要ECS是停止的状态,因此,首先,返回ECS实例的管理页面,点击左侧导航栏的 实例详情 ,可以查看到ECS实例的基本信息。然后,点击右上角的 停止 ,即可停止ECS实例。
在弹出的界面中,选择停止方式为 停止 ,完成后,点击 确定 :
当ECS实例停止成功后,首先,在实例的左侧栏中,点击 快照 ,找到已创建的数据盘快照,点击 回滚云盘 进行磁盘数据的回滚。
在弹出的回滚磁盘的提示对话框中,点击 确定 ,开始回滚磁盘:
磁盘回滚成功后,ECS的状态将会变为 停止咱们进行启动使它运行中 :
当ECS实例启动成功后,重新远程登录到ECS实例中,并重新使用如下命令,将数据盘挂载到挂载点 /alidata:
mount /dev/vdb1 /alidata
然后,使用如下命令,将会看到误删除的数据 test.txt 文件已经恢复:
ls /alidata
4,创建自定义镜像
目前,阿里云ECS的自定义镜像是基于ECS的系统盘快照来创建的。
因此,在创建ECS自定义镜像之前,需要创建ECS系统盘的快照。
首先,在ECS磁盘列表页面中找到 实例 点击云盘点击右侧 创建快照 。
创建成功后点击快照进行创建自定义镜像
在弹出的对话框中,输入快照名称,并点击 确定 ,创建快照:
进行查看创建成功的自定义镜像:
5,更换系统盘
点击ECS实例然后点击更换操作系统:
可以自已选择公共镜像包括(windows和Ubuntu等):
还可以选择刚刚创建的自定义镜像:
如下我选择了Ubuntu的20.04镜像:
更换成功:
点击实例管理发现已经更换成功: