未来数据中心是虚拟化的世界,是云计算的世界。随着技术的不断发展,软件与硬件的耦合性越来越低,云计算支撑着整个数据中心,虚拟化是云计算的基石,通过虚拟化技术把硬件资源最大化利用。如何利用好现有的强大的Power服务器产品,利用其虚拟化技术,最大化地利用相关的硬件资源?本文通过详细地六大步骤规划,讲述了IBM Power服务器环境下的PowerVM的配置实践心得。对于想要想要往云计算平台迁移的企业来说,提供了非常好的借鉴和指导。
(1) PowerVM的整体架构
PowerVM是IBM Power服务器虚拟化多项技术的全称,它包括了VIO Server、微分区技术、DLPAR技术、IVM、Share Storage Pool、Active Memory Sharing、Active Memory Deduplication等技术。
(2) PowerVM版本的选择
PowerVM有三个版本可以进行选择,分别为Express Edition、Standard Edition、Enterprise Edition。这三个版本的区别在于支持的功能不相同,具体如下:
上图中有几个信息点需要注意,在版本选择时请提前进行评估:
Express Edition版本的VIO Server只支持单VIOServer,即不支持双VIO Server的冗余;
Express Edition版本的VIO Server只支持3个VIO Client;
Express Edition版本的VIO Server不支持HMC管理,要用IVM管理;
Express Edition版本的VIO Server不支持SSP;
Standard Edition版本的PowerVM不支持LPM分区在线迁移。
(1) VIO的适用场景
VIO是PowerVM技术中最重要的一个部分,顾名思义,VIO(Virtual I/O)就是虚拟I/O设备,那么什么是I/O设备呢?在VIO中虚拟I/O设备中最重要的就是网卡和光纤卡。因此VIO技术非常适用于网卡和光纤卡数量有限的服务器。在使用VIO技术之后,每台服务器可以安装的操作系统的数量会明显增长。
那么VIO技术是否用于生产环境呢?VIO是高冗余架构的,同时有很好的稳定性及性能,因此目前很多单位已经把VIO技术用于生产环境中。
(2) VIO冗余性架构配置
双VIO Server使用了高冗余的架构,即不管哪个VIO Server出了问题,VIO Client都不会受到影响。
下图标识了VSCSI技术的冗余架构,在此架构下两个VIO Server共同向VIO Client提供磁盘链路,因此避免了VIO Server的单点;在VIO Server内部,磁盘也是通过多个光纤卡进行识别的,因此避免的VIO Server上光纤卡的单点;两台SAN交换机避免了SAN网络的单点。
对于使用NPIV技术的环境也有高冗余性的保障,在两个VIO Server上都对VIO Client进行了NPIV的映射,因此避免了VIO Server的单点故障;在单个VIO Server里多个光纤卡避免了单个光纤卡的单点故障。
在网络方面,两个VIO Server使用了SEA的HA功能,也避免了单VIO Server的单点故障。
(1) 存储虚拟化部分
存储虚拟化部分主要实现有两种解决方案:VSCSI和NPIV技术。这两个技术也是在做存储部分虚拟化时需要对比分析考虑的。简单来说,VSCSI技术是存储把磁盘先映射给VIO Server,然后VIO Server再把磁盘分配给VIO Client端;而NPIV技术是VIO Server只是建立了到VIO Client端的链路,存储直接把磁盘映射给VIO Client端。
对比二者的优缺点:
VSCSI技术:
-> 优点是实现起来比较简单,它对SAN交换机及PowerVM版本没有太高的要求。
-> 缺点是VIO Server需要再维护一个磁盘的映射分配关系,增加了系统管理员的维护工作量。
NPIV技术:
->优点及VIO Server只需要建立到VIOClient端的映射关系即可,不需要维护磁盘映射。
->缺点是NPIV对SAN交换机、机器的微码、PowerVM的版本等有要求。
但总体来讲,NPIV技术相比VSCSI技术要更方便些,但在实施灾备环境时请注意,由于现在数据中心的灾备很多都使用存储级的数据复制,而VIO Client类似于SAN BOOT的架构,如果rootvg使用NPIV的话,当把rootvg所对应的LUN通过存储数据复制技术复制到灾备端时,再通过NPIV技术映射后操作系统是无法启动的,因此在灾备架构下,建议VIO Client端的rootvg使用VSCSI技术,datavg使用NPIV技术。
(2) 网络虚拟化部分
网络虚拟化主要用两种技术:NIB(networkinterface backup)、SEA(share Ethernet adapter)
其中NIB(networkinterface backup)的技术原理是两个VIO Server都向VIO Client提供一个虚拟以太网卡的映射,在VIO Client上会识别到两个虚拟的网卡,然后把这两个虚拟的网卡绑定成为一个ethchannel。
另一种方案是SEA(share Ethernet adapter),这种方案是在VIO Server上虚拟了一个虚拟的交换机,这个SEA是连接物理网络和虚拟网络的一个桥梁,通过IEEE 802.1Q协议,它可以实现多个vlan在虚拟化环境下网络包的转发;同时它也可以配置成为HA架构,通过两个VIO Server的冗余性给VIO Client端提供服务。
如果配置成SEA HA架构时,SEA有两种模式:auto模式和sharing模式。其中auto模式即主备模式,一个VIO Server为主,另一个VIO Server为备,当如果有多个vlan时,为了负载均衡,可以建立多个vlan,并对称设置优先级。另一种模式为sharing模式,这种模式会自动把一个SEA下的多个vlan进行均分,实现多vlan的负载均衡。因此在配置SEA冗余时,建议使用sharing模式。
3.1. CPU、内存监控
在虚拟化环境下,由于使用了微分区,因此监控CPU的使用情况也与传统CPU的监控模式不相同。要从整个CPUpool的角度来进行CPU使用率的分析,常用的命令例如topas,在VIO Server上执行该命令不仅可以查看VIO Server自身的CPU使用情况,同时还可以查看被该VIO Server所管理的VIO Client的CPU使用情况。
内存的监控与传统分区的内存监控基本相同,在实际生产环境中一定注意要给VIO Server分配足够的内存。
Tips: 在新版本的VIOServer中至少分配4GB内存。否则有可能出现建立SEA时不成功的现象。
3.2. I/O监控(光纤卡、网卡)
(1) 对于网卡的监控
每两分钟用entstat entX命令取一下对应网卡上发送数据和接受数据的大小,并把数据记录到LOGFILE文件中,然后再把每两分钟收集的数据量大小除以120秒,便可以算出每秒传输的数据量,如果吞吐量达到可用吞吐量的70%则告警,输出告警信息为“Exceeds the net_traffic threshold”。
(2) 对于光纤卡的监控
每两分钟用fcstat fcsX命令取一下对应光纤卡上发送数据和接受数据的大小,并把数据记录到LOGFILE文件中,然后再把每两分钟收集的数据量大小除以120秒,便可以算出每秒传输的数据量,如果吞吐量达到可用吞吐量的70%则告警,输出告警信息为“Exceeds the FC_traffic threshold”。
在PowerVM实际部署时,比较繁琐的是建立VIO Server与VIO Client之间的vscsi、NPIV、虚拟网卡等设备的映射关系,因此使用自动化部署工具可以大大减少操作失误,节省操作时间。现在比较流程的有如下几种部署方式:
(1) PowerVC。
通过PowerVC可以比较好的调用PowerVM,有比较友好的界面可以填写LPAR的各项信息,然后自动化快速部署。
(2) System Planing Tool
使用这个工具填写一些PowerVM相关的配置信息,自动生成LPAR的profile,然后进行LPAR的创建。
(3) 自己写脚本通过HMC的命令行进行LPAR的创建。
上述三种方式都可以实现自动化快速部署,但前两者依赖于现成的其它软件,配置起来灵活度不够。
VIOS操作系统的备份包括下面两类信息,以使你能够恢复物理及虚拟设备。
· VIOS中的base code, applied fix packs, 特定的设备驱动程序,Kerberos及LDAP客户端配置信息,所有这些都可用backupios备份。
· 用户定义的虚拟设备,如虚拟及物理设备间的映射,这些信息的备份见后面的备份说明
VIOS备份命令为backupios,它可以备份VIOS系统到tape, DVD, 或文件系统, 用户定义的虚拟设备映射也可包括在这个备份里,用于恢复。但日常的viobr命令也要做,这样能比较容易的恢复用户定义的虚拟设备映射,同时也可在重新安装VIOS时, 再部署用户定义的虚拟设备配置。
备份及恢复的方法有以下类型:
在配置VIO虚拟化时最怕的事情是由于错误配置导致产生网络风暴(网络环路)。产生网络风暴后会导致所涉及的vlan中都会产生网络环路,大量的网络包会堵塞整个网络,从而导致所有分区网络全不通!这是一个灾难!下面就描述一下两种容易产生网络风暴的情况:
错误配置一:
在配置双VIOServer SEA HA时,需要指定一个心跳的虚拟网卡,也就是mkvdev –sea命令中的ctl_chan参数,而这个虚拟网卡是我们通过虚拟适配器建立出来的。在虚拟适配器的属性中需要指定VLAN ID(见下图)。在两个VIO Server上如果这个虚拟适配器所使用的VLAN ID不相同(例如一个VIO Server上使用99,另一个VIO Server上使用98),这样就很容易出现网络风暴。
错误配置二:
在配置SEA时,会使用如下命令:
mkvdev -sea ent0 -vadapter ent2 -default ent2 -defaultid 1 -attr ha_mode=auto ctl_chan=ent3
注意如何想配置两个VIOServer SEA的HA,一定要把-attr ha_mode=auto ctl_chan=ent3这两个参数和前面的参数放在一条命令中执行。切忌不要先执行前面的命令生成了SEA,然后再对SEA的属性进行修改。如果分成两条命令执行,很容易导致网络风暴。
错误配执三:
由于在使用IEEE802.1q协议时,一个VIO Server的下可以挂很多个VLAN,但一定注意一个virtual switch下的两个SEA上一定不能配置相同的VLAN ID。如果同一个virtual switch下有相同的VLAN ID,当物理层面没有启用相关的控制时,会导致网络广播帧会累计放大,最终形成网络风暴。
上面讲了几种会出现网络风暴的错误配置,那么如何避免网络风暴呢?
几个建议供参考:
(1) 在物理交换机连接虚拟交换机的接口上启用trunk allow VLAN功能,仅允许必要的VLAN通过,这样可针对VLAN完全打破环路。
(2) 物理交换机上应该开启生成树协议,且不可开启portfast特性
(3) 在物理交换机上启用storm control功能,限制广播流量的大小。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞4
添加新评论0 条评论