最近通过艰苦卓绝的度娘(我很想用谷歌,可是,你懂的),终于搞明白如何在centos7中限制kvm虚拟机可访问的资源了。
度娘给出的结果中,大部分都说的很对,然而,却很难照着做,主要原因有两点:
1、网上的版本大都是针对centos6.x而写的,但是centos7和centos6的操作有些不同。
比如centos6中启动服务的命令是用/etc/init.d/目录下对应的服务的start方法,而centos7中对服务的管理都是靠systemctl这个命令。
2、对命令中的某些参数解释的不够清晰,甚至是没有解释,直接扔一个命令上去,然后说这个命令能起到什么作用。
对于符合这一点的文章,我一般称为技术八股文。不幸的是,网上的文章大部分都是技术八股文。
下面就把我实现的步骤写下来。
一般来说,升级一下系统吧。升级系统可以把系统中的软件更新到最新状态,这样可以最大程度的减少一些莫名其妙的问题。命令如下:
yum update -y
参数-y是为了更新系统是不提示直接安装。如果你喜欢每次都按一下键盘的话,就不要带这个参数了。
另外,如果不是root用户,要用sudo:
sudo yum update -y
然后安装libcgroup和libcgroup-devel。这两个是为系统增加cgroup功能,具体每个包都是干什么,我也不知道。
yum install libcgroup libcgroup-devel -y
安装完成后,系统中会增加一个叫做cgconfig的服务。
网上一般都要求启动此服务。但是我测试的情况是,不启动这个服务也可以。
为了和网上保持一致,就启动此服务吧。
使用systemctl启动此服务:
systemctl start cgconfig

如果想看此服务的状态,可以用以下命令来看:
systemctl status cgconfig
看其他服务的状态也是用这个命令。
如果看到“Active: active (exited)”的字样,就说明启动成功了。
网上一般都要求设置此服务为自动启动,既然我觉得没用,就不设置了。
网上一般都说服务启动后在根目录下看到cgropu的目录,但是我也没有看到。不过这个似乎和我这个初学者没有半毛钱关系,能用就行。
下面就是设置对磁盘资源的控制。这个主要是靠virsh这个命令中的子命令blkiotune和blkdeviotune进行设置。blkdeviotune没研究不解释。blkiotune设定的是某个虚拟机对资源的访问,网上的资料说可以设置权重(weight),但是我设置后没发现有什么作用,所以我还是强制设定的读写速度。这里总共有六项可以设定。通过以下命令查看指定名字的虚拟机当前的设定:
virsh blkiotune win2k8r2
输出如下:
weight         : 0
device_weight  :
device_read_iops_sec:
device_write_iops_sec:
device_read_bytes_sec:
device_write_bytes_sec:

命令中的“win2k8r2”就是要设定的虚拟机的名字。
这里可以看到六项可以设定的内容。我只设定device_read_bytes_sec这一项。设定命令如下:
virsh blkiotune win2k8r2 --device-read-bytes-sec /dev/sda2,5000000
这样就把名字为win2k8r2的虚拟机对/dev/sda2这个设备的读取速度限制在5M了。这里要注意的是,参数中的“-”,单词前面用的是“--”,两个减号;单词之间用的是“-”,一个减号,而上一个命令中显示的是对应项目,用的是下划线。
要注意的是,虽然我们限制了读取速度为5M,但实际上可能会在这个速度上下波动。
查看设置是否成功的方法是用iotop这个工具,使用方法类似于top,就不解释了。

最后声明一下,这篇文章仅适于初学者,如果你是大牛,请无视。

在centos7中限制kvm虚拟机可访问的资源的更多相关文章

  1. [原]CentOS7.2部署KVM虚拟机

    前段时间学习了关于PostGis.OSM数据以及Mapnik相关内容,接下来将利用假期重点学习PostgreSQL-XL和瓦片服务器集群技术,因此先把环境搭好.计划采用KVM来充分利用家里不太宽裕的“ ...

  2. 云计算概述及Centos7下安装kvm虚拟机

    云计算(cloud computing)是基于互联网的相关服务的增加.使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源 云计算到底是什么? 按定义:云计算指的是一种使用模式,是基 ...

  3. CentOS7.2部署KVM虚拟机

    转自:http://www.linuxidc.com/Linux/2017-01/140007.htm 学习了关于PostGis.OSM数据以及Mapnik相关内容,接下来将利用假期重点学习Postg ...

  4. Centos7.4安装kvm虚拟机(使用virt-manager管理)

    之前介绍了使用WebVirtMgr或Openstack来部署及管理kvm虚拟机,下面简单介绍centos7.4下使用virt-manager部署及管理kvm虚拟机的做法: 0)KVM是什么 KVM(K ...

  5. docker容器中启动kvm虚拟机

    .安装docker yum install docker systemctl start docker.service systemctl enable docker.service .拉取cento ...

  6. Centos7下搭建KVM虚拟机

    PRE-INSTALL ============================================================= kvm相关安装包及其作用 qemu-kvm 主要的K ...

  7. 在Firefox中通过AJAX跨域访问Web资源---

    一.解决在firefox中无法跨域访问的问题 AJAX从本质上讲就是命名用XMLHttpRequest组件来向服务端发送HTTP请求,请接收相应信息.至于成功接收到响应信息后的操作,就和普通的Web客 ...

  8. vmware中两台虚拟机互相访问

    hosts文件   简单说,就是本来访问某个机器是通过其ip,在hosts文件中给ip对应一个名字,那么就可以通过名字来替代ip去访问该机器了(名字显然比ip好记) 环境:宿主机win10系统,安装了 ...

  9. VMware 中安装kvm虚拟机

    环境准备: 安装vmware时需要自定义安装-开启虚拟化技术   安装成功之后就可以继续进行了. 1 查看CPU是否支持KVM egrep 'vmx|svm' /proc/cpuinfo --colo ...

随机推荐

  1. Objective-C Runtime 运行时之二:成员变量与属性

    类型编码(Type Encoding) 作为对Runtime的补充,编译器将每个方法的返回值和参数类型编码为一个字符串,并将其与方法的selector关联在一起.这种编码方案在其它情况下也是非常有用的 ...

  2. .NET通用基本权限系统

    DEMO下载地址: http://download.csdn.net/detail/shecixiong/5372895 一.开发技术:B/S(.NET C# ) 1.Windows XP以上 (支援 ...

  3. Redis集群的使用测试(Jedis客户端的使用)

    Redis集群的使用测试(Jedis客户端的使用)1.Jedis客户端建议升级到最新版(当前为2.7.3),这样对3.0.x集群有比较好的支持.https://github.com/xetorthio ...

  4. NGUI学习笔记(三):屏幕自适应

    我们开发移动端游戏的时候,一般都会选择Constrained/FixedSize的缩放模式来保证图片在不同的分辨率下相对于屏幕的尺寸保持一致,但是对于屏幕自适应来说,这还是不够的,不同的手机存在不同的 ...

  5. Java中方法的重载

    Java 中方法的重载 问: 什么是方法的重载呢? 答: 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方 ...

  6. PowerDesigner实用技巧小结(3)

    PowerDesigner实用技巧小结(3) PowerDesigner 技巧小结 sqlserver数据库databasevbscriptsqldomain 1.PowerDesigner 使用 M ...

  7. JNI-数据类型

    转载:http://blog.csdn.net/conowen/article/details/7523145 在Java中有两类数据类型:primitive types,如,int, float, ...

  8. CAS Tomcat实现单点登录

    转贴: http://www.cnblogs.com/ja-net/archive/2012/07/25/2608536.html 最近这两天在搞单点登录,第一次使用老出状况.以下是配置过程: 1.安 ...

  9. web前端开发前景怎么样?

    对于web前端开发,对现今前端的发展,中国的发展还很落后,中国没有Jquery,没有Node.js,其中最主要的一点是,中国的前端比较封锁,大家都没有分享的觉悟.回头看看,那些发展比较快的行业.软件, ...

  10. js用斜率判断鼠标进入div的四个方向

    网上大部分判断鼠标移入div移入移出都是使用一下方法: 这个方法确实十分奇特,使用起来十分方便. 后来自己看了一些文章,看到有另一种以斜率的方法来判断鼠标的移动方向. 上图是此方法的示意图,以浏览器左 ...