ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

制作openstack的windows server 2012r2镜像

2019-06-26 10:39:17  阅读:362  来源: 互联网

标签:virtio windows qcow2 server iso ws2012r2 openstack disk


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

标签:virtio,windows,qcow2,server,iso,ws2012r2,openstack,disk
来源: https://www.cnblogs.com/kcxg/p/11088483.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有