zoukankan      html  css  js  c++  java
  • openstack私有云布署实践【16.3 Windows Server2008 R2 只有C盘分区镜像制作】

    之所以要只有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
     
     
    在本地Win7上安装SPICE客户端(下载链接 https://fedorahosted.org/released/virt-viewer/),Linux系统可在GUI界面下安装virt-viewer
    安装完成后,运行 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
     
     
    因为我们一开始在cloudbase-init没有把镜像进行初始化,所以在初次在dashboard创建虚拟机实例时,它会在1分钟内自动重启1次的机器,用来修改主机名称,以及2分钟后重启,生成另一个管理员帐号+重置网卡物理信息,(http://cloudbase-init.readthedocs.io/en/latest/plugins.html有说明)可以从VNC界面看到这个动作。这就是不用初始化,保留免注册密钥动作的代价。如果你还没有看到另一个帐号的登录界面,那就是你不小心前提登录进去了,中断了它的自动重启,需要你自己手工重启虚拟机。
  • 相关阅读:
    Action<T>和Func<T>的使用(转)
    javascript将网页表格导出Word(转载)
    jQuery扩展方法2(转载)
    Microsoft SQL Server 2008 安装说明
    INSERT INTO 语句的语法错误 access 保留字段
    .NET 验证控件
    TFS强制撤销用户的签出
    .net 操作XML
    TFS 恢复删除文件
    checkboxlist详细用法、checkboxlist用法、checkboxlist
  • 原文地址:https://www.cnblogs.com/veniceslove/p/6287390.html
Copyright © 2011-2022 走看看