VMControl 作为 IBM Systems Director 的一个高级管理器,提供了一系列的管理功能帮助 Power 管理员快速捕获部署虚拟机系统,进行虚拟化环境的管理。而现代的数据中心,出于安全性,网路负载等多重因素的考虑,一般会存在有多个网络,常见的像管理网 络和生产网络。管理网络单独使用一个网段,仅用于系统管理员的维护管理工作,从而保证管理网络中不会有较多的网络负载占用带宽而影响到日常的管理;而生产 网络往往是私有网络,也就是系统生产运行的网络,一般和外部网络,管理网络不可互通,以免受到外面的安全威胁;在这种管理网络和私有网络的隔离配置的网络 环境中,如何按照管理员的要求实现 PowerVM 的管理,VMControl 2.4 提供了多网络的支持,为这一问题提供了全面的解决方案。
在多网络环境中使用 VMControl,需要管理员进行一些额外的配置,了解和掌握这些配置,才能很好地管理虚拟化环境,实现多网络的 Power 服务器捕获和系统部署。本文将会阐释多网络支持的原理,并通过实例介绍一些具体的配置。
" src="/CuteSoft_Client/CuteEditor/Images/anchor.gif">VMControl 2.4 对多网络的支持原理说明
在下图中,我们给出了一个数据中心的多网络的虚拟化管理环境的实例,来解释 VMControl 对多网络的支持功能。
VMControl 对多网络环境支持拓扑图
如图 1 所示,该数据中心有 3 条通讯网络,这里用 3 中不同颜色的粗实线表示。其中,
黑线标注的是管理网络,IP 地址是以 9.12.x.x 的公网 IP,管理员可以通过该网络对环境中的 Director、HMC、NIM 服务器、Power 服务器进行直接访问管理;
绿线所示的是生产网络,也就是私有网络,IP 地址是以 10.32.136.x 的私网 IP,生产所用的虚拟机系统都在该网络,这些虚拟机无法和管理网络互通,无法连接到外部网络;
蓝色所示的是另外一个私有网络,IP 地址是以 10.32.38.x 的私网 IP,一部分生产所用的虚拟机系统都在该网络,这些虚拟机之间可以互相通讯,但无法和管理网络互通,无法连接到外部网络。
图 1. VMControl 多网络环境实例图
同时,在这个数据中心环境中,Director 系统、HMC 系统、NIM Master 系统都配置了公网和私网 IP 地址,Power 服务器的 VIOS 系统仅配置了管理网络 IP 地址。
管理员使用 VMControl 的多网络支持功能,可以规划管理网络,生产网络中的不同网络通讯,包括:
- 指定 Director 服务器使用哪个网络进行管理;
- 指定 NIM Master 使用哪个网络和平台管理器 HMC 进行通讯;
- 指定 NIM Master 使用哪个网络进行部署虚拟机系统;
- 指定 NIM Master 使用哪个网络对虚拟机系统进行捕获备份;
从而通过这一规划,可以实现 Director 管理相关的通讯在一个网络,而 VMControl 基于 NIM 的捕获和部署在另外一个网络,实现管理网络和生产网络(部署和捕获网络)的隔离,保证日常虚拟机管理工作的安全有序地进行。
在上图中,管理员使用 VMControl,使得 NIM 捕获和部署的通讯走 10.32.136.x 私有网络,这样当捕获和部署发生时,管理网络 9.12.x.x 网络不受任何影响,可专门用于系统管理的通讯。
VMControl 2.4 对多网络的支持说明
VMControl 2.4 通过更改 Director Server 和 NIM Master 上的配置文件,来提供多网络环境中网络通讯的规划支持。除此之外,还需要对 NIM Master 做一些额外的配置,创建附加的 NIM 网络定义和网络对象之间的静态路由。
同时,VMControl 2.4 支持部署和捕获具有多个网络的虚拟机系统。例如,在上面的例子中,有些生产所用的虚拟机系统除了使用 10.32.136.x 私有网络外,可能还需要额外的私有网段 10.32.38.x 地址。
针对这种具有多网络的虚拟机系统,尽管 VMControl 允许用户为每一个网络适配器指定网关,但它并不能为虚拟机系统自动配置所有的路由。在目标虚拟机系统,只有主适配器上的网关被用于创建默认的路由,其它适 配器配置的网关信息并不会被用于创建对应于这个适配器上额外的路由。这个额外的路由,需要在部署完成后手动(或者使用脚本)进行添加。
实例介绍如何配置使用 VMControl 多网络支持功能
数据中心多网络管理配置的需求:管理网络,捕获网络和部署网络的分离
下面开始介绍如何使用 VMControl 完成数据中心的管理需求,首先来看一下该数据中心要实现怎样的网络通讯的规划。
在该环境中,管理员希望通过 Director 服务器的 9.12.x.x 公网 IP 地址对 HMC、NIM Master 和 Power 服务器(VIOS,FSP)进行管理;而 NIM 服务器通过 10.32.136.x 私有网段进行网络部署和捕获,并通过该网络与平台管理器 HMC 进行通讯,虚拟机系统使用该私有网络进行网络通讯,另外,有两个虚拟机系统同时需要配置额外的私有网络 10.32.38.x。
使用 VMControl 多网络支持需要完成的配置任务
在基于 NIM 的 VMControl 管理环境中使用多网络的支持,来实施管理员对网络规划的要求 - 管理网络,捕获网络和部署网络的分离,我们需要完成以下的配置任务。
- 修改 Director 服务器的配置文件指定管理网络。
- 准备 NIM Master 系统为多个网络分别创建 NIM 网络对象,并且配置网络对象之间的路由。
- 修改 NIM Master 端的配置文件指定部署网络和捕获网络。
下面我们会实例介绍每个任务的具体步骤。完成这三个任务后,我们就可以使用 VMControl 管理界面部署和捕获虚拟机系统。
修改 Director 服务器端的配置文件指定管理网络
通过配置 Director 服务器的配置文件,可以定制服务器通过指定网络地址和管理节点进行通讯,具体配置方法如下。
在 Director 系统安装目录(缺省为 /opt/ibm/director) 的 data 文件夹下,新建一个位置文件并命名为 IPPreference.properties ,使用文本编辑添加如下的配置项,指定 Director 服务器管理网络。在本例中,我们使用服务器的公网 IP 地址 9.12.29.232 作为首选管理地址与管理节点进行通讯。
com.ibm.director.server.preferred.ip=9.12.29.232 |
保存文件退出后,需要重启 Director Server 使得服务器读入该配置,使得该配置生效。之后,Director 服务器将会开始使用公网 IP 地址 9.12.29.232 和它管理的 HMC、NIM Master 系统、Power 服务器 (VIOS) 等进行通讯。
在 NIM Master 端创建和配置 NIM 网络对象和路由
由于该 NIM Master 端具有 2 个网络 IP 地址,公网 9.12.33.51 和私网 10.32.136.51。缺省安装 NIM Master 时,会自动为公网创建网络对象,如果想要使用 10.32.136.51 私网进行捕获和部署虚拟机系统,需要在 NIM 系统中为该私有网络定义并创建网络对象。具体步骤如下:
第一步,为私有网络定义网络对象 secondary_net
nim -o define -t ent -a net_addr=10.32.136.0 -a snm=255.255.255.0 secondary_net |
第二步,把该网络对象 secondary_net 加入到 NIM Master 资源中。
nim -o change -a if2='secondary_net 10.32.136.51 0' -a cable_type2=N/A master |
这里需要注意的是,这里我们使用 10.32.136.x 作为要部署的虚拟机主 IP 地址,因为该地址和 NIM Master 系统的第二个网络在同一个网段,到这里我们的准备配置结束。
如果要部署的虚拟机系统不使用和 NIM Master 的第二个网络同网段的 IP 地址,我们就需要做一下额外的配置。例如,虚拟机如果要使用 10.32.38.x 网段作为主 IP 地址,就需要接着完成下面两步。
第三步,(根据环境可选)我们需要再创建部署网络 deploy_net 。
nim -o define -t ent -a net_addr=10.32.38.0 -a snm=255.255.255.0 deploy_net |
第四步,(根据环境可选)为 secondary_net 和 deploy_ne t 网络之间创建静态路由。
对 secondary_net 创建到 deploy_ne t 的路由可以通过下面命令。
nim -o change -a routing1="deploy_net 10.32.136.1 10.32.38.1" secondary_net |
这个命令行的使用方法如下 :
nim -o change -a routing<NUM>="<Des_Network> <SRC_Network_GW> <Des_Network_GW>" \ SRC_Network |
表示创建从源网络 SRC_Network 到目的网络 Des_Network 的路由,其中 SRC_Network_GW 表示源网络的网关,Des_Network_GW 表示目的网络的网关。
使用相似的命令,可以为 deploy_net
创建到 secondary_net 的路由。
nim -o change -a routing1="secondary_net 10.32.38.1 10.32.136.1" deploy_net |
到此为止,对 NIM Master 的准备配置结束,下面我们需要修改 VMControl 的配置文件完成多网络系统中网络通讯的规划。
修改 NIM Master 端的 VMControl 配置文件指定部署网络和捕获网络
对于多网络的数据中心,基于 NIM 端的 VMControl 管理环境中,NIM 系统的网络通讯主要考虑到两种通讯:一是 NIM 和平台管理器(如 HMC, IVM)的通讯,另外一个是 NIM 与部署、捕获的虚拟机系统的交互通讯。通过 VMControl 的多网络支持功能,可以定制规划这两种通讯使用的网络;这一功能的实现依赖配置文件 VMControl-NIM.properties ,需要用户在 NIM Master 系统中特定目录下创建该文件,并修改相应的配置项。
按照数据中心的需求,我们定制通讯网络如下:NIM 使用 10.32.136.x 私有网络与平台管理软件 HMC 的交互通讯;NIM 使用 10.32.136.x 私有网络部署和捕获虚拟机系统。
定制修改 NIM 使用 10.32.136.x 私有网络与平台管理软件 HMC 的交互通讯
登陆安装了 VMControl 代理程序的 NIM Master 系统,进入代理程序安装目录下的配置文件夹 overrides (缺省情况下为 /opt/ibm/director /agent/conf/overrides ),创建配置文件 VMControl-NIM.properties ,并添加该配置行。
com.ibm.director.im.rf.nim.master.pm.connections=10.32.136.* |
定制修改 NIM 使用 10.32.136.x 私有网络部署和捕获虚拟机系统
同样,在该配置文件中添加以下配置行,使用私有网络部署和捕获虚拟机系统。
com.ibm.director.im.rf.nim.master.client.capture.connections=10.32.136.* com.ibm.director.im.rf.nim.master.client.deploy.connections=10.32.136.* |
文件保存后,通过下面命令行重启 NIM master 的代理程序,使该配置生效。
/opt/ibm/director/agent/runtime/agent/bin/endpoint.sh restart |
通过上述配置,在部署 / 捕获的过程中,NIM Master 和 NIM Client(虚拟机)间的大量交互通讯使用该专门网络,避免占用管理网络或其它重要网络的带宽资源而影响到一些需要快速响应的维护管理工作。
对配置文件参数项的一些解释
通过上面的配置,我们看到通过修改位于 Director server 端和 NIM Master 端的两个配置文件,可以指定 Director 的通讯网络,指定 NIM Master 和 HMC(IVM)等平台管理器的通讯网络,指定 NIM Master 捕获和部署网络。
如何使用 Director Server 端 IPPreference.properties 配置文件
在上面的例子中,我们修改了 /opt/ibm/director/data/IPPreference.properties 配置文件,为 Director Server 定制了首选 IP。
com.ibm.director.server.preferred.ip=9.12.29.232 |
实际上,除了可以指定 Director Server 使用哪个 IP 地址和管理节点通讯之外,在这个配置文件里,我们也可以定制 Director Server 不和多网络管理节点的某网络进行通讯。这时,需要用到下面一个配置项。
com.ibm.director.endpoint.excluded.ip.prefix =10.32.33. * |
使用上面的通配符,我们使得,当 Director Server 和多网络管理节点通讯时,自动避免和 10.32.33.x 网络 IP 地址进行通讯。
当然,也可以指定地址范围或者个别的 IP 支持,如下面第一个配置,Director Server 自动避免和 10.32.33.63 到 10.32.33.65 的三个 IP 地址通讯;而第二个配置中,Director Server 自动避免和 10.32.33.63 和 10.32.33.65 这两个 IP 地址通讯。
com.ibm.director.endpoint.excluded.ip.prefix =10.32.33.63-10.32.33.65 com.ibm.director.endpoint.excluded.ip.prefix =10.32.33.63,10.32.33.65 |
所以,使用这个配置文件的两个配置项,可以灵活配置 Director Server 和管理节点之间的网络通讯。
如何使用 NIM Master 端 VMControl-NIM.properties 配置文件
对于配置文件 /opt/ibm/director/agent/conf/overrides/VMControl-NIM.properties ,我们使用了以下 3 个配置项。
com.ibm.director.im.rf.nim.master.pm.connections=10.32.136.* com.ibm.director.im.rf.nim.master.client.capture.connections=10.32.136.* com.ibm.director.im.rf.nim.master.client.deploy.connections=10.32.136.* |
同样对于这三个配置项,实际上我们还有一些其他的用法。如 pm. connections 项,其标准用法为
com.ibm.director.im.rf.nim.master. pm. connections= addr1 [// addr2 ] |
其中,addr1 是必填项,静态的 NIM Master 的 IP 地址;addr2 是与 NIM Master 进行通讯平台管理器(HMC、IVM)的 IP 地址;如果有 addr2 ,必须用双斜杠 ”//” 进行分隔。如:
com.ibm.director.im.rf.nim.master. pm. connections= addr1 [// addr2 ] |
常见的使用实例如下:
com.ibm.director.im.rf.nim.master.pm.connections=10.10.10.210 com.ibm.director.im.rf.nim.master.pm.connections=10.10.10.* com.ibm.director.im.rf.nim.master.pm.connections=10.10.10.0-10.10.10.255 com.ibm.director.im.rf.nim.master.pm.connections=10.10.10.0/24 com.ibm.director.im.rf.nim.master.pm.connections=10.10.10.210//10.10.10.220 |
对于 capture.connection 和 deploy.connections ,我们还可以使用指定具体的 IP 地址如下:
com.ibm.director.im.rf.nim.master.client.capture.connections=11.11.11.211 com.ibm.director.im.rf.nim.master.client.deploy.connections=12.12.12.212 |
使用 VMControl 界面部署和捕获虚拟机系统
在上述配置完成之后,我们接下来从 VMControl 图形界面完成多网络虚拟机的部署和捕获。
使用 VMControl 部署多网络虚拟机系统
对于多网络虚机的部署,我们需要有一个多网络的虚拟机系统,在本例中,我们想要在虚拟机系统使用 10.32.136.x 私有网络和 10.32.38.x 网络。
启动部署向导部署虚拟镜像时,我们需要为该虚拟机提供相应的信息,这里和单网络虚拟机的配置不同主要体现在以下两个页面。
Networking Mapping( 网络映射)页面:需要分别为两个虚拟网卡选择对应的 VLAN 网络,
如下图 2,由于该虚拟机 10.32.136.x 网络所在的 VLAN ID 是 320,10.32.38.x 网络对应的 VLAN ID 是 1011,我们在该页面为两个网卡选取相应的 VLAN 网络。
图 2. VMControl 部署多网络虚机网络映射页面示例
Product 产品页面:这里需要添加第二块网卡的配置信息,包括 IP 地址和子网掩码信息。见下图:
图 3. VMControl 部署多网络虚机产品页面示例
需要注意的是,对于多网络虚机部署 NIM Master 本身的一些限制,只有主网卡的默认网关会被运用到所有网卡上,第二块网卡的路由信息没有正确配置,需要我们在部署完成后登陆虚拟机系统手工配置修改。命令行为
chdev -l inet0 -a route=net,-hopcount,0,-netmask,<NETMASK><NETWORK_ADDR>,\ <GATEWAY> -P |
例如,本例中,我们输入下面的命令添加相应的路由信息:
bash-3.2# chdev -l inet0 \ -a route=net,-hopcount,0,-netmask,255.255.255.0,,,,,10.32.38.63,10.32.38.1 -P inet0 changed |
除了上面的路由配置命令外,有时候我们可能会用到下面两条命令行,下面列出以供参考
查看路由信息: lsattr -El inet0
删除错误路由信息:chdev – l inet0 – a delroute=< 错误路由 >
到此为止,我们使用 VMControl 完成多网络虚拟机系统的部署,下面接着介绍多网络虚拟机的捕获。
使用 VMControl 捕获多网络虚拟机系统
多网络的虚拟机捕获比较简单,过程和单网络虚拟机类似。但捕获的时候需要注意 Netwoking Mapping 网络映射页面 VMControl 可以正确获取所有虚拟网卡的信息。
图 4. 捕获多网络虚拟机网络映射页示例
可以看到,VMControl 发现了该虚拟机的两个网络,VLAN 320 和 VLAN 1011 所在的网络,根据该虚拟机捕获创建的虚拟镜像可以用于以后部署多网络虚拟机系统。
总结
本文通过实例介绍了如何使用 VMControl 的多网络支持功能,在基于 NIM 的 Power 虚拟化环境中,通过修改相应的配置文件,定制不同的通讯网络,实现管理网络,部署和捕获网络的隔离通讯,优化虚拟化管理工作。对于数据中心管理员而言,随 着多网络的普及使用,掌握这种方法,无疑会对日常维护管理工作带来较大的便利。