制作OpenStack平台Windows镜像
运行环境
VMware实例系统环境:ubuntu-22.04kvm版本:4.2.1
镜像软件准备
系统版本:windows_server_2019_x64virtio驱动:virtio-win-0.1.229.isoCloudBase-init:CloudbaseInitSetup_x64.msi
安装kvm环境
#查看kvm虚拟化的硬件支持
# egrep -o '(vmx|svm)' /proc/cpuinfo
#安装kvm软件包
#] sudo apt-get install qemu-kvm libvirt-bin qemu virt-manager bridge-utils
#测试kvm是否安装成功
#] kvm --version
#验证KVM内核是否加载成功
#] lsmod | grep kvm
#若KVM内核没加载执行下面命令加载:
#] sudo modprobe kvm
#] sudo modprobe kvm-intel ( or kvm-amd )
#证实KVM正常运行
#] virsh -c qemu:///system list
#如果提示你没权限操作,则需要将当前操作账户添加进libvirtd组
#添加命令
#] sudo usermod -G libvirtd -a fdc
#查看服务状态
#] systemctl status libvirtd
#调出kvm图形化界面
#] sudo virt-manager
#有报错,显示未安装的话执行 sudo apt install virt-manager -y 安装
创建虚拟机
#查看下准备的镜像和驱动
#使用qemu-img命令创建一个qcow2格式的虚拟机磁盘文件
#] qemu-img create -f qcow2 windows2019.qcow2 15G
#使用virt-install命令创建虚拟机
#] virt-install --name winserver2019
--memory 2048 --vcpus 4 --network network=default,model=virtio
--disk path=/root/vm/windows2019.qcow2,format=qcow2,device=disk,bus=virtio
--cdrom /root/vm/cn_windows_server_2019_x64_dvd_4de40f33.iso
--disk path=/root/vm/virtio-win-0.1.229.iso,device=cdrom
--graphics vnc,listen=0.0.0.0 --virt-type kvm
--os-type windows --os-variant win2k19 --boot cdrom
#稍等一会,会出现一个初始化界面,然后按照正常安装系统方式操作
#创建的虚拟机启动不了,磁盘启动顺序出现问题,加载顺序错误,导致加载不了,原因是是虚拟机的.xml文件中系统镜像iso标记成了hdb,而驱动文件的iso标记成了hda。
#解决办法
# 在虚拟机的.xml文件中调整设备启动顺序即可
<os>
<type arch=x86_64 machine=pc-i440fx-bionic>hvm</type>
<boot dev=hdb/> #系统iso
<boot dev=hda/> #驱动iso
</os>
#加载VirtIO Driver,安装磁盘驱动
#默认情况下Windows检测不到可用的安装磁盘,我们需要先安装磁盘驱动。
#选择 自定义安装
#选择和系统一致的驱动程序
#等待安装完成
#设置密码【这个密码将作为镜像密码】
#安装完成
安装其他驱动、开启服务、安装cloudbase-init
PCI简易通信控制器-安装vioserial驱动内存控制器-安装Balloon驱动网络适配器-安装NetKVM驱动存储控制器-安装vioscsi驱动各个驱动安装操作一致,确定驱动路径。cmd执行即可
pnputil.exe -i -a D:NetKVM2k16amd64
etkvm.inf
pnputil.exe -i -a D:vioscsi2k16amd64vioser.inf
pnputil.exe -i -a D:vioserial2k16amd64vioser.inf
pnputil.exe -i -a D:viostor2k16amd64vioser.inf
安装guest-agent进入驱动E:guest-agent ,双击安装64bit的qemu-ga即可。之后需要启动balloon服务(ceilometer采集虚拟机内存监控信息所用)将virtio中的 balloon文件夹放到, c:Program Files下(和qemu-ga安装目录位置相同即可),在命令行或者图形界面运行次程序,【推荐使用命令行,直接点没有反应,进入到对应的目录下执行**lnsvr.exe -i,看到显示Service RUNNING**表示成功】在服务里面查看有个 Balloon Service 确保服务启动和开机自启动
#安装cloudbase-init
#将下载的CloudbaseInitSetup_x64.msi文件拷贝到虚拟机中,有网络的情况下可以直接下载。
https://www.youxuanw.vip:8090/project/openstack_image/CloudbaseInitSetup_0_9_9_x64.msi
#文件下载搞好后,直接执行安装
#安装好后,这两个框不要选,还有操作。
#在Cloudbase配置文件中【路径:C:Program FilesCloudbase SolutionsCloudbase-Initconf】
Cloudbase-init.conf
Cloudbash-init-unattend.conf
#建议将两个文件中下面三行内容删掉,这样每次新建实例就不需要更改密码,使用安装系统的时候设置的密码进系统。
username=Admin
groups=Administrators
inject_user_password=true
#查看服务状态,为正在运行,关机。
验证镜像
上面完成后关机保存。现在镜像磁盘文件比较大需要使用qemu-img命令压缩文件,压缩之后大概6G左右,然后传到OpenStac控制节点。
#压缩镜像
#] qemu-img convert -c -O qcow2 windows2019.qcow2 windows2019_new.qcow2
#导入镜像
#] openstack image create --disk-format qcow2 --file windows2019_new.qcow2 windows2019_new --progress
#查看
#] openstack image list
#创建实例vm05
原文:制作OpenStack平台Windows镜像 – Ming‘s Blog















暂无评论内容