制作ECS自定义镜像

参考

制作ECS自定义镜像--实操

  • 0.在虚拟机中安装好环境
  • 1.安装virtio驱动
  • 2.将虚拟机镜像文件格式转换为qcow2
  • 3.使用工具检测镜像规范--检测云平台是否兼容该镜像
  • 4.阅读镜像规范检测报告
  • 5.将自定义镜像上传到oss
  • 从KVM中制作自定义镜像
  • 0.安装依赖包
  • 1.重置虚拟机设置
  • 2.压缩虚拟机镜像
  • 自定义镜像常见问题
  • 1.ECS实例启动慢
  • 2.开机界面中VNC查看到启动过程大量的Errno
  • 解决办法

参考

请您参考 以下文档 导入自定义镜像 https://help.aliyun.com/document_detail/25464.html 定制Linux自定义镜像 https://help.aliyun.com/document_detail/51138.html 转换镜像格式 https://help.aliyun.com/document_detail/57187.htm自定义镜像检测项说明https://help.aliyun.com/document_detail/439819.html#section-o52-wv5-af9

制作ECS自定义镜像–实操

需要您先在本地的 虚拟机系统中安装好; 然后 通过转换为 阿里云支持 的镜像格式; 导入 阿里云; 在创建实例时选择这镜像, 就可以使用这个系统了.

制作自定义镜像:https://help.aliyun.com/document_detail/463499.html?spm=a2c4g.11186623.0.0.279f6226YiXGI2

0.在虚拟机中安装好环境

使用VMware或virtualbox装好需要封装的OS,然后把需要的环境都装一下;为保证运行镜像的ECS实例能成功完成初始化配置。

如果您在制作用于阿里云的Linux类型ECS自定义镜像时,建议在源服务器上安装cloud-init,请参见[安装cloud-init](https://help.aliyun.com/document_detail/57803.html)。

1.安装virtio驱动

Linux系统一般不用安装virtio驱动;Windows系统请参考下文。

https://help.aliyun.com/document_detail/62423.html

2.将虚拟机镜像文件格式转换为qcow2

https://help.aliyun.com/document_detail/57187.htm原文链接:

阿里云的镜像文件只支持RAW和qcow2格式。要将VMware的VMDK转换为qcow2;

# Windows安装qemu-img磁盘文件格式转换工具
choco install qemu-img -y

# Debian安装qemu-img工具
apt install qemu-utils -y

# qemu-img convert如果不-f指定输出格式,默认转换为raw格式
# 将raw磁盘转换为qcow2磁盘
# 转换镜像为qcow2格式
## -c 压缩镜像
## -f:参数值为源镜像文件的格式。
## -O(大写):参数值分别为输出镜像格式、源镜像文件名称和输出镜像文件名称。
qemu-img convert -c -f vmdk -O qcow2 source-name.vmdk target-name.qcow2

如果要将VBox的VHD转换为qcow2,请找到VHD格式的镜像文件, 然后将镜像VHD转换成QCOW2

# 转换镜像为qcow2格式
## -c 压缩镜像
## -f:参数值为源镜像文件的格式。
## -O(大写):参数值分别为目标镜像格式、源镜像文件名称和目标文件名称。
qemu-img convert -c -f vhd -O qcow2 source-name.vhd target-name.qcow2

3.使用工具检测镜像规范–检测云平台是否兼容该镜像

来源: https://help.aliyun.com/document_detail/73848.html制作要导入的自定义镜像前,建议您使用镜像规范检测工具,自动检测Linux操作系统设置是否符合导入条件。工具主要检测导入的自定义镜像是否为有效镜像、自定义镜像是否可以创建出功能齐全的ECS实例等。本文通过操作示例、参数和输出项详细为您介绍如何使用镜像规范检测工具。

目前检测工具仅支持检测Linux类型镜像,包括:

  • Ubuntu
  • CentOS
  • Debian
  • RedHat
  • SLES(SUSE Linux Enterprise Server)
  • OpenSUSE
  • FreeBSD
  • CoreOS
  • 及其它Linux发行版本。

本文以CentOS 7.4 64位操作系统为例,介绍检测工具的操作步骤。

# 下载规范检测工具
wget https://ecs-image-tools.oss-cn-hangzhou.aliyuncs.com/imagecheck/image_check --no-check-certificate

# 赋予执行权限
chmod +x image_check

# 使用检测工具生成检测报告
sudo <检测工具所在路径>/image_check –p [检测报告的生成路径]

# 检测报告生成在当前路径
sudo ./image_check

echats镜像 ecs自定义镜像_echats镜像

4.阅读镜像规范检测报告

报告详解参考: https://help.aliyun.com/document_detail/73848.html检测报告文件为:image_check_report.json或image_check_report_日期_时间.txt.

5.将自定义镜像上传到oss

然后将QCOW2上传到OSS上.

从KVM中制作自定义镜像

0.安装依赖包

# 安装依赖包
yum install -y libguestfs-tools

1.重置虚拟机设置

清理虚拟机临时及缓存文件,用于将现有的虚拟机镜像进行系统级别的重置和准备。例如:

  • 重置主机名、
  • 清除网络配置、
  • 重置 SSH 密钥、
  • 重置用户账户、等
# 进入kvm的镜像目录
cd /var/lib/libvirt/images/

# 建议先备份要操作的kvm虚拟机文件
cp vm_name.qcow2{,.bak}

# 重置虚拟机设置
virt-sysprep -d vm_name

2.压缩虚拟机镜像

# virt-sparsify压缩虚拟机镜像
## 删除虚拟机镜像中未使用的空间来减小镜像文件的大小
## –compress 压缩输出文件。只在输出格式为qcow2有效
virt-sparsify --compress source_VM.qcow2 target_VM-base.qcow2

自定义镜像常见问题

1.ECS实例启动慢

ECS自定义镜像第一次启动慢是正常现象,会安装cloud_init,和执行dracut,安装完成后,后续重启速度都是正常的.第一次启动大约要花10分钟左右.

2.开机界面中VNC查看到启动过程大量的Errno

echats镜像 ecs自定义镜像_ECS镜像_02

网卡没配置自动连接,下发不了地址.

解决办法

Centos7配置DNS