ubuntu镜像相关
1、系统安装好,根据实际情况设定自己的配置之后那么继续往下做
2、清除/tmp 目录
3、清除日志
4、清除history 命令历史记录
history -c && shutdown -h now
5、清除网络相关硬件生成信息
操作系统会在/etc/sysconfig/network-scripts/ifcfg-eth0 和 /etc/udev/rules.d/70-persistent-net.rules 这类文件记录下网卡MAC地址。
但是,虚拟机的网卡MAC地址在每次虚拟机创建的时候都会不同,因此这些信息必须从配置文件删除掉。
目前有 virt-sysprep 工具可以完成清理虚拟机镜像内的 MAC 地址相关的信息。
安装这个工具
sudo apt-get install libguestfs-tools
查看虚拟机列表
sudo virsh list --all
开始清理虚拟机镜像内的 MAC 地址相关的信息 (把{vmname替换成自己的虚拟机名称})
virt-sysprep -d {vmname} #这个工具用了之后导致ssh服务有问题,连接不上。请慎用
取消libvirt虚拟机域
现在你可以上传虚拟机镜像到镜像服务了,所以不再需要 libvirt 来管理虚拟机镜像,使用 virsh undefine vm-image 命令来完成。
# virsh undefine {vmname}
压缩镜像
virt-sparsify --compress /tmp/centos-6.5.qcow2 centos-6.5-cloud.qcow2
镜像准备完成
前面你使用 qemu-img create 命令创建的镜像已经准备好可以上传了,你可以上传 /tmp/trusty.qcow2 文件到 Openstack 镜像服务。
如果需要把某些文件放到虚拟机里面可以使用
virt-copy-in 命令