【转】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 ...
随机推荐
- 一个简单的MariaDB认证插件demo
代码地址如下:http://www.demodashi.com/demo/13076.html 一.前言 众所周知(其实可能很多人不知道)MariaDB支持插件认证.在MariaDB中新建用户,常见的 ...
- <转>c++ builder JSONCPP 注意事项 XE2 解决编译问题 _Mfl
在C++Builder中使用JSONCPP需要注意的问题 1.使用STL的MAP而不是内建的MAP这个问题实际上和编译器无关.内建的MAP不是很稳定,当解析数据大于600K左右时,会崩溃.虽然一般来说 ...
- sql笔记 获取指定数据库下的所有表
SELECT Name FROM 数据库名称..SysObjects Where XType='U' ORDER BY Name XType='U' 标识查询用户创建的表 S为系统创建的表
- OPPO.1107刷机笔记
手动 转移任意APP为系统APP的方法流程简述 宗旨: 保持和系统原本同目录下的文件各种设置(权限,所有者,SE上下文),目录结构保持一致即可! 从 /data/app/里将对应的APP文件移动到 / ...
- 从DTS到驱动加载的过程分析
http://blog.csdn.net/iefswang/article/details/40543733 http://www.linuxidc.com/Linux/2013-07/86839.h ...
- PILE读书笔记_标准I/O
在学习和分析标准I/O库的同时, 可以重点与Linux的I/O系统调用进行比较. stdin. stdout和stderr都是FILE类型的文件指针, 是由C库静态定义的, 直接与文件描述符0. 1和 ...
- win10虚拟环境安装scrapy
说明:本人用的是python3.6版本,64位系统. 第一步:创建并激活虚拟环境 virtualenv scrapy scrapy\Scripts\activate 第二步:安装lxml pip in ...
- Python内置函数之input()
input([prompt])input()读取标准输入并打印字符串到屏幕. 参数是自定义的提示符. 例子: >>> input('$ ') $ pwd 'pwd'
- SpringMVC请求使用@PathVariable获取文件名称并且文件名中存在.导致路径被截取的问题
在SpringMVC中,当使用@pathVariable通过Get请求获取路径名称时,如果路径名称上存在小数点,则获取不到小数点后面的内容,会被Spring截取. 比如我获取某一文件,路径是local ...
- 自动添加需要编译的源文件Android.mk模板
自动添加需要编译的源文件列表 添加第三方静态库.动态库的依赖 假设我们的项目依赖 libmath.a, libjson.a, libffmpeg.so 这几个第三方库文件,项目包含如下几个模块:a ...