本场景将提供一台配置了CentOS 7.7版本的ECS实例(云服务器)和两块高效云盘的数据盘。通过本教程的操作,您可以通过阿里云控制台和Linux操作系统,快速入门块存储。

体验此场景后,可以掌握的知识有:

  1. 挂载数据盘。

  2. 分区格式化数据盘(Linux)。

  3. 创建云盘快照。

  4. 重新初始化数据盘。

  5. 使用快照回滚云盘。

  6. 卸载数据盘。

背景知识

本场景主要涉及以下云产品和服务:

云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。一台云服务器ECS实例等同于一台虚拟服务器,内含CPU、内存、操作系统、网络配置、磁盘等基础的组件。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。

块存储是阿里云为云服务器ECS提供的块设备产品,具有高性能和低时延的特点,支持随机读写,满足大部分通用业务场景下的数据存储需求。您可以像使用物理硬盘一样格式化并建立文件系统来使用块存储。

块存储类型

阿里云为您的云服务器ECS提供了丰富的块存储产品,包括基于分布式存储架构的云盘和基于物理机本地硬盘的本地盘产品。

块存储类型 描述
云盘 ESSD云盘
SSD云盘 具备稳定的高随机读写性能、高可靠性的高性能云盘产品。

建议在I/O密集型应用、中小型关系数据库和NoSQL数据库等场景中使用。
高效云盘 具备高性价比、中等随机读写性能、高可靠性的云盘产品。

建议在开发与测试业务和系统盘等场景中使用。

实验步骤

通过ECS实例管理页面挂载数据盘。

4.1 在云服务器ECS控制台左侧导航栏中,选择实例与镜像>实例。

4.2 在实例页面顶部,选择资源所在地域。例如下图中,地域切换为华东2(上海)。

4.3 在实例页面,找到需要挂载云盘的实例,单击实例ID。

说明:您可以在云产品资源列表中查看到您的ECS实例ID。

4.4 在实例详情页签,单击云盘。

4.5 在云盘页签,单击挂载云盘。

4.6 在挂载云盘对话框中,选择云产品资源列表中的云盘ID_1的云盘,选中云盘随实例释放和自动快照随云盘释放,单击确定。

说明:您可以在云产品资源列表中查看您的云盘资源。

参数说明:

4.7 在挂载云盘对话框中,单击取消。

说明:因本实验不使用通过控制台为云盘创建分区和文件系统,所以在分区及创建文件系统并挂载步骤时请单击取消。

返回云盘页面,等待云盘状态变为使用中,表示挂载云盘成功。

  1. 通过云盘管理页面挂载数据盘。

5.1 在云服务器ECS控制台左侧导航栏中,选择存储与快照>云盘。

5.2 在云盘页面,找到云产品资源列表中的云盘ID_2的云盘,单击其右侧操作列中的挂载。

说明:您可以在云产品资源列表中查看您的云盘资源。

5.3 在挂载云盘对话框中,目标实例选择您需要挂载的ECS实例,其他参数配置默认即可,单击下一步。

说明 :您可以在云产品资源列表中查看到您的ECS实例资源。

5.4 在挂载云盘对话框中,单击取消。

说明:因本实验不使用通过控制台为云盘创建分区和文件系统,所以在分区及创建文件系统并挂载步骤时请单击取消。

返回云盘页面,等待云盘状态变为使用中,表示挂载云盘成功。

 分区格式化数据盘(Linux)

在两块全新的数据盘挂载到ECS实例后,您需要创建并挂载文件系统。

本步骤指导您如何在Linux系统中分区格式化新的数据盘。

1、在页面右侧,单击图标,切换至Web Terminal。

2、执行如下命令,查看实例上的两块数据盘信息。

fdisk -l

返回结果如下所示,表示两块数据盘已经挂载到实例。其中/dev/vdb为通过实例页面挂载的数据盘,/dev/vdc为通过云盘管理页面挂载的数据盘。

3、为/dev/vdb数据盘创建GPT分区。

1)执行如下命令,对/dev/vdb数据盘进行分区。

parted /dev/vdb

2)执行如下命令,设置GPT分区格式。

mklabel gpt

3)执行如下命令,划分一个主分区,并设置分区的开始位置和结束位置。

mkpart primary 1 100%

4)执行如下命令,检查分区是否对齐。

align-check optimal 1

返回结果如下所示,表示分区已对齐。

说明 :如果返回的是1 not aligned,表示分区未对齐。如何处理请参见常见问题

5)执行如下命令,查看分区表。

print

6)执行如下命令,退出Parted工具。

quit

7)执行如下命令,使系统重读分区表。

partprobe

8)执行如下命令,查看新分区信息。

fdisk -lu /dev/vdb

返回结果如下所示,在/dev/vdb数据盘信息中,如果出现gpt的相关信息,表示新分区已创建完成。

4、为/dev/vdc数据盘创建MBR分区。

1)执行如下命令,对数据盘进行分区。

fdisk -u /dev/vdc

2)执行如下命令,查看数据盘的分区情况。

p

3)执行如下命令,创建一个新分区。

n

4)执行如下命令,选择分区类型为主分区。

p

5)输入分区编号,按回车键。本示例中,仅创建一个分区,直接按回车键,采用默认值1。 

6)输入第一个可用的扇区编号,按回车键。本示例中,直接按回车键,采用默认值2048。 

7)输入最后一个扇区编号,按回车键。本示例中,仅创建一个分区,直接按回车键,采用默认值。 

8)执行如下命令,查看该数据盘的规划分区情况。

p

9)执行如下命令,开始分区,并在完成分区后退出。

w

10)执行如下命令,查看新分区信息。

fdisk -lu /dev/vdc

返回结果如下所示,如果出现/dev/vdc1的相关信息,表示新分区已创建完成。您也可以看到数据盘/dev/vdc的新分区名字变为/dev/vdc1。

5、执行如下命令,为/dev/vdb数据盘的新分区/dev/vdb创建一个ext4文件系统。

mkfs -t ext4 /dev/vdb

6、执行如下命令,为/dev/vdc数据盘的新分区/dev/vdc1创建一个xfs文件系统。

mkfs -t xfs /dev/vdc1

7、配置/etc/fstab文件并挂载新分区/dev/vdb。在/etc/fstab中写入新分区的信息,启动开机自动挂载分区。本示例选择挂载新分区/dev/vdb。

注意 :建议您在/etc/fstab中使用全局唯一标识符UUID来引用新分区。由于释放云盘等操作可能会导致其他云盘的设备名变动,如果在/etc/fstab中直接使用设备名,当设备名变动时可能影响您的存储数据。

1)执行如下命令,备份/etc/fstab文件。

cp /etc/fstab /etc/fstab.bak

2)执行如下命令,在/etc/fstab里写入新分区信息。

echo `blkid /dev/vdb | awk '{print $2}' | sed 's/\"//g'` /mnt ext4 defaults 0 0 >> /etc/fstab

参数说明:

3)执行如下命令,查看/etc/fstab中的新分区信息。

cat /etc/fstab

4)执行如下命令,挂载/etc/fstab配置的文件系统。

mount -a

5)执行如下命令,检查挂载结果。

df -h

返回结果如下所示,您可以看到新建文件系统的信息,表示文件系统挂载成功。

8、配置/etc/fstab文件并挂载新分区/dev/vdc1。在/etc/fstab中写入新分区的信息,启动开机自动挂载分区。本示例选择挂载新分区/dev/vdc1。

注意 :建议您在/etc/fstab中使用全局唯一标识符UUID来引用新分区。由于释放云盘等操作可能会导致其他云盘的设备名变动,如果在/etc/fstab中直接使用设备名,当设备名变动时可能影响您的存储数据。

1)执行如下命令,备份/etc/fstab文件。

cp /etc/fstab /etc/fstab.bak

2)执行如下命令,在/etc/fstab里写入新分区信息。

echo `blkid /dev/vdc1 | awk '{print $2}' | sed 's/\"//g'` /opt xfs defaults 0 0 >> /etc/fstab

参数说明:

3)执行如下命令,查看/etc/fstab中的新分区信息。

cat /etc/fstab

4)执行如下命令,挂载/etc/fstab配置的文件系统。

mount -a

5)执行如下命令,检查挂载结果。

df -h

返回结果如下所示,您可以看到新建文件系统的信息,表示文件系统挂载成功。

  1. 创建云盘快照

在回滚云盘前,您需要提前为数据盘创建快照,进行数据备份。

  1. 在页面右侧,单击图标,切换到无影安全浏览器。

  2. 在左侧控制台中,选择实例与镜像>实例。

  1. 在实例页面,找到目标实例,单击实例ID。

  1. 在实例详情页签,单击云盘。

  1. 在云盘页签,找到云产品资源列表中云盘ID_1的云盘,然后单击操作列下的创建快照。

  1. 在创建快照对话框中,设置快照名称,例如test1,快照类型选择创建标准快照,保留时间设置为保留30天,然后单击创建。

  1. 在云盘页签,单击快照。

返回如下页面,您即可在快照页面查看到云盘快照的进度,等待快照进度为可用时,表示快照完成。

5. 重新初始化数据盘

在回滚云盘之前,您需要使用重新初始化磁盘功能将数据盘恢复到创建时的状态。

  1. 在云盘页签,单击实例详情。

  1. 在实例详情页签,单击右上角的停止。

说明:重新初始化数据盘之前必须先停止ECS实例。

  1. 在停止实例对话框中,停止方式选择停止,停止模式选择普通停机,单击确定。

  1. 在实例详情页签,等待实例状态为已停止,单击云盘。

  1. 在云盘页签,找到云产品资源列表中云盘ID_1的云盘,单击右侧操作列下的重新初始化云盘。

  1. 在重新初始化云盘对话框中,单击确定。

  1. 在云盘页签,单击实例详情。

  1. 在实例详情页签,单击右上角的启动。

说明:因为受限于当前云盘重新初始化的实现,云盘重新初始化后,需要重新启动实例,否则无法对云盘进行快照和快照回滚的操作。

在实例详情页签,等待实例状态为已启动。

6. 使用快照回滚云盘

通过控制台,使用快照回滚云盘,实现应用版本回退。回滚时,云盘必须拥有至少一份历史快照。

  1. 在实例详情页签中的基本信息区域,单击右上角的停止。

说明:使用快照回滚云盘之前必须先停止ECS实例。停止ECS实例大约需要五分钟,请您耐心等待ECS实例停止。

  1. 在停止实例对话框中,停止方式选择停止,停止模式选择普通停机,单击确定。

  1. 在实例详情页签,等待实例状态为已停止,单击快照。

  1. 在快照页签,选择你需要回滚的快照,单击操作列下的回滚磁盘。

  1. 在回滚云盘对话框中,选中回滚后立即启动实例,单击确定。

7. 卸载数据盘

当您不再需要使用数据盘,需要先卸载数据盘。

  1. 在页面右侧,单击 图标,切换至Web Terminal。

  2. 执行如下命令,查看数据盘挂载信息。

df -h

返回结果如下所示,您可以查看到需要卸载的数据盘分区/dev/vdb。

  1. 执行如下命令,卸载数据盘文件系统。
umount /dev/vdb

  1. 执行如下命令,查看数据盘分区的uuid信息。
blkid

返回结果如下所示,您可以查看到数据盘分区/dev/vdb的uuid信息。

  1. 执行如下命令,查询/etc/fstab中是否配置数据盘文件系统自动挂载信息。
cat /etc/fstab

返回结果如下所示,找到上一步骤中查询到的uuid信息,您可以查看到/etc/fstab中已配置数据盘分区/dev/vdb文件系统。

  1. 删除/etc/fstab中数据盘分区文件系统的自动挂载信息。

说明 :

如果不删除/etc/fstab中数据盘分区文件系统的自动挂载信息,在控制台卸载数据盘后,您重启ECS实例时将无法正常启动系统。

1)运行以下命令,编辑/etc/fstab。

vim /etc/fstab

2)输入i,进入编辑模式。

3)删除或注释掉数据盘分区文件系统相关的自动挂载信息。

以下示例中在自动挂载信息前面添加#,表示注释掉自动挂载信息。

4)按ECS键,输入:wq后按回车键,保存并退出。

  1. 在页面右侧,单击图标,切换到无影安全浏览器。

  2. 在快照页签,单击云盘。

  1. 在云盘页签,找到目标云盘,在操作列中,选择更多>卸载。

  1. 在卸载云盘对话框中,单击确认卸载。

返回如下页面,您可以看到目标云盘已经成功卸载。