导出虚拟机镜像
该功能用于导出虚拟机的系统镜像并上传至对象存储,允许将对象存储中的文件添加为平台虚拟机镜像的来源。
目录
操作步骤操作步骤
注意:以下所有操作均需在虚拟机所在集群的控制节点上进行。
停止虚拟机
-
进入 管理员。
-
在左侧导航栏点击 虚拟化管理 > 虚拟机。
-
点击需要导出系统镜像的虚拟机名称,跳转至容器平台的虚拟机详情页面。
-
点击 停止。
创建 vmexport 资源
-
打开 CLI 工具。
-
执行以下命令设置变量。
参数说明:
- NAMESPACE:虚拟机所在的命名空间名称;将 <namespace> 替换为该名称。
- VM_NAME:需要导出系统镜像的虚拟机名称;将 <vm_name> 替换为该名称。
- TTL_DURATION:导出任务的存活时间,默认为 2 小时,可根据需要延长。
-
执行以下命令创建 vmexport 资源。
若出现类似回显信息,表示创建成功。
-
执行以下命令查看 vmexport 资源状态。
回显信息:
-
当回显信息中的 PHASE 字段变为 Ready 时,按 ctrl (control) + c 停止 watch 操作。
-
执行以下命令获取 TOKEN。
下载虚拟机镜像文件
-
执行以下命令获取指定命名空间中虚拟机导出 Pod 的 IP 地址,并存入 EXPORT_SERVER_IP 环境变量。
-
执行以下命令设置 URL 环境变量,指向虚拟机的磁盘镜像文件。
-
执行以下命令下载镜像文件,下载后的文件名为 disk.img.gz。
将虚拟机镜像文件上传至对象存储
将下载的镜像文件上传至对象存储。上传可使用任意 S3 工具,本文以 mc(minio-client)工具为例介绍。
-
执行以下命令配置 mc 工具,连接指定的 S3 存储服务。
参数说明:
- ENDPOINT:S3 存储服务地址;将
<ENDPOINT>替换为该地址。 - ACCESSKEY、SECRETKEY:用于认证的 S3 存储服务用户 ak 和 sk,相关信息请参考 MinIO Object Storage。
- ENDPOINT:S3 存储服务地址;将
-
执行以下命令创建用于存储虚拟机镜像文件的桶。
-
执行以下命令将导出的虚拟机镜像文件 disk.img.gz 上传至创建的桶。
创建虚拟机镜像
-
进入 管理员。
-
在左侧导航栏点击 虚拟化管理 > 虚拟机镜像。
-
点击 添加虚拟机镜像。
-
在镜像地址中填写 <ENDPOINT>/vmdisks/disk.img.gz,将 <ENDPOINT> 替换为 S3 存储服务地址。其他参数说明请参考 添加虚拟机镜像。
-
点击 添加。