菜鸟科技网

OpenStack快照命令有哪些?如何使用?

  1. 卷快照:对块存储服务 创建的卷 进行备份,这是最常用、最标准的快照方式。
  2. 服务器快照:对计算服务 的虚拟机实例 进行备份,这通常是通过创建一个从该服务器启动的模板 来实现的,而不是直接生成一个镜像文件。

下面我将分别详细介绍这两种快照的命令。

OpenStack快照命令有哪些?如何使用?-图1
(图片来源网络,侵删)

卷快照 命令

卷快照是 OpenStack 中功能最完善、最可靠的备份方式,它依赖于 Cinder 块存储服务。

准备工作:确保 Cinder 服务可用

在创建快照之前,请确保:

  • 你已经有一个可用的 Cinder 卷。
  • 你有足够的配额来创建快照。
  • 你正在使用的 OpenStack RC 文件已经加载。
# 加载你的 OpenStack RC 文件 (替换为你的路径和文件名)
source /path/to/your-openstackrc.sh

创建卷快照

这是核心命令,它会为指定的卷创建一个点对点的备份。

命令格式:

OpenStack快照命令有哪些?如何使用?-图2
(图片来源网络,侵删)
openstack volume snapshot create --volume <卷ID或名称> --name <快照名称> [可选参数]

示例: 假设我们有一个名为 my-data-volume 的卷,我们要为它创建一个名为 my-data-snap-20251027 的快照。

# 方法一:使用卷名称 (推荐,更直观)
openstack volume snapshot create --volume my-data-volume --name my-data-snap-20251027
# 方法二:使用卷ID (如果名称有冲突或不确定)
# 首先获取卷ID
openstack volume list
# 假设返回的ID是 a1b2c3d4-e5f6-7890-1234-567890abcdef
openstack volume snapshot create --volume a1b2c3d4-e5f6-7890-1234-567890abcdef --name my-data-snap-20251027

常用可选参数:

  • --description <描述文本>:为快照添加描述信息。
  • --force:即使卷处于 in-use(正在被虚拟机使用)状态,也强制创建快照。注意: 这可能会导致数据不一致,除非你确保文件系统处于一致状态(在虚拟机内先执行 sync 命令)。
  • --property <key>=<value>:设置自定义属性。
# 带描述的快照
openstack volume snapshot create --volume my-data-volume --name "my-data-snap-20251027" --description "Weekly backup of project data"
# 强制创建快照(不推荐,除非你知道你在做什么)
# openstack volume snapshot create --volume my-data-volume --name my-data-snap-force --force

列出卷快照

查看所有可用的卷快照。

openstack volume snapshot list

输出会显示快照的 ID, 名称, 状态, 大小, 所属的卷等信息。

OpenStack快照命令有哪些?如何使用?-图3
(图片来源网络,侵删)

查看卷快照详情

获取特定快照的详细信息,包括状态、创建时间、描述等。

# 使用快照名称
openstack volume snapshot show my-data-snap-20251027
# 使用快照ID
openstack volume snapshot show <快照ID>

从快照创建新卷

这是快照最常见的用途——从备份恢复数据。

命令格式:

openstack volume create --size <大小(GB)> --snapshot <快照ID或名称> --name <新卷名称> [可选参数]

示例:my-data-snap-20251027 这个快照创建一个 20GB 的新卷,命名为 restored-volume

# 使用快照名称
openstack volume create --size 20 --snapshot my-data-snap-20251027 --name restored-volume
# 使用快照ID
# openstack volume create --size 20 --snapshot <快照ID> --name restored-volume

注意:

  • 新卷的大小可以等于或大于原始卷的大小,但不能小于原始卷的大小。
  • 如果不指定 --size,新卷的大小将默认与原始卷相同。

删除卷快照

当快照不再需要时,可以将其删除以释放存储空间。

# 使用快照名称
openstack volume snapshot delete my-data-snap-20251027
# 使用快照ID
# openstack volume snapshot delete <快照ID>

服务器快照 命令

服务器快照实际上是创建一个服务器模板,这个模板可以被用来快速创建新的、配置完全相同的虚拟机实例,它依赖于 Nova 计算服务。

创建服务器模板 (快照)

命令格式:

openstack server image create --name <模板名称> <服务器名称或ID> [可选参数]

示例: 对名为 my-web-server 的虚拟机创建一个快照模板,命名为 web-server-template-v1

# 使用服务器名称
openstack server image create --name web-server-template-v1 my-web-server
# 使用服务器ID
# openstack server image create --name web-server-template-v1 <服务器ID>

常用可选参数:

  • --property <key>=<value>:设置镜像属性,--property hw_rng_model=virtio 可以在创建新实例时启用硬件随机数生成器。
  • --wait:等待镜像创建完成,镜像创建过程是异步的,使用此参数可以阻塞命令直到状态变为 active
# 等待创建完成
openstack server image create --name web-server-template-v1 --wait my-web-server

列出服务器模板 (镜像)

查看所有可用的镜像,包括从服务器快照创建的模板。

openstack image list

在列表中,你可以找到你刚刚创建的 web-server-template-v1,并查看其 ID, 状态, 大小等信息。

从模板创建新服务器

使用创建好的模板来启动一个新的虚拟机实例。

命令格式:

openstack server create --image <模板名称或ID> --flavor <规格名称或ID> --name <新服务器名称> [可选参数]

示例: 使用 web-server-template-v1 模板,选择 m1.medium 规格,创建一个名为 new-web-server-01 的新实例。

# 使用模板名称和规格名称
openstack server create --image web-server-template-v1 --flavor m1.medium --name new-web-server-01
# 使用模板ID和规格ID
# openstack server create --image <模板ID> --flavor <规格ID> --name new-web-server-01

删除服务器模板 (镜像)

当模板不再需要时,可以将其删除。

# 使用镜像名称
openstack image delete web-server-template-v1
# 使用镜像ID
# openstack image delete <镜像ID>

总结与对比

特性 卷快照 服务器快照 (创建镜像)
服务 Cinder (块存储) Nova (计算)
对象 Cinder 卷 Nova 实例
本质 卷数据的点对点备份 包含磁盘、网络配置的实例模板
主要用途 备份数据、卷扩容、数据迁移 快速克隆相同配置的虚拟机
命令核心 openstack volume snapshot create openstack server image create
恢复方式 从快照创建新卷 从镜像创建新实例
数据一致性 需谨慎处理,对 in-use 卷使用 --force 有风险 创建的是关机状态的模板,数据一致性好
灵活性 可将卷挂载到任何实例 直接生成一个完整的、可启动的系统

最佳实践建议:

  • 数据备份:优先使用卷快照,对数据库、重要文件等数据进行备份时,这是最可靠的方式。
  • 环境克隆:当你需要快速部署多个配置完全相同的应用服务器时,使用服务器快照(创建镜像)会非常高效。
  • 组合使用:最佳实践是先为虚拟机系统盘和数据盘分别创建卷快照,然后从这些快照创建新卷,再组装成一个新的虚拟机,这样可以保证数据的一致性和环境的可复制性。
分享:
扫描分享到社交APP
上一篇
下一篇