制作openstack的windows server 2012r2镜像

1. 基础环境安装

yum groupinstall Virtualization "Virtualization Client"
yum install libvirt

2. 启动服务

systemctl enable libvirtd
systemctl start libvirtd
systemctl status libvirtd

3. 系统镜像准备

使用迅雷下载镜像并上传到服务器

mkdir /openstack-image
cd /openstack-image
ed2k://|file|cn_windows_server_2012_r2_with_update_x64_dvd_6052725.iso|5545705472|121EC13B53882E501C1438237E70810D|/

4. 创建磁盘文件

chown -R qemu:qemu /openstack-image
qemu-img create -f qcow2 ws2012r2-dc.qcow2 20G

5. 准备 windows 兼容驱动

wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.126-2/virtio-win-0.1.126.iso
wget https://cloudbase.it/downloads/CloudbaseInitSetup_0_9_11_x64.msi

6. 启动虚拟机

由于在windows下需要下载Cloudbase,网络较慢,我将提前下好的文件CloudbaseInitSetup_0_9_11_x64.msi 打包成 CloudbaseInitSetup_0.9.11_x64.iso, 并上传到服务器与windows镜像相同的目录,启动时添加如下参数,同时挂载3个光驱到系统,以便开机后能够一次性完成个性化配置、网卡驱动更新、cloudbase安装。

6.1 使用virt-install安装

这个工具的使用方法找了千百种,发现不能同时添加安装镜像和驱动镜像,直到找到这篇文章:

http://bart.vanhauwaert.org/hints/installing-win10-on-KVM.html

qemu-img create -f qcow2 ws2012r2-dc.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 ws2012r2-dc.qcow2,bus=virtio  --disk cn_windows_server_2012_r2_datacenter_with_update_x64_dvd_4048415.iso,device=cdrom,bus=ide  --disk virtio-win-0.1.126.iso,device=cdrom,bus=ide  --disk CloudbaseInitSetup_0.9.11_x64.iso,device=cdrom,bus=ide  --network network=default,model=virtio  --graphics vnc,listen=0.0.0.0 --noautoconsole

6.2 使用qemu-kvm安装

这里的-vnc 参数值为ip:数字, 即VNC端口默认从5900开始,加上指定的数字,我这里设置的 0.0.0.0:0, 因此能够直接连接5900VNC端口。

qemu-img create -f qcow2 ws2012r2.qcow2 20G

qemu-kvm -m 2048 -drive file=ws2012r2.qcow2,if=virtio,index=0,media=disk  -drive file=cn_windows_server_2012_r2_datacenter_with_update_x64_dvd_4048415.iso,index=1,media=cdrom  -drive file=virtio-win-0.1.126.iso,index=2,media=cdrom  -drive file=CloudbaseInitSetup_0.9.11_x64.iso,index=3,media=cdrom  -net nic,model=virtio -net user -boot d -nographic -vnc 0.0.0.0:0

7. 安装系统

netstat -ntlp | grep qemu-kvm 查找到虚拟机的vnc端口为5900,使用tigerVNC进行连接,并在控制台完成系统安装。
ip就是服务器的ip,端口默认第一个为5900以此类推,也可以通过命令virsh vncdisplay vmname查询端口,推荐使用tigervnc来打开。

8. 驱动添加

由于windows并不自带openstack的驱动,系统启动后无法识别到硬盘,需要手动加载virtio驱动;并且网卡驱动也需要使用virtio驱动。因为前面启动虚拟机时已经挂载了virtio镜像,这里可以直接到计算机里面全安装。

8.1 硬盘驱动添加(安装时完成)

点击 浏览--光驱vortio-win-0.1.1, 定位到viostor\sk12R2\amd64 :

选择加载的驱动

点击下一步就可以识别到硬盘了:

安装完成,系统进入登录界面,使用F8快捷键召唤 TigerVNC菜单,选择Send Ctrl+Alt+Del:

8.2 网卡驱动更新(进入系统后完成)

在设备管理的以太网控制器上右键,浏览到光驱下面的NetKVM,选择2k12R2:

确认安装

9. 安装cloudbase-init

在打开光驱,双击msi文件安装cloudbase-init

按照如下截图选择

10. 压缩镜像

virt-sparsify --compress ./ws2012r2-dc.qcow2 Windows-Server-2012R2-DC.qcow2

11. 添加镜像到glance

openstack image create "Windows-Server-2012R2-DC" --file ./Windows-Server-2012R2-DC.qcow2 --disk-format qcow2 --container-format bare --public

12. 删除虚拟机

从virsh删除虚拟机,但磁盘会被保留。

virsh list --all
virsh undefine ws2012r2

13. 使用已有磁盘

如果需要再次使用这个磁盘创建虚拟机,使用如下命令创建

virt-install --name ws2012r2 --memory 2048 --vcpus 2 --disk ws2012r2-dc.qcow2,format=qcow2  --import --os-type=windows --os-variant=win2k12r2  --disk virtio-win-0.1.126.iso,device=cdrom,bus=ide  --disk CloudbaseInitSetup_0.9.11_x64.iso,device=cdrom,bus=ide  --network network=default,model=virtio  --graphics vnc,listen=0.0.0.0 --noautoconsole

作者:NOZUONOHIGH
链接:https://www.jianshu.com/p/c92c3c9a2d6f#comment-13996075

原文地址:https://www.cnblogs.com/kcxg/p/11088483.html

时间: 2024-10-09 21:19:51

制作openstack的windows server 2012r2镜像的相关文章

在windows server 2012R2为DNS创建辅助区域

1.在DNS01中打开服务器管理器,点击工具,选择DNS 2.因为我们要在DNS01上配置区域woodgrebebank.com传送到DNS02 ,所以右击要传送的区域woodgrobebank.com选择属性 3.选择区域传送,在按下图步骤配置 4.输入DNS02 的IP地址,然后点击确定,(此时报错可以不用理它) 5.点击应用确定 6.在DNS02中打开DNS管理器,右击正向查找区域,点击新建区域 7.向导中点击下一步 8.选择辅助区域,然后点击下一步 9.输入传送的区域名称,也就是刚才的w

解决VMware Workstation下面Windows Server 2012R2无法安装Hyper-V

问题: 有的朋友想学习或者是体验一下微软的Hyper-V技术,但是发现VMware Workstation下却不能够安装,提示:验证过程发现你要安装功能的服务器存在问题.所选功能与所选服务器的当前配置不兼容.无法安装Hyper-V:虚拟机监控程序已在运行中. 解决方法:关闭开启的Windows Server 2012R2,找到该虚拟机系统的存放位置,使用记事本打开Windows Server 2012 R2.vmx配置文件,在文件的末尾添加以下2行参数: hypervisor.cpuid.v0

Windows Server 2012R2之重复数据删除实战

Windows 8.1重复数据删除理论与windows server 2012R2重复数据删除理论相似,相关理论信息请参考: Windows 8.1 重复数据删除--概念(一)and Windows 8.1 重复数据删除--规划部署(二) 相关理论信息不再赘诉,具体请参考相应官网信息.需提前申明,如系统奔溃或磁盘更换等因素导致数据不完整情况请重新开启对应操作系统上重复数据删除功能以保证数据的完整与可用性(注:Windows 7上暂时还未在官网收到支持相关信息).启用及配置步骤如下: 一.启用wi

企业如何购买windows server 2012R2

windows server 2012R2 已经出来了有一段时间了,很多企业还在使用windows server 2003或是server 2008\R2 的服务器版本系统,对于希望购买windows server 2012R2的一些企业,可以参考一下微软推出的ser 2012R2的购买方式以及跟各个版本之间功能的对比. http://www.microsoftvirtualacademy.com/training-courses/842 微软MVA课程(Windows Server 2012

windows server 2012r2 快速启动模式部署remoteapp,检查兼容性,显示有挂起的重新启动

windows server 2012r2 快速启动模式部署remoteapp,检查兼容性,显示有挂起的重新启动. 解决方法: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager中找到PendingFileRenameOperations,删除 或者删除CurrentControlSet 下的相应表项 ⒈在"开始/运行"中输入Regedit就可打开注册表编辑器,对注册表进行查看或修改 ⒉打开注册表编辑器,在HK

windows server 2012R2数据库的还原

windows server 2012R2 数据库的还原 实例:模拟服务器的崩溃 在实际的工作环境中,由于管理员的误操作和服务器自身的原因会造成数据的破坏或丢失,若是管理员的误操作还可以将备份在本地的数据恢复回来,若是数据库崩溃那数据从本地是恢复不回来的,下面,我们模拟服务器崩溃,在服务器崩溃之前将数据备份到其他服务器上. 模拟服务器: server01是准备要崩溃的服务器              server02是一个全新的,也就是后来盛放数据的服务器 准备工作:准备两块磁盘,一块在serv

windows server 2012R2 双网卡绑定

windows server 2012R2 双网卡绑定 在目前的工作当中,对于双网卡绑定应用还是比较广泛的.双网卡绑定的好处在于,它可以实现网络的容错(主主模式.主备模式),还可以实现带宽的绑定.下面我们通过实验来实现双网卡的绑定. 实验准备:准备两个虚拟机,server01用来做目标服务器,需要两块网卡,并清除网卡上的所有配置.server02做测试服务器. 步骤一:准备至少两块网卡 首先在server01上添加一块网卡.,右键单击server01,选择配置,点击添加 选择网络适配器,下一步

windows server 2012R2 网络慢的那些事

前段时间公司新采购了一台ibm的服务器,装的是 windows server 2012R2, 在做完项目迁移后,发现项目访问数据库缓慢,于是逐项查找原因,最后终于找到解决办法 以Administrator权限执行命令行(开始菜单中右键点击命令行程序,右键菜单中有以管理员身份执行的选型),并在命令行中执行一下命令(关闭自动调节): netsh interface tcp set global autotuninglevel=disabled 打开自动调节的命令是: netsh interface

制作OpenStack用的RHEL7系统镜像

制作OpenStack使用的RHEL7系统镜像,并进行相关设置,安装XRDP以进行远程访问. 1.在KVM中安装RHEL7.2客户机: 2.设置网卡为dhcp并onboot=yes,使得虚拟机能自动获取IP地址: vim /etc/sysconfig/network-scripts/ifcfg-eth0 确保可以联网. 3.查看SELinux状态: /usr/sbin/sestatus -v SELinux status: enabled enabled表示SELinux为开启状态 关闭SELi