【转】IBM PowerVM虚拟化技术笔记
1. 从CPU虚拟化的角度, 分区(partition)可以分成两大类:Micro-partition和Dedicated-procesor。前者可以将物理处理器以0.01的 粒度分配给微分区,分区创建的最小处理单元(processing units)必须是0.1个处理器。Dedicated-processor分区在创建时必须分配整个物理处理器。一个分区,或者是微分区类型,或者是 Dedicated-processor类型,不可能是两者的混合。所以对于微分区而言,在只有1个激活的物理处理器系统中,理论上最多能创建10个微分 区,最多能创建1个独占式分区(Dedicated-processor)。单个服务器上能创建的最大微分区的数量则取决于服务器的型号,目前能支持的最 大分区数量是254。
2. 关于虚拟处理器数量的意义。对于单颗虚拟处理器而言,最多可获得1.00个processing
units,因此,从这个角度而言,分区的虚拟处理器数量决定了该分区能拥有的最大处理单元(processing
units),换言之,分区内虚拟处理器数量决定了该分区所能拥有的最大processing
units,例如,假定创建一个un-capped的微分区时指定的Entitle Capacity是0.50个processing
units,同时指定的虚拟CPU数量为1,那么即便在服务器中有多余的处理资源可以使用,该分区能获得的procesing
units也不会超过1.00,但是对于同样的该分区,如果指定的虚拟CPU数量是2,那么分区所能获得的最大processing
units可以达到2.00,除了自身创建时指定的Entitle
Capacity是0.50之外,显然在有2个虚拟处理器存在的情况下,分区可以获得额外的1.50个processing units.
在创建分区时除了需要指定processing units参数外,还需要指定虚拟处理器数量,一般的原则是,将所指定的processing
units向上园整成整数,就可以作为虚拟处理器数量,比如,如果指定0.50个processing
units,那么指定1颗虚拟处理器,如果指定2.25个processing
units,那么指定3颗虚拟处理器,这是一般原则,当然实际操作时可以在分区的profile中多指定一些虚拟处理器的数量。不过指定过多的虚拟处理器
数量可能会遇到软件license的问题。
关于微分区技术另一点要提一下的是,该技术从POWER5及以后的处理器才能支持,所涵盖的服务器包括入门级产品到高端产品。
以上都是从处理器虚拟化角度讨论的分区,不涉及memory和IO设备。事实上,微分区只是从处理器角度来界定的概念,因此对于一个微分区而言,它既可以
使用shared memory也可以使用dedicated memory,对于IO设备也一样,比如一个微分区既可以拥有dedicated
network and storage resources using dedicated physical
adapters,也可以使用virtual Ethernet, virtual SCSI和virtual Fibre Channel.
为了加强对系统物理内存使用的灵活性和整体使用率,IBM PowerVM在内存虚拟化方面提供如下两种方式:
1. Active Memory Sharing(AMS)
PowerVM企业版才有此特性,该特性允许在多个LPAR在一个物理内存池中共享其中的内存资源。AIX, IBM
i和Linux分区都可以使用该特性。使用了AMS特性的分区必须属于微分区,并且该分区将只能支持虚拟I/O
adapters,而不可以使用物理的I/O adapters. POWER6及后来的POWER服务器才支持AMS. 因此如果从Memory
share与否这个角度,分区又可分为Shared Memory
Partition(类似从CPU角度而言的微分区)和Memory-dedicated partition.
PowerVM的Hypervisor通过Shared Memory
Pool来支持AMS的正常运行,如果某一个LPAR需要的内存资源在当前的Shared Memory Pool中已无法满足(比如Shared
Memory
Pool中空闲的物理内存资源不足),那么Hypervisor此时的策略其实和Linux上的虚拟内存的机制原理非常类似,不过它不是简单地将某一LPAR的内存放到硬盘上,而是放到由virtual
I/O server (VIOS)所提供的Paging Service Partition,后者其实是VIOS的一个client
partition,这是因为在IBM PowerVM技术中, LPAR使用的virtual
devices都是通过VIOS来实现,关于VIOS,会有专门的博文来讨论。
2. Active Memory Expansion(AME)
该特性只针对AIX分区,允许该分区扩展出分配给它的物理内存容量。同时支持虚拟I/O adapters和物理I/O adapters. 使用AME有几个前提条件:
Prerequisites
Active Memory Expansion requires the following prerequisites:
>POWER7 (or later) processor based server with Active Memory Expansion feature enabled
>HMC V7R7.1.0 or later
>AIX 6.1 Technology Level 6 or later
一个enable了AME特性的分区,其所能获得的最大物理地址取决于两点:
a. 分区被赋予的物理内存数量
b. 物理内存扩展因子
因此,对于一个拥有10GB物理内存的分区,如果扩展因子是1.5,那么该分区上的OS将会看到的物理内存为10GB * 1.5 = 15GB. AME实现的幕后原理是基于内存压缩技术。
本文转自:http://blog.chinaunix.net/uid-23769728-id-3275032.html
【转】IBM PowerVM虚拟化技术笔记的更多相关文章
- IBM powerVM VIOS
引言 随着信息化技术不断发展,各个企业 IT 基础架构也在不断朝向虚拟化,大数据,云计算等精简,整合的趋势发展.虚拟化技术就显得尤为重要.今天要给大家介绍的是 Power 服务器虚拟化技术中的一小部分 ...
- VPS选购及辨别vps虚拟化技术
现在国内外的VPS(Virtual Private Server)服务商非常多,每个服务商使用的VPS架构都不同.VPS属于虚拟化服务器,中文名:虚拟专用服务器. 常见的VPS虚拟化架构有多种:Ope ...
- CPU虚拟化技术(留坑)
留坑~~~ 不知道这个是这么实现的 CPU虚拟化技术就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率.虚 ...
- 虚拟化技术对比:Xen vs KVM
恒天云:http://www.hengtianyun.com/download-show-id-68.html 一.说明 本文主要从功能方面和性能方面对Xen和KVM对比分析,分析出其优缺点指导我们恒 ...
- 关于Linux虚拟化技术KVM的科普
虚拟化技术应用越来越广泛,虚拟化技术需求越来越强劲.KVM.XEN.Docker等比较热门,尤其是KVM技术越来越受欢迎. 基于此背景,了解一下KVM+QEMU就有点必要了. 从网上收集了一些资料进行 ...
- 关于Linux虚拟化技术KVM的科普 科普三(From OenHan)
http://oenhan.com/archives,包括<KVM源代码分析1:基本工作原理>.<KVM源代码分析2:虚拟机的创建与运行>.<KVM源代码分析3:CPU虚 ...
- [转] KVM虚拟化技术生态环境介绍
KVM虚拟化技术生态环境介绍 http://xanpeng.github.io/wiki/virt/kvm-virtulization-echosystem-intro.html kvm和qemu/q ...
- 虚拟化技术之KVM
虚拟化技术之KVM 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是虚拟化 其实虚拟化技术已经不是一个新技术了,上个世纪六十年代IBM公司已经在使用,只不过后来(上个世纪八 ...
- CPU硬件辅助虚拟化技术
目前主要有Intel的VT-x和AMD的AMD-V这两种技术.其核心思想都是通过引入新的指令和运行模式,使VMM和Guest OS分别运行在不同模式(ROOT模式和非ROOT模式)下,且Guest O ...
随机推荐
- Python中函数参数传递问题【转】
1. Python passes everything the same way, but calling it "by value" or "by reference& ...
- jQuery 获取DOM节点的两种方式
jQuery中包裹后的DOM对象实际上是一个数组,要获得纯粹的DOM对象可以有两种方式: 1.使用数组索引方式访问,例如: var dom = $(dom)[0]; 如: $("#id&qu ...
- gradle多渠道打包及友盟统计-eclipse版本
在进行渠道打包的之前,先看看准备篇,知道打包为了什么. 参见1.0android批量打包认知. eclipse中使用gradle多渠道打包全部流程 一.生成gradle文件,配置本地的gradle环境 ...
- 【收藏】15个常用的javaScript正则表达式(转)
0 前言 收集整理了15个常用的javaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期 ...
- putty英文乱码---DM8168_ETV_V1.1(路视明)
配置參照http://jingyan.baidu.com/article/c74d600048ed620f6a595d12.html 注意事项: 假设出现 英文也乱码.那么就是波特率设置的问题,应该这 ...
- bwlabel
bwlabel是用来标记二维的二值图像中的连通组的,简言之,就是黑背景下面有多少白的块,也就是从黑背景甄别白块块的. L = bwlabel(BW, n) returns a matrix L, of ...
- php类库PHP QR Code 二维码
php类库PHP QR Code 二维码 php类库PHP QR Code 二维码 php类库PHP QR CodePHP QR Code is open source (LGPL) library ...
- python 第三方库下载地址
http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
- ubuntu 16.04菜单栏不显示
解决办法: restart unity-pannel-service
- mybatis执行多条sql语句
1,mybatis执行多条sql语句,有以下几种思路, a,存储过程 b,修改jdbc的参数,允许执行多条语句,如下所示: sqlserver可以直接使用begin,end来执行多条语句, mysql ...