基础环境安装
yum groupinstall Virtualization "Virtualization Client"
yum install libvirt
启动服务
systemctl enable libvirtd
systemctl start libvirtd
systemctl status libvirtd
系统镜像准备
需要准备的东西有三样,Windows的系统镜像、windows兼容驱动、Cloudbase初始化程序,材料都帮你准备好了,就在下方的百度云链接里,还附带已经做好了的Windows Server 2012r2镜像
链接: https://pan.baidu.com/s/1sTAGZsTaTYINVEtSCjKvYA
访问我的博客获取 关注公众号 “akim同学” 回复 “windows_image_for_openstack” 即可获得网盘分享密码
创建磁盘文件
qemu-img create -f qcow2 ws2012r2.qcow2 20G
启动虚拟机
# 把已存在的虚拟机删除,避免冲突
virsh destroy ws2012r2
virsh undefine ws2012r2
# 启动虚拟机
virt-install --name=ws2012r2 --ram=2048 --cpu=host --vcpus=2 \
--os-type=windows --os-variant=win2k12r2 \
--disk /data/ws2012r2.qcow2,bus=virtio \
--disk /data/cn_windows_server_2012_r2_datacenter_with_update_x64_dvd_4048415.iso,device=cdrom,bus=ide \
--disk /data/virtio-win-0.1.126.iso,device=cdrom,bus=ide \
--network network=default,model=virtio \
--graphics vnc,listen=0.0.0.0 --noautoconsole
安装系统
netstat -ntlp | grep qemu-kvm
查找到虚拟机的vnc端口为5900,使用tigerVNC进行连接,并在控制台完成系统安装。ip就是服务器的ip,端口默认第一个为5900以此类推,也可以通过命令virsh vncdisplay vmname
查询端口,推荐使用tigervnc来打开。
驱动添加
由于windows并不自带openstack的驱动,系统启动后无法识别到硬盘,需要手动加载virtio驱动;并且网卡驱动也需要使用virtio驱动。因为前面启动虚拟机时已经挂载了virtio镜像,这里可以直接到计算机里面全安装。
硬盘驱动添加(安装时完成)
点击 浏览--光驱vortio-win-0.1.1, 定位到viostor\sk12R2\amd64
选择加载的驱动
点击下一步就可以识别到硬盘了
安装完成,系统进入登录界面,使用F8快捷键召唤 TigerVNC菜单,选择Send Ctrl+Alt+Del
网卡驱动更新(进入系统后完成)
在设备管理的以太网控制器上右键,浏览到光驱下面的NetKVM,选择2k12R2
确认安装
在安装cloudbase-init之前要做好系统的设置(根据场景需求),主要是以下几点: 1.关闭防火墙 2.开启远程桌面 3.安装常用软件(如:防病毒、基线核查等) 4.组策略、本地策略等设置
安装cloudbase-init
双击msi文件安装cloudbase-init,按照如下截图选择
压缩镜像
virt-sparsify --compress /data/ws2012r2.qcow2 /data/Windows-Server-2012r2.qcow2
添加镜像到glance
# 载入凭证
source admin-oprc
# 上传镜像
openstack image create "Windows Server 2012r2" --file Windows-Server-2012r2.qcow2 --disk-format qcow2 --container-format bare --public
测试
创建实例的时候记得需要设置元数据admin_pass
重置密码,如下图
首次登录需要设置密码,这里要后退用元数据的密码登录再修改(不知道为什么,有大神可以告诉我吗。。。。)