最后更新2021/08/14
规划涉及到几个参数,它们之间互相影响,如果需要修改其中一个,注意是否需要同时修改其它几个。下面是几个重要参数及其概念:
以下两个概念相互影响。过度分配比率越高,系统性能越差,但并不是线性变差,而是初始平缓,忽然陡峭,因此设计一定的过度分配比率,从整体效果看,反而可以提升系统性能(因为可用物理内存增多)。
Memory pool的大小是全部期望共享内存分区可供分配的物理内存大小。Memory Pool大小可以设定一定的“过度分配”,就是设定可用内存超过实际物理内存大小,但建议过度分配比率不要超过2倍。类似的设计建议如下:
AMS需要Power 6以后的CPU,较新的微码、操作系统版本以及Enterprise PowerVM授权支持:
小型机系统微码必须是340_029以上(Power 570,其他型号的微码需求请查询IBM网站),通常目前大部分Power 6的小型机,及所有的Power 7/8 的小型机都支持AMS)。通过小型机FSP ASMI界面或者HMC都可以查看当前微码。 图 4-23 通过ASMI查看微码版本
VIO Server版本 要配置AMS的分区所在小型机必须已经配置了VIOS,其版本需要在2.1.0.0以后,在VIO上执行ioslevel可以查看VIOS版本。 图 4-24 查看VIOS版本
AIX操作系统版本 需要配置AMS功能的分区需要AIX 6.1.3.0(TL3)或6.1.2.0(TL2 build 0837A_61D)及以后版本,可以用oslevel查看(oslevel -s可以查看更详细信息,包括service pack等)。查看aix_release.level 文件的内容可以获得当前AIX build release的版本。另外,某些Linux也支持AMS功能,例如Novell SuSE SLES11。 图 4-25 查看AIX版本
AMS也需要比较高的HMC版本,HMC至少要V7R3.4.0,Build 20080915.1或Service Pack 2 (V7.3.4.0M2) 图 4-26 查看HMC版本
AMS同时还需要小型据具体有相应的License授权。当前示例中Active Memory Sharing项标记为False表示本小型机不具有AMS授权,不能配置AMS。在后面操作中将介绍如何激活新的授权(当然前提是已经确认从IBM购买了对应的授权License,但是还没有输入新的授权码)。 - 输入新的授权码。IBM小型机PowerVM的授权分为3级,暨Express、Standard、Enterprise。AMS功能项包含在Enterprise授权中。具体获得授权码、输入激活授权的过程请参考一节。 图 4-27 输入VET授权激活AMS 图 4-28 激活AMS授权后状态
AMS需要VIOS 2.1.0.1-FP21以后版本。如果没有安装VIO或者版本不对,HMC配置AMS操作时将提示错误。否则会提示"Maximum number of memory pools: 1" 图 4-29 显示AMS是否可用
创建AMS交换区。交换区Paging Space需要创建在VIO上,与AIX 的paging space概念完全相同,用于物理内存不够时临时保存物理内存中的数据,但AMS的Paging Space对应于同一内存池中的所有分区,而AIX的paging space仅作用于当前操作系统,即一个分区之内。下面的示例中我们使用VIOS的内置SAS磁盘(hdisk1)创建AMS的交换区VG,volume group名称为"amspagingvg" 图 4-30 创建VG用于AMS Paging Space
现在交换区卷组已经设置,而每个分区需要自己单独的LV。例如我们建立了一个10G大小的逻辑卷LV,如图所示: 注意:
当前技术下,一个共享内存pool支持最多128个共享内存分区。共享内存分区的内存由VIO的 SMM (Shared Memory Manager)同一管理,因此共享内存pool需要分配给一个VIO,此VIO分区被称为PSP (Paging Service Partition),它对CPU无要求,可以是Dedicated也可以时Shared Processors,但必须采用Dedicated Memory,这也很好理解,Shared Memory无法再去被share。
指派给AMS Shared Memory Pool的物理内存可以也仅可以被全部共享内存分区使用,因此不能把全部物理机的内存都分配到共享内存Pool中,因为可能还有其它分区,特别是Hypervisor(表现为Firmware)内存占用。
下面我们具体看一下如何通过HMC创建共享内存pool
在HMC GUI选择物理机,在物理机信息里面可以找到"Create Shared Memory Pool" 在实际创建之前,假设我们已经记录好系统可用物理内存,做好了规划。在本例中,我们创建10GB的共享内存Pool,拥有6GB物理内存,而整机当前剩余可用物理内存为8G。
先选择用于paging的VIO,最少一个,最多2个。如果选用双VIO,则需要paging设备位于共享存储池中。在本例中由于选用的是内置存储做paging设备,因此只能有一个paging vio: 下一步选择paging设备,重复此步直到将所有paging设备都加入进去,先点击select device按钮获得可用设备列表: 在列表中应当显示出已经加入到共享内存pool的paging设备的信息,包括:
选择列表设备,将paging设备指派给共享内存pool ,可能需要点击Refresh按钮刷新列表:点击Refresh按钮能看到可选paging设备: 共享内存创建完成之后,在VIO上检查"Virtual Async Services Interface (vasi)"和"Virtual Block Storage (vbsd)"设备是否正常Available,一般会有4个VASI adapter,如果此VIO是LPM mover分区,可能会有更多。这些都是系统自动定义,无需人工干预。
每个AMS VASI adapter支持最多32流IDs, 每个流ID需要一个paging device. 因此可以最多支持128个共享内存分区。也就是每个流ID与一个共享内存分区以及一个paging设备绑定。但绑定关系是目前系统根据共享内存分区设定的内存大小和paging设备容量自动完成的,无法人工干预。 至此,共享内存pool设置完成,下一步来看一看每个共享内存(客户)分区的设置。
按照设计输入参数,注意一下规则: Desired memory :Maximum Memory (必须)不能低于1:64,强烈建议Minimum : Maximum 在1:64之间。例如如果设定2GB Minimum Memory,则Maximum不能大于128GB
如果设定Entitlement Memory,则Entitlement Memory不能大于Desired Memory
建议不要设定AME(Active Memory expansion factor),内存压缩对于大部分应用情况都会影响系统性能。
支持AMS的分区不能有物理IO设备。 作为示例,为分区添加一个虚拟以太网卡,一个虚拟scsi卡:
配置vscsi服务卡 新版HMC支持分区配置同步,可以通过Sync current configruation Capability参数设置。本系列最早介绍分区profile的时候说过,执行DLpar之后,分区存在一个”运行“状态,可能与HMC记录的profile状态不同,如果重启分区,那么分区会保持这个配置,而如果采用shutdown再激活分区profile的方式重启动,则分区配置会恢复为原profile的状态。为了避免这种情况发生,新HMC可以让分区运行状态随时将配置”同步“到profile保存,这需要将sync turned on来设置。缺省是off HMC关于sync其实有三个选项: Sync on,随时同步,保证profile永远和运行状态相同; Sync off,关闭同步,profile不会因DLpar改变; Sync suspended till next Activation/Apply,含义是不同步,与Sync off相同。但如果分区Shutdown之后,再次激活profile,则恢复成Sync on状态,也就是当前(临时)不同步,以后恢复为同步状态,便于用户临时测试资源调整。