首页 > 代码库 > 制作 OpenStack Windows 镜像 - 每天5分钟玩转 OpenStack(152)

制作 OpenStack Windows 镜像 - 每天5分钟玩转 OpenStack(152)

这是 OpenStack 实施经验分享系列的第 2 篇。


OpenStack 通过 Glance 镜像部署 instance,上一节我们介绍了 linux 镜像制作方法,windows 镜像与 linux 有很大不同,今天我们以 windows2008 为例详细讨论。


镜像制作步骤如下:
1. 创建并运行 windows2008 KVM 虚拟机
2. 安装 virtio 驱动
3. 安装 cloudbase-init
4. 其他定制工作
5. 创建 Glance 镜像
6. 通过镜像部署新 instance

1. 创建并运行Windows2008 KVM虚拟机

如果有 virt-manager,这一步可以在图形界面中完成。考虑到不是所有情况都有 virt-manager,我们这里直接在 KVM 宿主机上操作。下面的步骤用于创建 windows2008 虚拟机。


首先创建一块 20G 的虚拟磁盘作为虚拟机的启动盘:


qemu-img create -f qcow2 /var/lib/libvirt/images/win2008r2sp1.qcow2 20G

                                              技术分享

copy 虚拟机模板


cp template.xml win2008r2sp1.xml

 
template.xml 这个模板怎么来?其实很简单,通常直接 dump 现有 kvm 虚拟机的 xml 定义就可以了。比如:


virsh dumpxml [vm-id]  > template.xml


修改win2008r2sp1.xml中以下各项:


虚拟机名称


技术分享


虚拟磁盘(前面通过 qemu-img 创建的)和启动ISO


技术分享


创建虚拟机


virsh define win2008r2sp1.xml



技术分享


启动虚拟机


virsh start win2008r2sp1


技术分享


通过vnc连接虚拟机


技术分享


这里 172.17.12.11 为宿主机 IP,端口号为 2(可通过 virsh vncdisplay 查询到)。连接成功后,显示虚拟机安装界面


技术分享

通过向导安装操作系统,过程不再赘述。如果在安装过程中虚拟机没有自动重启,可以通过下面的命令启动虚拟机


virsh start win2008r2sp1


安装成功后,设置 IP 地址


技术分享

2. 安装 virtio 驱动

OpenStack 默认使用 virtio 磁盘和网卡,virtio 的性能很好。由于 windows 没有自带 virtio 的驱动,需要手动安装,步骤如下:


添加一个 virtio 类型的磁盘。


virsh edit win2008r2sp1


技术分享


修改当前的网卡设备为 virtio。


技术分享


重启操作系统,安装 virtio 的驱动程序。


技术分享


技术分享




技术分享


virtio driver 的下载地址为 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

技术分享


技术分享

3. 安装 cloudbase-init

cloudbase-init 使 windows 镜像部署的 instance 能够自动配置 IP 地址等个性化信息。其作用与 linux 的 cloud-init 一样,下面演示 cloudbase-init 的配置方法。


下载 cloudbase-init


https://cloudbase.it/cloudbase-init/#download


在虚拟机中安装 cloudbase-init


可通过远程桌面上传 cloudbase-init 安装程序并安装


技术分享


技术分享


技术分享


技术分享


技术分享


技术分享


技术分享


技术分享


系统会自动关机。

4. 其他定制工作

重新启动虚拟机,完成其他定制工作,比如根据需要安装一些常用软件等。至此,windows 镜像文件已经准备好,文件路径为


/var/lib/libvirt/images/win2008r2sp1.qcow2

5. 创建 Glance 镜像

镜像创建方法与上一节 linux 镜像一样


glance image-create --name "Windows 2008 R2 SP1" --file /var/lib/libvirt/images/win2008r2sp1.qcow2 --disk-format qcow2 --container-format bare --is-public true --progress 


技术分享

6. 通过镜像部署新 instance

技术分享


点击镜像后面的“启动云主机”按钮。


技术分享


给 instance 命名,并点击“运行”,instance 创建成功并分配到 IP。


技术分享


点击 instance 名字。

技术分享

 
打开 console。


技术分享

在 VNC 控制台可以看到 instance 正常启动。


技术分享


点击 Administrator 用户


技术分享


第一次登录需要修改密码。


技术分享


以上就是定制 OpenStack Windows 镜像的操作,下一节讨论几个镜像使用上的经验和技巧。


技术分享

制作 OpenStack Windows 镜像 - 每天5分钟玩转 OpenStack(152)