VMware虚拟化平台网络配置七大知识点
来自社区交流,高手们针对Vmware的几十个典型问题贡献了非常有价值的解答,在此整理成七大知识点,掌握了这些知识点,你对Vmware的了解和应用可以更上层楼。
撰写及知识点整理:赵海;(下文内容亦有aerolite、lisen222、董志卫、余静等社区会员的贡献)
案例篇
请点击:
生产环境实施 VMware 虚拟化基础架构,千万不要犯 4 个错误
知识篇
以下七部分知识中,各有若干典型问题。针对其中部分问题,社区中的高手们给出了详细的解答,对照学习,不但问题迎刃而解,其他问题也可以触类旁通。
1 数据库与虚拟化的关系
典型问题:
Q1:vmware 对 oracle rac是否有好的支持?
Q2:VMware 平台搭建的网络虚拟化环境,适合oracle rac环境吗?
Q3:vmware虚拟化后,能把以前的数据库迁移进来吗?
Q4:VMware共享存储问题?
知识点:
这类问题应该分为两个方面来看。
第一,就功能层面而言。ORACLE RAC完全能够部署于虚拟化平台之上。心跳网和业务网可以通过网卡绑定不同VLAN的端口组实现。共享存储可以通过RDM或者是ISCSI方式实现。针对虚拟化环境上的RAC也会有一系列优化配置,例如:
1 将内存预留容量设置为与数据库内存(SGA+PGA)相同的大小。
2 使用大内存页。(默认)
3 启用处理器的超线程功能。
4 使用 Oracle 自动存储管理 (ASM)。
5 使用 RDM 映射。
6 使用 VMXNET3系列半虚拟化网络适配器。
7 管理网络和业务网络分离。
第二,就性能层面而言。需要根据应用负载及并发量来看。小的应用,可以搬上来运行着看。大的应用建议不要搬上来。如果数据库本身的负载很高,并发量很大,还是不建议把数据库搬到虚拟化上来。物理机器都吃不消还非得搬到虚拟化上,性能肯定会有问题。实在想迁的话建议一些小的数据库迁移上来。如果仅仅是考虑DB的灵活性,不妨试试ORACELE11G的Server Pool特性或者是ORACLE 12C的PDB特性。
2 虚拟化网络相关配置上如何优化配置
典型问题:
Q1:vmware 在做网络虚拟化时,如何规划?有哪些注意事项?
Q2:端口组以及网卡的参数有没有最佳实践?
Q3:VMOTION FT等网络如何规划?网口bond时物理交换机如何配置?
Q4:网络虚拟化的过程需要特别注意什么细节问题?
Q5:mware桌面虚拟化环境网络如何规划?
问题解答及知识点:
A1:
从规划上来讲,需要注意以下几个部分:
1 网络高可用。包括网卡、物理节点、物理交换机等资源的冗余交叉设计,保证任何单点故障都不会影响业务功能。这里面涉及到数目的搭配,链路设计,策略选择等。
2 管理网络和业务网络隔离,业务网络再通过端口组隔离。业务网络用分布式交换机,管理网络用标准式交换机。合理评估管理和业务的带宽设置。
3 交换机、端口组、网卡上的参数配置及策略选择。
就配置细节上讲,需要注意以下内容的配置优化:
1 交换机上开TRUNK模式。
2 网卡无论怎么绑定,交换机上都不需要做特殊捆绑。
3 网卡负载均衡模式选择端口路由方式,虽然不是绝对的负载均衡,但是是相对安全可靠的绑定方式。
4 安全模式没有特殊要求保持Reject。
5 选择合适的MTU,尤其对于数据库应用。
A2:
从设计上来说.要做到虚拟可用.物理冗余。虚拟可用就是虚拟层面.可以提供给虚拟层以上的Guest OS或应用网路连通性物理冗余就是在物理层面要避免单一物理连路断开后.引起上层的网络不可连通.
一、物理层面:
原则:连路的冗余:包括线路冗余,板卡冗余,芯片冗余.
从VC管理上.我们可以使用低速率的网卡.比如主板自带的网卡.为了保证冗余性.可以与PCI网卡做冗余.
4/5的高速率卡.我们要用做真正的生产业务.比如NFS的网络连接.用于VM存储和关键业务的保护机制的使用.(vmtotion或FT等)
这样.我们在现有的设备中.就做到了管理网络的冗余(使用不同芯片低速网卡),生产网络冗余(使用不同PCI上高速网卡.)
二、虚拟层面:
原则:网络可达.速率最大化
管理网络使用物理网卡做冗余vmnic0/2,在使用上管理网络不会有太多的数据流量.可以选择网卡的绑定类型为主备(active-standby)模式就可以.
VMkernel网络.这个虚似网络是很重要的网络.在做FT功能和虚机的VMOTION的时候很关键.会最小程度影响在线业务.可以使用AS模式或IP-HASH模式.Customer Network.这里是虽然用于了两个不同板卡上的1G网卡. 但从业务情况上来看.1G网络会成生VM用于生产环境的瓶颈.这个地方的设计是不合理的.
如果是在现有的情况下设计.我们可以做以下改进
1.可以再配两块10G网卡做物理冗余.来承载业务网流量.
2.把vmkernel网络和Customer network都合在一起,然后使用.
3.退而求其次,我们可以把Customer Network和vmkernel物理网卡交换.这种场景用于VMOTION不常使用,FT功能开启数量极少.
在VSS或VDS中.对物理网卡的绑定有多种.但常用的有主备模式.和IP HASH模式(交换机支持并要做一定的设置).
3 关于VLAN
典型问题:
Q1:VMware ESX/ESXi网络中vlan实现方式有哪些?请详细描述及应用场景?
Q2:vmware虚拟网络端口组中关于逻辑VLAN是如何与物理背板交换机映射的?
Q3:VMWARE 虚拟化的VLAN的使用建议?
Q4:vmware网络虚拟化实现的原理是什么,可以具体解释一下吗?
问题解答及知识点:
A1:
不管是在虚拟化环境还是在物理网络环境,VLAN都是必不可少的。它可以实现网络隔离,也就是根据VLAN区分出不同的网段。交换机上的安全规则也是基于VLAN来区分的。如果不用VLAN,那么网络就无法实现逻辑隔离。比如你的办公业务和你的生产业务,比如说你的数据库网关和APP网段,比如说你的外联网段和你的互联网段等等。
具体操作,物理交换机上打的实实在在的VLAN标签,并且配置成TRUNK模式。网卡连接到物理交换机上。把物理网卡添加到虚拟交换机里面,然后创建不同的端口组,并且把端口组的VLAN标签按照交换机允许通过的VLAN打上Vlan号。虚拟机的网卡捆绑到某个端口组上,实际的网络流量就会通过物理网卡、交换机等出去。虽然虚拟机网络划分为不同的网段,来自不同的端口组配置,但是都是通过同样的物理网卡把数据包送到网络交换机实现网络交换。
A2:
vmware虚拟机交换机支持csico发现协议cdp,通过在物理交换机上配置为trunk模式,vmware是虚拟交换机上就能发现vlan标签,当然就识别了。
搞的方式:
1 vmware主机上联交换起trunk,vmware本身支持cisco发现协议,可以发现相关vlan id,在vmware虚拟交换机上配置相应的vlan id即可。
2 傻瓜式使用方法,就是上联交换机就一个vlan,下连主机也不用考虑vlan情况,插上就那个段用就行了。
A3:
VLAN是网络隔离,广播包只在同一个VLAN内,在二层上, 不同VLAN无法通信。
在二层加入了VLAN TAG.是和完整的二层传输帧是一样的.和交换机上配置了VLAN的感觉是一样一样的。
4 虚拟化平台的高可用以及资源调度
典型问题:
Q1:VMware的虚拟化平台网络可以做到类似F5的负载均衡吗?
Q2:vsphere FT的网络要求?
Q3:vmware容灾体系设计?
Q4:VMware网络虚拟化平台的高可用性如何保证?
Q5:VM虚拟化在系统层面及物理层面的安全性如何保证?也需要双机热备么?
Q6:vmware drs开启问题?
问题解答及知识点:
A1:
对于计算节点高可用来讲,除了在资源数量上要保证其冗余性之外,策略设置也非常重要。可以参考以下几个点:
1 Admission Control Policy:对于生产环境来讲,一般认为选择(Host Failure the cluster tolerates =1)比较合适,当然如果你的资源非常空闲,可以适当调大。
2 对于每一台物理机上的虚拟机根据其重要程度不同,设置其启动的优先级(高中低)。
3 当一台物理机上的虚拟机远超过集群当中的物理机数量时,可以考虑设置虚拟机HA互斥分离规则。
4 生产环境当中尽量把DRS的策略设置的不要太激进。尤其是前段具有负载均衡设备的时候建议把DRS打成建议模式。
对于存储来讲,必须保证集群内所有节点看到的外部存储视图是一样的,完全共享的,才能很好保证其HA及DRS功能。另外说到存储,有以下几个点:
1 卷属性里面,把Storage IO Control 选项Disable。不建议vwmare层干预底层IO,反而有尤其性能故障的风险。
2 将卷的多路劲策略设置为(Round Robin)。
A2:
对于DRS来讲,建议,可以采用半自动化,激进的情况下可以全自动下阀值设置为保守,先观察一段时间看看。
A3:
对于FT,由于FT是通过vLockstep技术确保虚拟机处于同步状态,因此带宽最好比较大,最低1Gb/s,最好用10Gb/s,并且做网卡绑定;
A4:
VMware提供了VMware HA和FT两种高可用,但只能做到esxi主机级别的故障监测和恢复。一般会从应用级别上来做高可用,根据不同的业务角色,使用相应的群集或负载均衡,对于后端数据库角色,一般会部署在物理机上,如果非要在虚拟机上可以考虑veritas公司的infoscale系列中的群集软件(原vcs),可以与VMware的vmotion和其他管理手段有联动,也可以不需要裸设备等支持来避免脑裂,还支持不同优先级的应用按指定顺序启停。同类群集基本只能做到基础的功能。
5 关于虚拟化资源迁移
典型问题:
Q1:关于迁移exchange邮件服务器?
Q2:如何将VMWARE配置好的环境,完整迁移到物理机器,不用重做系统与配置?
Q3: vmware在做p2v迁移配置中,如何提高迁移的成功率?
Q4: VMWARE 跨数据中心在线迁移解决方案?
Q5: 云环境下的vmware虚拟机迁移问题?
知识点:
对于V2P——
通过VMWARE转换工具,将物理机器应用环境转成VMWARE镜像,导入到ESXI里。就不知,经过几年,VMWARE的研发工程g师,有没有开发出类似工具,将在虚拟机配置好的,测试好的应用业务环境,迁移到物理机器上面,其实,个人觉得这个也是有前景的。因为,工程师出于谨慎,为了不破坏机器环境,会习惯在虚拟机配好,测试好应用环境后,才在物理机器搭建环境,但有时,不想再花时间,重新配置一次,测试一次环境,就会倾向于将应用环境从虚拟机迁移到物理机器。迁移完,只需改一下IP就行。CPU ,内存,主机设置也不需再配置。
对于P2V——
参考converter来做P2V.
1.网络要通信好
2.物理机的OS要启动.一般物理机都是跑业务的.比如DB之类的.要停掉业务.使用使系统处于基本静止的状态去做转化.
对于Vmotion以及跨地域的Vmotion——
跨数据中心在线迁移是个大的解决方案,要想实现在线迁移,基础架构当中以下几点是需要要考虑的:
1 网络上要实现2层打通,否则没法Vmotion到灾备中心。
2 存储是否要实现跨数据中心共享。否则VMDK很难无缝热迁移。
3 上层的网络架构要能正确实现引流,否则机器迁移过去了,客户端访问引不过去。
以上每一件事情都是个巨大的工程,牵涉到各个方面的集成配置和科学设计。
6 关于虚拟机资源性能优化
典型问题:
Q1:如何评估一台vmware虚拟机的性能?
Q2:虚拟化资源如何合理分配?
Q3:如何根据不同业务需求,规划分配一台vmware虚拟机??
Q4: 在现实的环境上,大多数都很关心服务器的性能,在使用虚拟机的过程中如何保证虚拟的系统性能达到真实物理机的性能??
知识点:
关于性能评估——
我们一般采用压测对比方式。测试网络和IO都会有很多开源的工具(iperf,iometer等等),和测试一般Linux系统没什么区别,只不过需要调整虚拟机的各种CPU、内存设置策略对比着测试看。如果要部署应用的话,还得需要依靠应用的压力测试来看。要不然就根据自己的业务需求开发集成一套自己的测试工具。
关于规划使用——
1、提前评估应用的资源使用量以及一段时间内扩容的量,否则两眼一抹黑,客户要多少就给多少,很容易不够;
2、统计应用已用资源使用量,尽量不超配太多;
3、看看是否有对虚拟机做了资源预留,是否有必要,这个很容易浪费空闲资源;
关于资源配置——
这个过程大致会分为:1 根据合适的模板部署虚拟机。2 分配合理的CPU、内存、网卡资源。3 根据具体应用特点调整合理的参数设置。
在模板这块儿,可以根据自己的应用特点部署一个相对通用的基础模板,比如说Linux6.6 + Weblogic。可以把中间件以及操作系统的通用参数设置好部署成模板,当然这个也可以通过后台脚本的方式将其部署为动态模板组合方式。在硬资源的分配方面完全是要靠对应用的了解和运维经验了。没法儿固定。在后期模板无法解决的参数调整方面,可以根据具体环境参数修改虚拟机的某几个位置上的参数,同样可以实现脚本化。用Python或是Expect很容易实现交互式批量任务。
关于科学计算——
数据库服务器处理能力分析,根据工程设计规范中的主机处理能力公式:
主机处理能力(TPMC)按下列公式计算:
P──主机处理能力,单位为每分钟处理的交易量(TPMC); ──预测近期年的日均交易量,单位为笔,取日均交易量的1.5倍; ──忙日集中系数,一般取2~4,取4; ──忙时集中系数,一般取0.2~0.25,取0.25; K1──平均交易复杂度,一般取4~10,取10; J1──主机处理能力保留系数,取0.7。
7 与平台技术选型相关
典型问题:
Q1:vmware现在这么贵前景如何?
Q2:VMWare虚拟化平台与FasionComputer虚拟化之间各自的优缺点是什么?
Q3:vsan和当前炒的比较火热的超融合区别?
Q4:IBM+VMware虚拟化实施过程比微软、华为、思科等虚拟化构建上有哪些优势?
知识点:
A1:
产品的比较还得自己亲自去体验,可以提供几个建议的比较方向:
1 从产品功能点上来讲,其实很多IAAS厂商的产品基本没有大的差异。
2 从产品的性能上来讲,几个产品的差异就会很明显的显现出来。比如说IO的性能,计算资源的性能,备份速度的差异等等。具体数字还得自己去比较。
3 从产品功能的稳定性上来讲,也会有很大差异,有的产品是经历了各种复杂网络及存储环境考验,修复了各种BUG才走到今天的成熟产品。有的产品可能经历的考验还比较少,在面对复杂网络环境和存储环境的时候不免会出现一些诡异的事情。需要反复测试,在不同的环境反复测试。
4 从产品的兼容性和扩展性上来讲,要看其对相关环境资源的兼容性如何,接口如何等。
A2:
就虚拟化具体POC测试的细节,以下几个细节测试值得注意:
1 复杂网络环境下的Vmotion、HA、DRS功能测试。
2 内存复用功能的反复压力测试。
3 虚拟机的性能测试。
4 备份恢复功能和性能的测试。
相信做完以上测试,会有一个清晰的结论。
A3:
其实个人感觉超融合本身会包含类似VSAN这样的软件定义存储技术。每一家的超融合产品都会有计算虚拟化、存储软件定义、网络虚拟化等等这方面的东西。但是就存储的软件定义而言,各家会有一些区别:
1 有的可以在计算节点IO下沉之前做到数据的压缩。
2 有的可以直接用闪盘做缓存。
3 有的利用infiniband可以实现系统内的超高带宽,尤其适合数据库。
4 有的在存储侧实现数据复制是以块儿为单位的,有的是对象存储复制。
5 有的是把存储的软件层做到每一个节点的系统层,有的需要依赖单独的虚拟机。
总之各有各的亮点。VSAN目前是被集成到了EMC的超融合产品VXrail里面了,而且有所改进。
更多相关主题文章,请点击阅读原文
长按二维码关注公众号