前言
全新Hyper-v 2012 R2终于开始支持在Linux的VPS中使用动态内存,可以大大优化服务器的资源分配,小弟我兴奋不已,于是抽空时间赶紧升级到 2012 R2,好好整理一番内存分配,不过郁闷的事情来,文档清楚写明Ubuntu 12.04已经内置Hyper-v集成服务,我也从Hyper-v 2008 R2一路走来,一直有加载相关模块,一直都运行良好,不过升级到R2后,用尽各种更新,可管理器中的内存检测一直不OK ╮(╯_╰)╭
实际测试中,特意榨干VPS的缓存,依然不见内存动态调整,果然内存模块无法正常工作,倒腾了一天,最后锁定是hv_ballnoon驱动没有正常启动,但发觉有些VPS启动了,有些就不能启动,如
lsmod | grep hv
不正常
正常
网上查资料,原来要将Linux内核升级到3.8 以上才能支持hv_balloon,对比两者内核,果真如此
uname –rm
不正常
正常
原来12.04 现在默认内核是 3.5.x 怪不得 +_+
升级内核
进入官网内核下载页面
http://kernel.ubuntu.com/~kernel-ppa/mainline/
找到最新版的 3.8.x 内核
http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.8.13.13-raring/
由于我的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
安装内核
dpkg -i linux-*-3.8.13-*.deb
更新grup,然后重启
进入Hyper-v管理器查看,动态内存生效了 \(^o^)/~
查看hv_ballnoon模块也正常启用
结语
自此闹心了一天的问题解决了,希望对遇到同样问题的朋友节省点走弯路的时间 ^_^
最后顺便吐槽一下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^)/~