• Windows image 制作


    本版本制作的windows 支持 feather: 1. Disk Bus=SCSI   2.Tunnel网络环境下自动配置MTU  3.动态修改密码

    准备环境

          1.windows iso :         http://10.110.176.250:8080/os/iso/windows/cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_vl_build_x64_dvd_617396.iso

          2.virtio driver for windows:    https://fedoraproject.org/wiki/Windows_Virtio_Drivers

          3.cloudbase-init for X64:       https://www.cloudbase.it/downloads/CloudbaseInitSetup_Beta_x64.msi

          4.qemu-guest-agent for windows:       https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-qemu-ga/

          5.cloudbase-init patch for set mtu:      https://review.openstack.org/#/c/389559/

    安装过程

          1.使用Libvirt 创建windows虚机,启动虚机的 XML 如下:

     1 <domain type='kvm'>
     2   <name>win2012</name>
     3   <uuid>6828e3f8-b517-4612-bad9-c6050d936e85</uuid>
     4   <memory unit='KiB'>2097152</memory>
     5   <currentMemory unit='KiB'>2097152</currentMemory>
     6   <vcpu placement='static' cpuset='1-3'>2</vcpu>
     7   <cputune>
     8     <shares>1024</shares>
     9   </cputune>
    10   <sysinfo type='smbios'>
    11     <system>
    12       <entry name='manufacturer'>Fedora Project</entry>
    13       <entry name='product'>OpenStack Nova</entry>
    14       <entry name='version'>13.0.0-1.el7</entry>
    15       <entry name='serial'>65fbc0c9-3e85-43c8-abf2-e6f3a26e2ffb</entry>
    16       <entry name='family'>Virtual Machine</entry>
    17     </system>
    18   </sysinfo>
    19   <os>
    20     <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    21     <boot dev='cdrom'/>
    22     <boot dev='hd'/>
    23     <smbios mode='sysinfo'/>
    24   </os>
    25   <features>
    26     <acpi/>
    27     <apic/>
    28   </features>
    29   <cpu mode='host-model'>
    30     <model fallback='allow'/>
    31     <topology sockets='1' cores='2' threads='1'/>
    32   </cpu>
    33   <clock offset='utc'>
    34     <timer name='pit' tickpolicy='delay'/>
    35     <timer name='rtc' tickpolicy='catchup'/>
    36     <timer name='hpet' present='no'/>
    37   </clock>
    38   <on_poweroff>destroy</on_poweroff>
    39   <on_reboot>restart</on_reboot>
    40   <on_crash>destroy</on_crash>
    41   <devices>
    42     <emulator>/usr/libexec/qemu-kvm</emulator>
    43     <disk type='file' device='disk'>
    44       <driver name='qemu' type='qcow2'/>
    45       <source file='/home/stack/images/win2012.qcow2'/>
    46       <target dev='sda' bus='scsi'/>
    47       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    48     </disk>
    49     <disk type='file' device='cdrom'>
    50       <driver name='qemu' type='raw'/>
    51       <source file='/home/stack/windows/cn_windows_server_2012_r2_x64_dvd_2707961.iso'/>
    52       <target dev='hda' bus='ide'/>
    53       <readonly/>
    54       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    55     </disk>
    56     <disk type='file' device='cdrom'>
    57       <driver name='qemu' type='raw'/>
    58       <source file='/home/stack/windows/virtio-win.iso'/>
    59       <target dev='hdd' bus='ide'/>
    60       <readonly/>
    61       <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    62     </disk>
    63     <interface type='network'>
    64       <mac address='52:54:00:f4:71:33'/>
    65       <source network='default'/>
    66       <model type='e1000'/>
    67       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    68     </interface>
    69     <serial type='pty'>
    70       <target port='0'/>
    71     </serial>
    72     <console type='pty'>
    73       <target type='serial' port='0'/>
    74     </console>
    75     <input type='tablet' bus='usb'/>
    76     <input type='mouse' bus='ps2'/>
    77     <input type='keyboard' bus='ps2'/>
    78     <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' keymap='en-us'>
    79       <listen type='address' address='0.0.0.0'/>
    80     </graphics>
    81     <video>
    82       <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1'/>
    83       <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    84     </video>
    85     <memballoon model='virtio'>
    86       <stats period='10'/>
    87       <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    88     </memballoon>
    89   </devices>
    90 </domain>
    View Code

        注意:1.多个CPU  2.Disk bus SCSI

        2.创建 leuser账户,禁用Administrator

        3.安装qemu-guest-agent, 用户支持动态修改密码

        4.安装Virtio driver,参见: https://goo.gl/ckgdWN       

       注意.qemu-guest-agent 的driver需重机关、编辑XML、重启,XML修改如下:

    1 <channel type='unix'>
    2     <source mode='bind' path='/var/lib/libvirt/qemu/win7x86.agent'/>
    3     <target type='virtio' name='org.qemu.guest_agent.0'/>
    4     <address type='virtio-serial' controller='0' bus='0' port='1'/>
    5  </channel>

         5.内存监控

           在 Windows 2008r2 and Windows 2012/Win8 :

                 Copy and rename as Administrator the WIN7AMD64 directory from the virtio.iso to “c:/Program files/Balloon”

                 Open a CMD as Administrator and cd into “c:/Program Files/Balloon”

                 Install the BLNSVR with “BLNSVR.exe -i”

          在 Windows 2003 / Windows Xp :

                 Download the “devcon” software on microsoft website kb311272

                 devcon install BALLOON.inf “PCIVEN_1AF4&DEV_1002&SUBSYS_00051AF4&REV_00”

        6.安装cloudbase-init

              1).修改cloudbase-init.conf的参数metadata_services和plugins 

                   参数配置如下:

    1 metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService,cloudbaseinit.metadata.services.httpservice.HttpService,cloudbaseinit.metadata.services.ec2service.EC2Service,cloudbaseinit.metadata.services.maasservice.MaaSHttpService
    2 plugins=cloudbaseinit.plugins.windows.mtu.MTUPlugin,cloudbaseinit.plugins.windows.ntpclient.NTPClientPlugin,cloudbaseinit.plugins.windows.createuser.CreateUserPlugin,cloudbaseinit.plugins.windows.networkconfig.NetworkConfigPlugin,cloudbaseinit.plugins.windows.sshpublickeys.SetUserSSHPublicKeysPlugin,cloudbaseinit.plugins.windows.userdata.UserDataPlugin,cloudbaseinit.plugins.windows.setuserpassword.SetUserPasswordPlugin,cloudbaseinit.plugins.windows.localscripts.LocalScriptsPlugin

              2).替换cloudbase-init文件,支持设置configDriver配置MTU,具体参见commit:  https://review.openstack.org/#/c/389559/    修改的文件如下:

    1 cloudbaseinit/metadata/services/base.py
    2 cloudbaseinit/metadata/services/opennebulaservice.py
    3 cloudbaseinit/plugins/common/networkconfig.py
    4 cloudbaseinit/tests/metadata/fake_json_response.py
    5 cloudbaseinit/tests/metadata/services/test_baseopenstackservice.py
    6 cloudbaseinit/tests/metadata/services/test_opennebulaservice.py
    7 cloudbaseinit/tests/plugins/common/test_networkconfig.py
    8 cloudbaseinit/tests/utils/test_debiface.py
    9 cloudbaseinit/utils/debiface.py

    上传镜像

    命令行:

    1 glance image-create --name "win2K8_r2_x64" --disk-format qcow2 --container-format bare  --progress < /home/stack/win2012.qcow2
    2  
    3 glance image-update  --property hw_disk_bus=scsi --property hw_cpu_sockets=2  --property  hw_qemu_guest_agent=yes --property  os_admin_user=leuser  win2K8_r2_x64

    创建虚机

    命令行如下:

    1 nova boot --config-drive=true --image win2K8_r2_x64  --key-name controller --flavor  windowsc2m1024d20 --nic net-id=4c85a0e2-7fd8-40e1-8746-95c03ad7aecb instance-001
    View Code

    注:管理 windows 的MTU

    1.netsh interface ip show interface

    2.netsh interface ip set subinterface "本地连接 2" mtu=1450 store=persistent

    参考文档:

        http://wiki.letv.cn/display/pla/2014.09.22+-+2014.09.26 

        http://docs.openstack.org/image-guide/windows-image.html

        https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Host_Configuration_and_Guest_Installation_Guide/form-Virtualization_Host_Configuration_and_Guest_Installation_Guide-Para_virtualized_drivers-Mounting_the_image_with_virt_manager.html

        https://pve.proxmox.com/wiki/Qemu-guest-agent

        https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/sect-QEMU_Guest_Agent-Running_the_QEMU_guest_agent_on_a_Windows_guest.html

        http://wiki.stoney-cloud.org/wiki/Qemu_Guest_Agent_Integration

        https://niusmallnan.github.io/_build/html/_templates/openstack/libvirt_memory_usage.html

     
  • 相关阅读:
    myssl.com SSL 检测
    tp中model加载机制
    号码归属地
    七牛云刷新缓存
    盒子模型
    eclipse中将项目发布到tomcat的root目录
    php二维数组搜索
    linux 编译 'aclocal-1.14' is missing on your system
    windows安装 centos
    svn ignore 的用法
  • 原文地址:https://www.cnblogs.com/gaozhengwei/p/7101244.html
Copyright © 2020-2023  润新知