• Libvirt中windows虚拟机的动态内存管理


    非常短的前提

    Libvirt支持对虚拟机进行内存动态扩展,可是windows虚拟机首先须要安装virtio-win驱动。

    KVM提供的virtio-win驱动下载地址:
    http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
    http://alt.fedoraproject.org/pub/alt/virtio-win/

    下面是栗子

    镜像:windows2008R2。64位
    virtio-win:virtio-win-0.1-100.iso
    disk:差分镜像(qemu-img create -f qcow2 -b ./windows_2008R2_x86_64 disk)

    使用qemu命令启动虚拟机并载入virtio驱动:

    qemu-system-x86_64 -hda ./windows_2008R2_x86_64 -drive file=./disk,if=virtio 
    -drive file=./virtio-win-0.1-100.iso,media=cdrom,index=1 -net nic,model=virtio 
    -net user -boot d -vga std -m 4096 -usbdevice tablet -vnc :50 -enable-kvm
    

    通过vnc訪问该虚拟机,进行下面操作:

    1. 进入“设备管理器” - “系统设备”。安装“未知设备”为“Virtio Balloon Driver”
    2. 将virtio-win光驱中的WIN7/X86文件夹复制到“c:/Program files/Balloon”
    3. 以管理员身份使用cmd命令行进入上述文件夹
    4. 运行“BLNSVR.exe -i”用以安装BLNSVR服务
    5. 正常关机保存设置

    至此。该disk文件已经具备了获取具体内存信息、动态调整内存大小的能力,验证的方法例如以下:

    内存具体信息获取验证:

    1.使用该disk文件启动虚拟机。在xml文件里加入例如以下段落用于启用balloon设备,同一时候设定採集周期为10s

    ...
    <devices>
        <memballoon model='virtio'>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
          <stats period='10'/>
        </memballoon>
      </devices>
    </domain>

    2.採集时间能够手动设置

    virsh dommemstat <dommain> --period <time(sec)>
    

    3.获取虚拟机的当前内存用量

    virsh dommemstat <dommain>
    

    内存动态大小调整验证:

    1.关闭虚拟机

    virsh destroy <domain>
    

    2.设置虚拟机最大内存值(假设已经写入xml文件能够跳过)

    virsh setmaxmem <domain> --size <max_size>
    

    3.启动虚拟机

    virsh start <domain>
    

    4.动态调整

    virsh setmem <domain> --size <mem_size>
    

    有点不同于linux系统的地方在于windows会显示设置的最大内存值,会让人产生误解。

    參考资料
    https://pve.proxmox.com/wiki/Dynamic_Memory_Management#Ballooning

  • 相关阅读:
    Less35、Less36【无闭合注入,mysql_real_escape_string()】
    Less34【POST方式宽字符注入】
    Less29,30,31【jsp环境搭建、WAF】
    Less28、28a【select、union、空格过滤】
    Less27、27a【select、union、空格过滤】
    Less26,26a【空格符号过滤】
    Less25,25a【and/or过滤】
    Less24【二次注入】
    Less23【报错注入】
    NFC
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/7064723.html
Copyright © 2020-2023  润新知