制作OpenStack平台Windows镜像

制作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

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容