Openstack 镜像制作

使用libvirt制作qemu镜像

创建qemu镜像

1
2
3
4
5
qemu-img create  -f qcow2 win2012.qcow2 20G 

# 查询镜像osinfo

osinfo-query os

使用libvirt创建虚拟机

1
2
3
virt-install --connect qemu:///system -n winserver2012 --vcpus=2 -r 2048   --cdrom $(pwd)/win2012r2.iso   --disk path=$(pwd)/virtio-win.iso,device=c
drom,perms=ro --disk=win2012.qcow2,size=40,format=qcow2,bus=virtio,cache=none --os-type windows --os-variant=win2k12r2 --accelerate --netwo
rk=bridge:virbr0,model=virtio --graphics vnc

使用VNC连接 [ip]:0,根据提示安装系统和软件

根据不同系统安装cloud-init

Windows(x64): https://cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi
YUM:

1
yum install -y cloud-init

APT:

1
apt install -y cloud-init

清理镜像(IP网卡mac地址关联等)

1
virt-sysprep -d trusty

压缩并上传win2012.qcow2

qemu-img 镜像转换

VHDX,VMDK镜像转换

1
qemu-img convert xxx.vhdx -O qcow2 xxx.qcow2

压缩qemu镜像

1
qemu-img convert -c xxx.qcow2 -O qcow2 xxx_compress.qcow2

Windows镜像必须按照virtio驱动(Windows KVM PCI驱动)