使用VMControl实现服务器池Workload的管理和监控

运维 系统运维
VMControl 提供了一系列的 PowerVM 虚拟化环境的管理和监控功能,用户可以可以通过 Director 的图形界面(GUI)使用这些功能,但对一些习惯于命令行操作的高级 Power 系统管理员来说,使用命令行操作可以节约界面切换等待时间。本文将通过实例对一些常用的 VMControl 命令行进行介绍。

在VMControl 的最新版本中,提供了较为完善的 PowerVM 虚拟化环境的管理和监控方案,用户可以对每台 Power 服务器进行虚拟机(LPAR) 创建、捕获(Capture)、部署(Deploy)、迁移 (Relocation)等生命周期的管理;也可以把被管理的 Power 服务器组合成为服务器池(System Pool),作为一个整体进行管理,从而把部署在服务器池中的虚拟机组合成 Workload,进行 Workload 的生命周期管理、优化和监控。对服务器池和 Workload 的管理和监控,也就是 VMControl 的核心功能。

一般而言,服务器池中的 Workload 捕获(Capture)和部署(Deploy)可以帮助用户轻松实现一个和多个业务系统的安装和备份;而 Resilience(弹性)的设置可以实现 Workload 的 HA(High Availability,高可用性),当某台服务器发生一些故障时,能够自动对服务器上的 Workload 进行迁移,使得运行在 Workload 上的业务无中断的运行;在本文中我们将会以这些常用的管理任务为例探讨如何使用 VMControl 命令行,简化系统管理员日常工作。

下面首先对 VMControl 的命令行做简单的介绍。

VMControl 命令行一览

常用的 VMControl 命令行通常是在 vsm、availability、sccli 和 imagemgrcli 几个命令包(Bundle)下,可以通过 Director 的命令行 lsbundle 查询这几个命令包下的命令行列表。

  1. # smcli lsbundle | grep -i imagemgrcli   
  2. # smcli lsbundle | grep -i vsm   
  3. # smcli lsbundle | grep – I Availability  

  这几个命令包的输出,也即是 VMControl 命令行的全集,包含了将近 70 个相关的命令行。可见,VMControl 还是提供了相当丰富的命令行供管理员使用。

  根据命令行应用对象的不同,这些命令行可以分为五类:服务器池相关命令、Workload 相关命令、虚拟镜像相关命令、存储相关命令、虚拟机相关命令和服务器相关命令。下表给出了各分类的一些常用命令行,使用这些 VMControl 命令行,可以完成最基本的 Power 服务器的管理任务。

  表 1.VMControl 命令行的分类和部分命令行:

  对于这里黑体标注的命令行,将会在后面通过实例以帮助了解其用法。对于其它本文没有涉及的命令行,可以参考下面 VMControl 信息中心查阅它的用法和用途。(点击查阅)

  一般而言,通过命令行的作用对象和命名规则,我们也可以猜到大部分命令的用途,比如命令行带前缀 ch(change)表示改变,rm(remove)表示删除,ls(list)表示列出,add 表示添加,start 表示启动,有兴趣的读者也可以通过结合使用命令行 man < 命令 > ,或者 –help 查询获得命令行使用指南。

  下面我们将通过实例学习上表中这些常用的命令行,包括准备 VMControl 管理环境,对管理的 Power 服务器创建服务器池,部署和创建 Workload 到服务器池,配置 Workload 的属性自动实现 Workload 的动态迁移;并且,我们也会对 Workload 进行备份,对 Workload 的生命周期进行管理,并对资源使用情况进行监控。

#p#

  准备和搭建 VMControl 的管理环境

  尽管 VMControl 提供了基于 SCS(Storage Copy Service,存储复制服务)的管理环境对 Power 服务器进行虚拟化管理,但使用基于 NIM 的管理环境,目前还是系统管理员使用的管理方法,这里我们仍然使用基于 NIM 的 VMControl 管理环境为例,介绍常用的命令行。

  图 1 是这个环境的拓扑结构图,整套环境包含下面几部分:

  管理服务器

  在该管理服务器上我们将部署 IBM Systems Director 6.3,并且激活使用该软件包自带的 VMControl 2.4;

  存储管理软件

  环境中存在的存储管理软件,例如 TPC(Tivoli? Storage Productivity Center),或者在管理服务器安装使用 Director 的高级插件 Storage Control(存储管理器),可以完成对 Storage 的管理,本文使用 Storage Control 的方法。

  NIM Master 服务器

  需要在 NIM Master 服务器上安装 Director 代理程序以及 VMControl 的代理程序,从而 VMControl 可以使用其本地存储或者 SAN 存储作为虚拟镜像库(Image Repository),保存并提供用于网络部署虚拟机的虚拟镜像(Virtual Appliance,VA)。

  HMC 管理的 Power 服务器和共享存储

  具有共享存储的 Power 服务器,才能把这些服务器组合为服务器池,生成具有 HA(自动动态迁移)功能的 Workload(虚拟机)。

  基于 NIM 的 VMControl 管理环境拓扑图

  图 1. VMControl 管理环境拓扑图

  配置 VMControl 管理环境

  对于 Director 服务器安装,VMControl 激活和 Storage Control 安装,不是本文讨论的重点,可以参考下面 Director 信息中心的相关章节,这里不再详细论述。

  安装 Director 服务器:(查看详情

  激活 VMControl:(查看详情

  安装 Storage Control:(查看详情

  在安装好 Director 管理服务器和 NIM Master 之后,我们需要完成下面的步骤配置 VMControl 管理环境。

  第一步,发现 HMC 和所管理的 Power 服务器,将会使用到下面的命令行:

  1. smcli discover -i <HMC_IP_Address>   
  2. smcli accesssys -i <HMC_IP_Address> -u <HMC_Admin_ID> -p <Login_Password>   
  3. smcli collectinv -i <HMC_IP_Address> -p "All Inventory" 

  命令完成之后,HMC 和它管理的所有 Power 服务器将会加入到 VMControl 的管理环境中来。

  第二步,发现和配置存储管理环境,由于在本文环境中,我们使用安装在 Director 的高级插件 Storage Control 作为存储管理软件,我们需要执行以下命令配置这一存储管理环境。

  1. # /opt/ibm/director/StorageControl/bin/SCDiscoverUnlock.sh  

  这一命令执行之后,Director 服务器本身也将作为存储管理服务器,可以通过下面命令行输出看到,对应该服务器系统,除了已有的 OperatingSystem 和 Server 类型节点外,还增加了一个类型为 Farm 的节点,Director 服务器就将使用该节点对存储进行管理,例如:

  1. # smcli lssys -i 9.12.29.232 -T   
  2. hbx232.pdl.pok.ibm.com, Farm   
  3. hbx232.pdl.pok.ibm.com, OperatingSystem   
  4. IBM 840671Y 109CAEA 6, Server  

  有了存储管理器,还需要把存储设备加入到存储管理器,使用 mkdatasource 命令可以完成这一工作,下面例子是把 SVC 存储和 Switch Provider 加入到存储管理器中:

  1. # smcli mkdatasource -c svc -i 9.57.21.61 -f /opt/tmp1/pok-v7000 -v V7000   
  2. # smcli mkdatasource -c fabric -i 9.12.33.28 -t https -p 5989 -u administrator \   
  3.  -w vmc12svt -n /interop  

  注意 -c 后面可以跟不同的存储类型,如 svc,fabric,ds8k,xiv 等,具体用法请参考命令行帮助。

  第三步,发现 NIM Master 和所在的 Image Repository(镜像库)。这里仍然使用第一步中用到的命令,替换相应的 IP 地址和用户 / 密码信息。

  1. smcli discover -i <NIM_Master_IP_Address>   
  2. smcli accesssys -i < NIM_Master_IP_Address > -u < NIM_Master_Login_ID>\   
  3.   -p <Login_Password>   
  4. smcli collectinv -i <HMC_IP_Address> -p "All Inventory" 

  通常在收集库存之后,通过命令 lsrepos 可以看到 NIM Master 系统作为 Image repository 显示出来。

  1. # smcli lsrepos   
  2. pva0252.pdl.pok.ibm.com  

  第四步,对 HMC 管理的所有 Power 服务器和 Storage Control(存储管理器)收集库存信息,可以使用下面脚本批量运行。

  1. # for i in `smcli lssys -oT -t Server -A ServerType | grep -i HMCManagedServer \   
  2.  | awk '{print $3}' | awk -F: '{print $1}'`;   
  3.  do   
  4.  cmd="smcli collectinv -n $i -p \"All Inventory\"";   
  5.  echo $cmd;   
  6.  eval "$cmd";   
  7.  done   
  8.  
  9. # for i in `smcli lssys -t Farm -oT | awk '{print $3}'`;   
  10.  do   
  11.  cmd="smcli collectinv -n $i -p \"All Inventory\"";   
  12.  echo $cmd;   
  13.  eval "$cmd";   
  14.  done  

  最后一步,也就是验证工作,在上述各部成功之后,使用 dumpstcfg 命令可以列出 SAN 配置信息以及当前各个 Power 服务器可以使用的存储列表。

  1. # smcli dumpstcfg   
  2.  
  3. Host Accessible Containers   
  4. --------------------------   
  5. NAME: STORAGE SUBSYSTEM/POOL   
  6. pva0126_VIOS1:   Storwize V7000-2076-SVS061 - IBM Storwize   
  7. v7000-IBM/PROD_POOL_ONLY_FOR_VMControl_ISD_Image_Repository   
  8.  Storwize V7000-2076-SVS061 - IBM Storwize v7000-IBM/v7000_IBM_High_END_XIV_Gen3_Pool 

  特别注意 Host Accessible Containers 部分输出,如果该命令输出信息真实地反映出当前 Power 服务器的存储配置,意味着一切环境准备工作就绪,可以使用 VMControl 对 Power 服务器虚拟化环境进行管理了。

  从上面的配置准备可以看到,在 VMControl 的管理环境的配置工作中,除了使用到个别 VMControl 的命令行外,我们主要还是使用 Director 的基本命令行和 Storage Control 的命令行,这些常用命令行的掌握对于管理员来说也是非常必要的,这里我把这些命令行放在下表中,供您查询使用。

  表 2. 其他命令一览表

#p#

  使用命令行实现服务器池的 Workload 管理和监控

  前面我们提到,使用 VMControl,可以把多台(或一台)被管理的 Power 服务器组合为服务器池,作为一个整体进行管理。

  使用服务器池,在做虚拟机系统部署时,VMControl 将对服务器池中各台 Power 服务器的资源使用(例如,Processor、内存、存储等等)情况进行分析,把虚拟机部署到适合的服务器上。

  部署到服务器池的多台(或者一台)虚拟机可以组合成 Workload,可以对 Workload 整体进行监控和管理,比方:

  查看 Workload 及其虚拟机资源(CPU 和内存)的使用情况;

  对 Wokload 整体做生命周期的管理,比方说对 Workload 进行启动,重启,关机等,这些操作将会对 Workload 包含的虚拟机进行相应处理;

  启动 Workload 的 resilience(弹性)功能,在 Workload 所在的 Power 服务器发生硬件预测性故障时,自动把 Workload 动态(静态)迁移到服务器池中可用的 Power 服务器。

  对 Workload 进行通过捕获进行备份操作

  下面将会使用命令行实现这些常见操作。

  对管理的 Power 服务器创建服务器池

  如果要创建服务器池,首先要用命令 lsvrtsys 查看当前被管理的 Power 服务器和相应的 OID 信息,以供后面使用。

  1. # smcli lsvrtsys -oN "Hosts"  
  2. pfm0094-8205-E6B-SNHV16020, 0x16ed  
  3. pfm1200-8202-E4B-SN100235P, 0x16eb  
  4. pfm9125-8231-E2B-SNJN00002, 0x16ec  

  在虚拟化管理中,经常需要查看管理的 Power 服务器和虚拟机的属性信息,该命令提供了这样的功能。该命令行用法如下:

  1. smcli lsvrtsys  [-v] [-d symbol]   
  2.       [-o | -p] [-c {all | immediate}]   
  3.       [-A attribute_list [-s] | -l]   
  4.       {-f file_name | -w query | -i ip_address_list | -N group_list | [-n] system_list}  

  其中常用的参数为:

  1. -i | --ipaddress  list   
  2. 根据给定的 IP 地址显示管理服务器或虚拟机的信息,可用逗号连接多个 IP 地址  
  3. -l | --long   
  4. 显示出所有虚拟系统属性  
  5. -n | --names  list   
  6. 根据给定的系统名显示该服务器或虚拟机的信息,可用逗号连接多个系统  
  7. -N | --groups  list   
  8. 根据给定的组名显示管理服务器或虚拟机的信息,可用逗号连接多个组  
  9. -o | --oid   
  10. 显示管理服务器或虚拟机的信息的 OID(Object ID)信息和其他信息   

  改变不同的参数可以查询不同类型服务器或虚拟机的属性信息,例如使用 smcli lsvrtsys -oN "Virtual Servers"可以列出所有管理的虚拟机列表,并给出相应的 OID 信息。

  对上面列出的服务器列表,如果计划使用前两台服务器创建服务器池,我们要用到这两台服务器后台共享的 SAN 存储系统,通过 lscandidatestorage 命令查询可用的 SAN 存储属性。

  1. # smcli lscandidatestorage -i 0x16ed  
  2.  Storage Name:Storwize V7000-2076-SVS061 - IBM Storwize v7000 -   
  3.  IBM/v7000_IBM_High_END_XIV_Gen3_Pool   
  4.  Storage ID:9210  
  5.  Type: {0}storagecontainer  

  上面命令 -i 参数后需要跟所查的 Power 服务器 OID 值,从输出结果来看,两个服务器有共同的 SAN 存储 IBM Storwize v7000- IBM/v7000_IBM_High_END_XIV_Gen3_Pool, 记录 Stoage ID值(9210),我们将选用这个 SAN 存储作为服务器池的后台存储。

  然后,使用以下 mksyspool 命令,创建名字为 lyc_p7_srv 的服务器池,

  1. # smcli mksyspool -v -i 0x16eb,0x16ed -n lyc_p7_srv -O false -S 9210 -R   
  2. Tue Jan 10 01:23:12 CST 2012  mksyspool Operation started.   
  3. Checking licence.   
  4. Attempting to set server system pool name=lyc_p7_srv   
  5. Add host to list on which operation will perform:5867   
  6. Add host to list on which operation will perform:5869   
  7. Storage ID   
  8. Attempt to check for compatible storage containers.   
  9. Storage Name : Storwize V7000-2076-SVS061 -   
  10.   IBM Storwize v7000-IBM/00000200A04017F4:1+00000200A04017F4+0   
  11. Storage ID : 9210   
  12. Attempt to create a server system pool with storage 9210.   
  13. Attempt to create a server system pool with initial host 5867 (0x16eb)   
  14. Attempting to add host 5869 (0x16ed).   
  15. System pool created successfully.   
  16. Tue Jan 10 01:23:35 CST 2012  mksyspool Operation took 23 seconds.  

  注意上面的 mksyspool命令行其用法如下:

  1. smcli mksyspool [-v] -n syspool_name -i hostId[,...]   
  2.                  [-D description] -S storageId [-R]   
  3.                  [-N networkSystemPoolId]   
  4.                  [-O {true|false}] [-I minutes]   
  5.                  [-F fileSystemPath]  

  其中常用的参数:

  1. -v | --verbose   
  2. 在标准输出打印详细信息  
  3. -n | --name  syspool_name   
  4. 指定服务器池的名字  
  5. -i | --hostid  hostOID[,...]   
  6. 服务器池的服务器 OID 列表  
  7. -D | --description  description   
  8. 对该服务器池的描述 .   
  9. -I | --OptimizationInterval [minutesBetweenOptimizations]   
  10. 优化时间间隔,即每隔多长时间对服务器池进行一次优化,缺省 120 分钟  
  11. -S | --storageid  storage_id   
  12. 服务器池所用存储的 OID   
  13. -R | --LiveVirtualServerRelocation   
  14. 表示是否服务器池中的虚拟机进行自动动态迁移 .   
  15. -O | --AutoOptimization {true | false }   
  16. 指定服务器池是否进行动自动优化 

  在服务器池创建成功后,通过 lssyspool 和 svsrelationships 可以查看该服务器池的属性,具体服务器和存储信息。

  1. # smcli lssyspool   
  2.  Show server system pool list. 1 Server system pool(s) found.   
  3.  --------------------------------   
  4.  Server system pool ID:16483 (0x4063)   
  5.  Server system pool Name:lyc_p7_srv   
  6.  Server system pool Description:Server System Pool   
  7.  Server system pool Type:PowerHMC   
  8.  Server system pool Status:Healthy   
  9.  State:Active   
  10.  Resilience:Capable   
  11.  FileSystemPath:No Storage File System Path   
  12.  Server system pool properties   
  13.  AutoOptimization:0   
  14.  Description:Server System Pool   
  15.  DisplayName:lyc_p7_srv   
  16.  LEMEnsembleId:364DB493589145A2900AA3FD5024F68D   
  17.  Name:lyc_p7_srv   
  18.  OperatingState:20   
  19.  OptimizationInterval:120   
  20.  Platform:3   
  21.  --------------------------------   
  22.  
  23.  # smcli svsrelationships -src lyc_p7_srv   
  24.  
  25.  SystemPool lyc_p7_srv (7874A7B4D72C3957803A53860C5DFFD1):   
  26.         federates:   
  27.                 Server pfm0094-8205-E6B-SNHV16020 (E7CF62BD2A8C3361B77441FF29CAF830)   
  28.                 Server pfm1200-8202-E4B-SN100235P (C578F9F4CDCE3B78B872EF948FBD4C59)   
  29.         reliesOn:   
  30.                 StoragePool v7000_IBM_High_END_XIV_Gen3_Pool   
  31.                  (09BFA684B61532E084076ABED95CCFC8)   
  32.  
  33.  Command completed successfully.  

  确认服务器池创建成功后,需要我们在服务器池中部署和创建 Workload,一般来说我们可以通过向服务器池全新部署虚拟机并为该虚拟机创建相应的 Workload,也可以把原先存在于 Power 服务器上的虚拟机加入到 Workload 中来。

  在服务器池中部署和创建 Workload

  使用 VMControl 可以基于 NIM Mater 上的虚拟镜像(Virtual Appliance)全新部署和创建 Workload,下面列出这一具体步骤:

  第一步,查询计划使用的虚拟镜像的 OID 信息。例如,我们知道在 NIM Mater 上有一个名字为 aix61_va 虚拟镜像,通过下面命令可以得到它的 OID 值。

  1. # smcli lsva -q "name = aix61_va" – l |grep – i OID   
  2. OID:19856 

  注意,也可以通过执行 smcli lsva– l 列出当前 NIM Mater 上所有虚拟镜像的详细属性,选取想要用来部署虚拟机的虚拟镜像,并查看它的 OID 值信息。

  第二步,查询服务器池 OID 信息:

  1. # smcli svsresources -n lyc_p7_srv | grep -i oid   
  2.  Property:  Name: OID                   Type: long             Value: 16483 

  第三步,查询使用该虚拟镜像部署到服务器池时可以定制的虚拟化参数信息。如虚拟化网络和以及分配的 Deployment Plan ID 信息:

  1. # smcli lscustomization -a deploy_new -V 19856  -g  16483  -H  false  

  这里 -V 之后是虚拟镜像的 OID 值,-g之后是服务器池的 OID,-H 指定是否该虚拟机是否支持 HA 功能。

  下面是该命令行的部分输出,这两个参数段是部署虚拟机到服务器池时,必须由用户指定的虚拟化参数段。

  1. virtualnetworks   
  2.         Changeable Columns:   
  3.                 Column Name*    CLI Attribute   
  4.                 Virtual Networks on Host        hostVnet   
  5.  
  6.         Options:   
  7.         Key,    Network Name,   Description,    Virtual Networks on Host*   
  8.         [Discovered-320-0]      Discovered-320-0         
  9.          Captured from virtual server IBM 8205E6B HV16020 3 connected to Discovered-320-0   
  10.          on host pfm0094-8205-E6B-SNHV16020     Discovered-320-0   
  11.  
  12.         Options:         Discovered-318-0 (Discovered-318-0 (VLAN 318, Bridged)),   
  13.                         ETHERNET0/318 (Discovered-318-0 (VLAN 318, Bridged)),   
  14.                         Discovered-320-0 (Discovered-320-0 (VLAN 320, Bridged)),   
  15.                         ETHERNET0/320 (Discovered-320-0 (VLAN 320, Bridged)),   
  16.                           
  17.  deploymentplanid   
  18.         Value:  -300808976303084917_00   
  19.         Description:    null  

  virtualnetworks段,其中 [Discovered-320-0] 表示这个虚拟镜像的 OVF 文件中虚拟网络标识,不同的虚拟镜像,虚拟网络标识不同,在这里可选的虚拟网络选项取决于 Power 服务器池本身的虚拟网络,这里有 ETHERNET0/318,ETHERNET0/320,即 VLAN ID 318 和 VLAN ID 320 的两个虚拟网络供用户选取。.

  Deploymentplanid 段,VMControl 为该次虚拟机部署分配的 Deployment Plan ID,这个 ID 是实时分配的,在接下来的一段时间内有效,只适用于接下来立即发生的部署,并且当 Director 服务器重启时该 ID 值失效,不可再用。需要在部署发生前重新通过上述命令获取。

  第四步,部署虚拟机到服务器池,并创建名字为 ip10-32-136-126的 Workload。

  1. # smcli deployva –v -g 16483 -V 19856 -m -300808976303084917_00 -a deploy_new -A \   
  2.  virtualnetworks[Discovered-320-0]=hostVnet:ETHERNET0/320, \   
  3.  product.vs0.com.ibm.ovf.vmcontrol.system.networking.hostname=ip10-32-136-126, \   
  4.  product.vs0.com.ibm.ovf.vmcontrol.adapter.networking.ipv4addresses.5=10.32.136.126,\   
  5.  product.vs0.com.ibm.ovf.vmcontrol.adapter.networking.ipv4netmasks.5=255.255.255.0,\   
  6.  product.vs0.com.ibm.ovf.vmcontrol.system.networking.ipv4defaultgateway=10.32.136.1,\   
  7.  product.vs0.com.ibm.ovf.vmcontrol.system.networking.dnsIPaddresses=10.20.0.2,\   
  8.  product.vs0.com.ibm.ovf.vmcontrol.system.networking.domainname=pokprv.stglabs.ibm.com \   
  9.  -n ip10-32-136-126  

  在上面命令中 -m 参数之后的数值就是在第三步中得到的 Deployment Plan ID 值,在 -A 参数里我们指定了虚拟网络为 ETHERNET0/320和虚拟机系统相应的网络配置,这些网络信息将会在部署完成后自动应用到虚拟机系统中,同时,VMControl 为该虚拟机自动创建了 Workload,并使用 -n 参数指定的 Workload 名。

  启动 Workload 的 resilience 功能,保证 Workload 无间断运行;

  部署成功的虚拟机包含在 Workload 中,对 Workload 的管理自动应用在包含的虚拟机上。

  通过下面的命令对 Workload 的 HA 属性进行修改,当它所在的 Power 服务器发生预测性硬件故障时,虚拟机将会自动迁移到服务器池中其他可用的服务器上,从而可以保证整个 Workload 的无间断运行。

  首先,通过查询 Workload 的 OID 值:

  1. #  smcli lsworkloads |grep -i ip10-32-136-126   
  2.  ip10-32-136-126, 29020 (0x715c)  

  使用下面命令设置 Workload 的 HA 属性值。

  1. #  smcli chworkload -v -W 29020 -n ip10-32-136-126 -H true -P Automate   
  2.  Thu Feb 23 00:50:37 CST 2012  chworkload Operation started.   
  3.  Attempt to change workload 29020 .   
  4.  Thu Feb 23 00:50:38 CST 2012  chworkload Operation took 0 seconds.  

  注意这里的 -P 参数,它后面可用的参数值是 Automate 和 Advise,分别指定了在发现预测性硬件故障时是自动迁移虚拟机,还是需要管理员批准后进行迁移。

  配置命令完成之后,我们可以使用 lsworkloads –l 查看该 Workload 的属性值是否生效。

  1. # smcli lsworkloads -l   
  2.  ip10-32-136-126   
  3.         Notifiable:true   
  4.         ClassName:com.ibm.usmi.datamodel.system.WorkloadInstance   
  5.         AccessState:Unlocked   
  6.         Description:   
  7.         ChangedDate:2012-02-23T00:50:37-06:00   
  8.         DisplayName:ip10-32-136-126   
  9.         CreatedDate:2012-02-22T22:28:39-06:00   
  10.         Priority:2   
  11.         HARemoteRestart:false   
  12.         CreatedBy:root   
  13.         CreationMechanism:DeployNew   
  14.         IsDeleteable:false   
  15.         OperatingState:8   
  16.         OID:29020   
  17.         Guid:2F6590A10CF432F8B867FFA50101EF9B   
  18.         SystemId:382df917-7c44-4b8d-bd1e-429fe3f2a828   
  19.         DetailedState:0   
  20.         ObjectType:WorkloadInstance   
  21.         HARelocation:false   
  22.         ApprovalRequired:No   
  23.         Resilience:Active  

  在本例中,我们选取自动迁移,使用了参数值 Automate。当服务器在出现硬件预测性故障时,服务器池中的 Workload 自动迁移到服务器池中其它合适的服务器上。如果我们使用 Advise,当故障出现时,将会有事件日志产生,提醒你有一个 Resilience 的计划任务需要你的批准,对该计划批准后才会开始迁移。

  服务器池中的 Workload 的备份

  在 VMControl 环境中,对 Workload 进行备份,需要对包含的虚拟机操作系统进行发现和库存收集,然后再用命令行进行捕获。下面是备份操作使用的命令行。

  第一步,查询当前可以被捕获的 Workload 列表。

  1. # smcli  lscapsrv -o -T workload   
  2.  ip10-32-136-126, 29020 (0x715c) 

  第二步,查询 NIM Master 上镜像库的 OID 信息:

  1. # smcli lsrepos -l   
  2.  pva0252.pdl.pok.ibm.com   
  3.         Notifiable:true   
  4.         ClassName:com.ibm.usmi.datamodel.software.ImageRepository   
  5.         UniqueId:119a7b8b-9974-4bf3-a2f7-782791c798e4   
  6.         ImageRepositoryType:1   
  7.         ChangedDate:2012-01-10T01:03:38-06:00   
  8.         SourceTokens:{ 'NO_IR_DELETE' }   
  9.         DisplayName:pva0252.pdl.pok.ibm.com   
  10.         CreatedDate:2012-01-10T01:03:38-06:00   
  11.         ImagingTool:DISCOVERY_NIM_REPOSITORY   
  12.         OID:15317   
  13.         Guid:2F7CCD54EFAB3E63A511F6506AF390A1   
  14.         ObjectType:ImageRepository  

  第三步,使用命令 captureva 对 Workload 进行备份,其中 -r 参数指定镜像库的 OID 值,-s 指定计划备份的 Workload 的 OID 值。

  1. #smcli captureva -n capture-ip10-32-136-126 -r 15317 -s 0x715c  

  第四步,对 Workload 进行备份完成后,使用 lsva 可以查看是否产生新的虚拟镜像,并成功备份到 Image Repository 中。

  1. # smcli lsva   
  2. aix_cpu_01_mem_05   
  3. capture-ip10-32-136-126 

  使用命令行对服务器池中的 Workload 的资源分配和使用情况进行监控

  使用 VMC 的命令行,可以对 System Pool 中的 Power 服务器和 Workload 的资源分配和使用情况进行基本的监控。如下命令行所示,我们可以查看当前服务器池中的两台 Power 服务器上的可用的系统 Processor 和内存情况。

  1. # smcli lsvrtsys -A "Available System Physical Processors","Available Memory (MB)"  
  2.    -d " " -N "Hosts"  
  3.  pfm0094-8205-E6B-SNHV16020: 12 37632   
  4.  pfm1200-8202-E4B-SN100235P: 6 41984  

  同样,通过下面两条命令行可以查看 Workload 成员及各成员的 Processor Unit 和使用分配内存的情况。

  1. # smcli svsrelationships --src ip10-32-136-126   
  2.  WorkloadInstance ip10-32-136-126 (107B41EF7A333A09A7617AE1DC577023):   
  3.         employs:   
  4.                 Server ip10-32-136-126(8E6D0D38E26E36DE880B123A0812C500)   
  5.  Command completed successfully.  

  由上面输出可见,employ 下面就是该 Workload 包含的虚拟机列表,如果该 Workload 包含多台虚拟机,将会一一列出。

  结合上面命令输出得到的虚拟机列表,我们可以得到每个虚拟机的资源使用信息,使用命令如下:

  1. # smcli lsvrtsys -A "Assigned Processing Units","Assigned Memory Size (MB)"  
  2.      -n ip10-32-136-126  
  3.  ip10-32-136-126: 0.1, 512  

  这里需要说明的是,尽管我们可以用上述命令查看服务器池中各服务器和 Workload 中各虚拟机的资源分配和使用情况,但 VMControl 目前还没有命令行去从整体的角度去查询 CPU 利用率的实时使用情况,这部分功能暂时可以通过 GUI 进行查询。可以右键点击服务器池,从右键菜单中选取 System Status and Heath 的子菜单 View Dashboard 进行查看,这里不再详细介绍。

  总结

  本文通过实例介绍了如何在命令行的方式下,使用 VMControl 完成对 Power 服务器池和其中 Workload 的部署、管理、监控、备份,对 Power 管理员来说,熟练掌握这些常用命令行,使用 VMControl 的常用功能,如果能够再结合使用图形界面的管理,必将使 Power 服务器的日常管理工作变得得心应手。

责任编辑:黄丹 来源: developerWorks
相关推荐

2012-02-16 11:32:18

ibmdw

2012-02-24 15:28:33

ibmdw

2017-05-28 10:03:23

服务器监控机架式

2011-03-25 15:24:40

Nagios监控

2024-08-14 17:02:22

Docker容器

2010-03-24 14:38:39

APC

2010-02-03 10:24:48

监控宝监控Linux

2014-12-24 10:00:07

Spring

2011-04-06 15:05:56

nagios监控Linux

2011-03-23 15:13:08

Nagios监控oracle

2011-04-06 14:24:28

nagios监控Linux

2009-03-04 06:04:00

IPMI服务器远程管理

2020-04-19 17:14:17

服务器监控数据中心

2011-03-21 11:21:04

LinuxNagios

2010-07-27 13:53:23

NFS服务器

2010-08-26 22:07:38

DHCP服务器

2012-05-22 15:19:55

Rex服务器管理

2012-08-09 16:37:45

服务器管理Rex

2011-04-06 15:05:58

nagios监控Linux

2014-01-02 15:16:42

PythonLinux服务器服务器监控
点赞
收藏

51CTO技术栈公众号