之所以要只有C盘分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容。无需人工介入
在原来的物理机10.40.41.1的CentOS 6.7上制作镜像。
宿主机坱要安装KVM相关软件:
yum groupinstall Virtualization "Virtualization Client" -y
yum install libvirt libguestfs-tools qemu virt-manager virt-viewer qemu-kvm virt-install bridge-utils -y
service libvirtd start
chkconfig libvirtd on
材料有
cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_617598.iso------itellyou.cn上有得下载
virtio-win-0.1-81.iso-------百度上找的下载
上传至10.40.41.1的物理机上的/home目录下
创建镜像的硬盘文件
cd /mnt/sdf1/win2k8/
qemu-img create -f qcow2 win2k8.qcow2 40G
创建虚拟机
virt-install --connect qemu:///system --virt-type=kvm \
--name win2k8 --ram 4096 --vcpus 2 --arch=x86_64 \
--network bridge=kvmbr0,model=virtio \
--disk /mnt/sdf1/win2k8/win2k8.qcow2,format=qcow2,device=disk,bus=virtio \
--cdrom /home/cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_617598.iso \
--disk=/home/virtio-win-0.1-81.iso,device=cdrom,perms=ro \
--graphics spice,listen=0.0.0.0 --video qxl --channel spicevmc \
--os-type windows --os-variant win2k8
安装完成后,运行 Remote viewer
我下载的是最新的msi版本。安装在win7电脑后,通过在跳板物理机上 virsh domdisplay win2k8先查看到这个虚拟机使用的SPICE端口号是5900
在自己电脑的客户端上新建链接
连接后
我们安装企业版,因为企业版的CPU和内存支持数量可以满足中小企业的需求,标准版支持的CPU数据只有4个太少,企业版可以支持8个CPU。而已刚好我们有这个企业版的密钥,选择(完全安装)的方式带桌面,如果只装核心版的话,只就能敲cmd命令行了,连图形界面都没有。
走到这一步时选自定义
手工加载驱动
系统需要安装两个驱动,一个网卡,一个硬盘,由于刚才我们在跳板物理机上启动镜像时,挂了两块cdrom . 其中virtio-win-0.1-81_bak.iso就是用来装这两个驱动的。
因为Server2008版本是跟Win7一起发布的,所以我们选择win7的驱动文件夹即可
安装这两个驱动,只需选中其中一个,点下一步就是自动安装,
然后再回到浏览的界面上,再进到cdrom选中下一个驱动安装
第二个驱动是硬盘驱动,安装完后,就可以读到硬盘了。
不再安装驱动,我们这里就点下一步安装操作系统,直到完成,其间会发生窗口中断,不管它,是因为安装windows时它自己会尝试重启,如果它自己不懂重启,我们就上物理机上,把虚机启动
# virsh start win2k8r2
然后只需自己电脑上重连一下VNC就可以继续看到
最终会看到系统提示我们设置一个Administrator的密码,我设置了venic8888*
镜像启动进来后,它会自动打开这个窗口
我们首要任务要做的两件事就是
1、开启机器上的远程连接
2、激活产品密钥。
手工输MAK密钥,有个弊端,就是我们现在激动的话,它会注册本地的“计算机名称”+密钥 绑定一起上传至微软服务器,将来我们的新镜像打包上传至openstack时,重新创建虚机时,我们的“计算机名称”会跟着我们的openstack名称命名,结果就是当前的密钥匙跟将来的不一致了,密钥就会失效。
当然,我们有买很多2008 R2的企业版密钥,可选择不在镜像中注册秘钥,等开通虚拟机后再注册,或者购买一个可以注册很多机器的秘钥也可以,那样也省事,
当然,如果你们只是测试的话,我们可以使用一劳永逸的方法。
那就是使用网上的第三方激活工具,但第三方注册工具必须是侵权的,不推荐,但是个人的内网测试的话,还是可以实验一下的,它的钥匙跟MAK密钥 还不一样,当前的虚机的秘钥会跟着openstack新建名称的虚拟机一起生效等于永久使用。以下将这个方法贴出供大家参考,我使用网络共享文件夹的方式,从其它机器拉到这台镜像的虚拟机上,如下图所录,左边这两个工具,一个是激活工具(这个在win7 ghost盘里是自带的,叫windows loader),这个直接可以永久激活
激活后
先别重启先,稍后再重启
按照道理,激活后的这个镜像其实可以打包上传openstack使用了,但它不会自动弹性扩容硬盘C盘,也不会自动帮修改网卡的MAC地址(多个相同的MAC地址的虚拟机之间是无法通信的)
因此,我们需要再安装Cloudbase-init 这个工具是为了让openstack能够控制它metedata,与之交互,可以实现注入管理员帐号的密钥,和扩展云主机(我们C盘的硬盘大小)等等
docker官网上的文档---镜像制作指引,上有提供下载的链接,我也是先想办法下载后通过共享文件夹上传的,安装时,先一路点next
到这个地方,它指是:我们让它这个工具,可以生成一个叫admin的管理员,它也在管理员用户组里,可以通过com1进入VNC
下一步下一步就可以开始安装了。
安装完成后,这里有两个复选框,我来解释一下,如果勾选的话,
Cloudbase-init会把这个镜像虚拟,进行初始化,并且我们到时在openstack启动虚机时,我们还得重新设置管理员密码、激活 密钥 和做一些其它像打开远程连接的设置等,(如果你有足够的密钥,或者一直可用激活工具的话,可以勾选),这里我们不要勾选,目的就是为了,保存我们刚才已经注册好的秘钥。直接完finish完成。
接下来我们就可以把左边的两个工具删除,清空回收站,重启电脑,让密钥激活生效
重启系统后,我们再手功关机
接下来压缩镜像
qemu-img convert -c -p -O qcow2 /mnt/sdf1/win2k8/win2k8.qcow2 /mnt/sdf1/win2k8/win2k8r2.qcow2
上传至controller,并导入镜像
glance image-create --name "win2k8r2" \
--file win2k8r2.qcow2 \
--disk-format qcow2 --container-format bare \
--visibility public --progress
- openstack私有云布署实践【16.2 Ubuntu1404 只有根分区镜像制作】
之所以要只有根分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入 在原来的物理机10.40.41.1的CentOS 6.7上制作镜像. 宿主机坱要安装KVM相关软件: ...
- openstack私有云布署实践【16.1 CentOS7.1 只有根分区镜像制作】
之所以要只有根分区镜像,是因为在创建VM或者调整云主机的硬盘大小时,它能自动扩容.无需人工介入 在原来的物理机10.40.41.1的CentOS 6.7上制作镜像.(当然如果你的制作镜像的宿主机是 ...
- openstack私有云布署实践【12.2 网络Neutron-controller节点配置(办公网环境)】
网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...
- openstack私有云布署实践【12.1 网络Neutron-controller节点配置(科兴环境)】
网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...
- openstack私有云布署实践【0 前言】
管理控制层面示图: 其实在修改这个布署文档是,我发现当时生产中的布署已经严重偏离了openstack高可用的指导思想.我们自己实践的高可用其实是适应自己的架构而做的调整,因为我们现实手头上中没有比较符 ...
- openstack私有云布署实践【9.3 主从controller单向同步glance-image目录】
采用Rysnc单向同步,而不用双方实时同步,原因是在历史的运行过程中,我们发现,有些镜像包太大,当在主用的glance将镜像保存时,并不是一时半会就把镜像保存好,当主用在保存时,备用节点又在实时同步那 ...
- openstack私有云布署实践【15 创建租户网络+实例】
这里以办公网测试环境为例, (一)创建租户demo的网络 使用admin用户 source admin-openrc.sh 创建public公网 neutron net-create 1040 ...
- openstack私有云布署实践【19 通过python客户端 创建实例VM指定IP地址】
还有一种创建方式 是使用py开发工具,调用openstackclient的方法进行创建实例 ,好处就是可随意指定我们要的虚拟机IP地址,需求的场景就是,某天我们需要主动分配一个比较熟知的IP用作某个服 ...
- openstack私有云布署实践【11.3 计算nova - compute节点-nova用户免密登录(用于云主机冷迁移+扩展云主机大小)】
云主机迁移+扩展云主机大小 ,官方说它依赖nova用户之间的免密登录.确保每个resion区域的compute节点服务器他们可以相互SSH免密 compute1-7 他们相互SSH免密 k ...
随机推荐
- 将网站固定到开始菜单,自定义图标、颜色和Windows推送通知
Windows 8.1——将网站固定到开始菜单,自定义图标.颜色和Windows推送通知 记得在IE 9和Windows 7刚出来那会儿我写过一篇文章来介绍如何自定义网站将其固定到Windows的任务 ...
- C add
C++学习--应用篇(Windows/Linux)(书籍推荐及分享) 我将以平台划分,分别介绍Windows和Linux下个人认为的好书(与基础篇一样,大部分网络上都有电子版): 对于C++基础类的图 ...
- JS OffsetParent属性
offsetParent 属性返回一个对象的引用,这个对象是距离调用offsetParent的元素最近的(在包含层次中最靠近的),并且是已进行过CSS定位的容器元素. 如果这个容器元素未进行CS ...
- HttpActionDescriptor,ASP.NET Web API又一个重要的描述对象
HttpActionDescriptor,ASP.NET Web API又一个重要的描述对象 通过前面对“HttpController的激活”的介绍我们已经知道了ASP.NET Web API通过Ht ...
- 使用STL处理分支限界法处理最优装载问题
使用STL处理分支限界法处理最优装载问题 #include <iostream>#include <vector>#include <queue>#include ...
- .net mvc页面UI之Jquery博客日历控件
摘要:最近在做一个博客系统,其他需要用到博客日历控件,网上搜索了很多资料,其中大部分都是javascript的,经过总结使用jquery实现了博客日历效果.代码如下: 原文链接转载请注明:http:/ ...
- 添加可运行的js代码
如何在博客园的文章/随笔中添加可运行的js代码 在博客园浏览大牛们写的文章时,经常会看到在文章中混有一些可运行示例,例如司徒正美的博客中: 带有可运行示例 可以点击“运行代码” 经过一番小小的探索,掌 ...
- cocos2d-x 3.0 cocos run Couldn't find the gcc toolchain.
出现这个错误是NDK_ROOT环境变量没有设置好,要么设置错了,要么没有重启终端(也就是环境变量还没有生效).我就是因为没有重启终端坑了一个晚上,我只能帮你到这了,玩cocos2d-x 3.0的朋友, ...
- Nunit NMock Ncover单元测试
Nunit中如何进行事务性单元测试 单元测试要求:单元测试方法并不真正去变更数据库,也就是说单元测试不依赖于数据库中的数据.那我们如何解决执行单元测试方法后,不变更数据库中数据呢? 一般的解决方案 ...
- kivy Grid Layout
http://kivy.org/docs/api-kivy.uix.gridlayout.html?highlight=gridlayout#kivy.uix.gridlayout It's so n ...