解决Ubuntu Server 12.04 在Hyper-v 2012 R2中不能使用动态内存的问题

时间:2022-05-23 05:47:46

前言

 

全新Hyper-v 2012 R2终于开始支持在Linux的VPS中使用动态内存,可以大大优化服务器的资源分配,小弟我兴奋不已,于是抽空时间赶紧升级到 2012 R2,好好整理一番内存分配,不过郁闷的事情来,文档清楚写明Ubuntu 12.04已经内置Hyper-v集成服务,我也从Hyper-v 2008 R2一路走来,一直有加载相关模块,一直都运行良好,不过升级到R2后,用尽各种更新,可管理器中的内存检测一直不OK ╮(╯_╰)╭

解决Ubuntu Server 12.04 在Hyper-v 2012 R2中不能使用动态内存的问题

 

实际测试中,特意榨干VPS的缓存,依然不见内存动态调整,果然内存模块无法正常工作,倒腾了一天,最后锁定是hv_ballnoon驱动没有正常启动,但发觉有些VPS启动了,有些就不能启动,如

 

lsmod | grep hv

 

不正常

解决Ubuntu Server 12.04 在Hyper-v 2012 R2中不能使用动态内存的问题

 

正常

解决Ubuntu Server 12.04 在Hyper-v 2012 R2中不能使用动态内存的问题

 

网上查资料,原来要将Linux内核升级到3.8 以上才能支持hv_balloon,对比两者内核,果真如此

 

uname –rm

 

不正常

解决Ubuntu Server 12.04 在Hyper-v 2012 R2中不能使用动态内存的问题

 

正常

解决Ubuntu Server 12.04 在Hyper-v 2012 R2中不能使用动态内存的问题

 

原来12.04 现在默认内核是 3.5.x 怪不得 +_+

 

升级内核

 

进入官网内核下载页面

 

http://kernel.ubuntu.com/~kernel-ppa/mainline/

解决Ubuntu Server 12.04 在Hyper-v 2012 R2中不能使用动态内存的问题

 

找到最新版的 3.8.x 内核

 

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8.13.13-raring/

解决Ubuntu Server 12.04 在Hyper-v 2012 R2中不能使用动态内存的问题

由于我的Ubuntu是64位,就下载这三个文件即可

 

具体操作

 

下载

 

mkdir /tmp/kernel38

cd /tmp/kernel38

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8.13.13-raring/linux-headers-3.8.13-03081313_3.8.13-03081313.201311131635_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8.13.13-raring/linux-headers-3.8.13-03081313-generic_3.8.13-03081313.201311131635_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8.13.13-raring/linux-image-3.8.13-03081313-generic_3.8.13-03081313.201311131635_amd64.deb

 

解决Ubuntu Server 12.04 在Hyper-v 2012 R2中不能使用动态内存的问题

 

安装内核

 

dpkg -i linux-*-3.8.13-*.deb

解决Ubuntu Server 12.04 在Hyper-v 2012 R2中不能使用动态内存的问题

 

更新grup,然后重启

解决Ubuntu Server 12.04 在Hyper-v 2012 R2中不能使用动态内存的问题

 

进入Hyper-v管理器查看,动态内存生效了 \(^o^)/~

解决Ubuntu Server 12.04 在Hyper-v 2012 R2中不能使用动态内存的问题

 

查看hv_ballnoon模块也正常启用

解决Ubuntu Server 12.04 在Hyper-v 2012 R2中不能使用动态内存的问题

 

结语

 

自此闹心了一天的问题解决了,希望对遇到同样问题的朋友节省点走弯路的时间 ^_^

 

最后顺便吐槽一下Hyper-v 2012 R2 的新用户体验:

 

1)新的热机导出功能很有用,可以让我不用理会复杂的关机逻辑,实现无人看守的热机镜像导出,不过热机导出非常耗磁盘IO,导出过程中,VPS本身功能影响严重,希望日后能改进;

 

2)那个增强会话模式可以实现文本同文件的复制粘贴,使控制台窗口从鸡肋晋升到可用级别,是个好开始,不过对Linux的VM好像无效,有点遗憾 ╮(╯_╰)╭;

 

3)可以虚拟机之间共享一个vhdx虚拟磁盘,不过有个限制就是不能多个虚拟机同时读取,每一个时刻仅仅可以一个虚拟机读取,所以主要只能用来做故障转移而已;

 

4)第二代虚拟机终于支持虚拟SCSI磁盘引导,是个很好的开始,不过感觉还不成熟,仅仅支持Win 2012 和 Win 8 以上版本的VM,有点半成品的感觉;

 

5)说是对Linux有更好的支持,确实性能一直表现令我倍感踏实,不过文档方面太偏向Win,就好像本篇试用的新功能,Linux动态内存支持,文档就让我找不着北,白白浪费了不少时间 +_+

 

不过吐槽完,话说回来,近两年使用Hyper-v,确实感觉它性能不断提升,管理也越来越方便,也打消了我曾一度想转战vShpere的心,希望Hyper-v日后能做得更好 \(^o^)/~