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 命令




http://blog.51cto.com/freshair/1927433