制作openstack的winxp镜像:
centOS安装VNC和centos桌面
然后配置iptables,允许vnc,并对vnc进行配置。远程连接vnc,用vnc viewer等软件连接。
制作镜像是在kvm-qemu中创建虚拟机的过程
命令行:
qemu-img create -f qcow2 /tmp/winxp.qcow2 6G
virt-install --virt-type qemu --name winxp --ram 1024 \
--cdrom=/tmp/winxp.iso \
--disk /tmp/winxp.qcow2,format=qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=windows --os-variant=winxp
图形化界面有个虚拟机管理器中可以创建。
创建好后,打开虚拟机,完成xp安装。很像vmware安装过程。
(发现后者创建更快。。可能跟配置有关)
进入centos desktop,为虚拟机安装virtio-win:
参考:http://lvii.github.io/system/2013/11/15/xp-sp3-kvm-network-virtio-install-failed/
首先下载virtio-win*。iso
在配置中,添加virtio硬盘、virtio网卡,加载virtio-win.iso(通过虚拟机的光驱加载这个iso文件)。启动vm注意是添加!
启动好虚拟机后提示安装驱动,如果不提示,在设备管理器中也可以找到相应设备,为其安装驱动
指定位置安装->不要搜索。我要自己选择。。。->从磁盘安装->选路径,选一个INF文件->忽略警告安装。
virtio-net路径:xp\x86\netkvm.inf
virtio-scsi路径:wxp\x86\viostor.inf
update:
centos镜像:
virt-install --virt-type kvm --name centos-6 --ram 1024 \
--cdrom=/home/images/CentOS-6.3-i386-bin-DVD1.iso \
--disk /tmp/centos-6.qcow2,format=qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=rhel6
进入vnc完成安装
Empty log output for Linux instances(运行实例,日志为空,显示一个"?")
编辑/boot/grub/grub.comf
在kernel一行末尾添加console=tty0 console=ttyS0,115200n8
保存重启,发现日志可以了。
也可以在做镜像的时候就写入这个信息
can not get the disk the flavor set or resize up
flavor 空间比image的空间大,但是image启动的实例找不到多出来的空间
参考链接:
http://docs.openstack.org/image-guide/content/ch_openstack_images.html#support-resizing
https://github.com/flegmatik/linux-rootfs-resize
在制作的镜像中安装
cd /opt
rpm -ivh http://ftp-stud.hs-esslingen.de/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum install git parted cloud-utils
git clone https://github.com/flegmatik/linux-rootfs-resize.git
cd linux-rootfs-resize
./install
重启发现可以找到多出来的空间
image启动的vm不识别网卡:
修改,或直接删除/etc/udev/rules.d/70-persistent-net.rules
若删除,重启后会重新生成该文件。