戴香玉 冯准
摘 要 在服务器虚拟化环境中,云计算运维工程师比较容易遇到两虚拟机不通的问题,针对这种现象的故障可能产生的原因,本文从虚拟机侧、中间系统侧和物理故障等多个维度较全面地分析故障产生可能的原因,并提出了故障排查措施。
关键词 服务器虚拟化 虚拟机不通 故障排查
中图分类号:TP393.1 文献标识码:A DOI:10.16400/j.cnki.kjdks.2020.05.017
Abstract In the server virtualization environment, cloud computing operation and maintenance engineers are more likely to encounter the problem that the two virtual machines do not work. In view of the possible causes of the failure of this phenomenon, this paper analyzes the possible causes of the failure from multiple dimensions such as virtual machine side, intermediate system side and physical failure, and proposes troubleshooting measures.
Keywords server virtualization; virtual machine does not work; troubleshooting
基于云计算的服务器虚拟化场景被广泛应用,[1-3]在服务器虚拟化环境中,虚拟机一般需要连接上分布式虚拟虚拟机或者标准虚拟交换机,以实现虚拟机之间的通信。虚拟机可能属于同一主机内,也可能属于不同的主机之间。作为云计算的运维人员,比较容易遇到两虚拟机不通的现象,本文针对这种现象详细分析了故障产生的可能原因,并提出了故障排除的措施。
1 服务器虚拟化环境中虚拟机的部署方式
基于云计算的虚拟化环境的应用中,虚拟机的应用是主流应用技术之一。通过虚拟化的虚拟机来部署服务器,以提高数据中心的资源利用率,实现节能降耗。服务器虚拟化的部署一般是在物理服务器上安装虚拟化操作操作系统,通过虚拟化技术,将物理资源变成池化的虚拟资源,再利用资源池中的资源来创建业务,本文以计算实例(即虚拟机)为例。根据资源池的大小,可以创建多台虚拟机,这些虚拟机可能是归属于同一台主机(即物理服务器),也可能归属于不同的主机。这些虚拟机连接在相同的分布式虚拟交换机(DVS,以下都用DVS表示),也可能连接不同的DVS。为方便全面分析所有可能的情况,用图1来表示两虚拟机的可能部署位置。
2 两虚拟机不通的可能原因分析
在服务器虚拟化环境中,两虚拟机不通的可能原因很多,主要可以從三个角度来排查:虚拟机自身侧、服务器虚拟化环境的中间系统侧、物理故障。
2.1虚拟机侧的可能原因
虚拟机自身的原因主要有如下4个方面:(1)虚拟机没有开机或者故障(如windows操作系统的蓝屏或者Linux操作系统的panic故障);(2)虚拟机的网卡故障或者网卡被禁用;(3)虚拟机的网络配置错误(如IP地址、子网掩码,如果是三层通信的话,网关配置必须正确);(4)虚拟机的防火墙开启拦截,或者安全软件等第三方软件拦截。虚拟机侧的故障从以上4个方面排查,可以进行解决。
2.2 中间系统侧的可能原因
中间系统是指服务器虚拟化环境,包括主机、分布式虚拟机交换机(包含在该虚拟交换机上配置的端口组和上行链路)、物理交换机(TOR)以及链路。通过图1的解析,针对两虚拟机不通的可能原因,可以从以下几个维度来分析:主机系统的安全组设置;ACL策略应用;相应的两台虚拟机是否处于同一二层网络、是否归属于同一主机、是否关联了同一台DVS、是否配置在同一端口组。以下分别从这几个维度分类来列举分析:
第一种情况:不通的两台虚拟机处于同一二层网路、归属于同一台主机、关联同一台DVS、配置在不同的端口组。
这种情况相当于是图1中是VM1和VM2之间不通。这两台虚拟机在不同的端口组,要实现这两台虚拟机互通,要求它们所接入的端口组配置相同的端口组属性,比如VLAN ID必须一致。另外,这两个端口组的Vlan ID是否设置为VM1和VM2所属的同一网段。
第二种情况:不通的虚拟机归属于同一主机、关联不同的DVS。
这种情况相当于图1中的VM 3和VM4之间不通。这两台主机由于物理交换机的隔离,默认是不通的。如果要物理交换机之间的虚拟机进行通信,需要连通两台TOR交换机。如果两台TOR物理交换机连接的是不同的局域网,还需在TOR三层交换机上配置对应的网关、并配置路由(如配置静态路由或者RIP、OSPF等动态路由)实现路由功能。
第三种情况:不通的虚拟机归属于不同主机、关联同一台DVS。
这种情况相当于图1中的VM1(或VM2,以VM1为例)与VM3之间不通。可以根据数据包的路径来分析,排查方式按数据包的路径走向:(1)VM1连接到DVS1的端口组,端口组的Vlan属性设置是否正确,VLAN必须是VM1 IP地址所规划的Vlan ID;(2)DVS1的上行链路会绑定主机的网口,主机的网口可能有多个,该网口是否是规划的网口、该网口是否正常工作或者该网口是否正确连接到TOR1交换机;(3)主机网口的链路连接到TOR1交换机,该交换机的网口是否正常工作;TOR1交换机网口是否允许相应的VLAN通过;TOR1交换机网口的PVID(即缺省Vlan ID)配置是否正确;TOR1到VM3之间是类似的排查过程。
关于PVID的配置,需要运维人员特别注意:PVID一般建议采用默认的Vlan ID,如果修改,可能会导致由于PVID与Vlan ID相同而脱离数据包的Vlan 标签所引起的数据包不能正常转发。
第四种情况:不通的两台虚拟机归属于同一主机、处于不同的二层局域网。
这种情况相当于图1中VM1经过DVS1和TOR1到达VM2的场景。由于两台虚拟机是不同的二层局域网,VM1和VM2配置不同的端口组属性。首先是考虑端口组属性正确与否,即VM1所连接的端口组的Vlan ID和VM2所连接的端口组的Vlan ID与所规划的是否一致,它们应该是不通的Vlan;其次经过DVS1的上行链路,该上行链路绑定的主机1的网口是否正确,网口是否故障;最后TOR1交换机的端口是否正常、是否允许相应的VLAN通过、PVID是否会脱离相应的Vlan标签。
第五种情况;主机安全组设置和ACL策略应用。
服务器虚拟化环境中,操作系统会设置安全组。默认的安全组配置是允许所有流量出去、禁止所有流量进入。管理员需要配置安全组的流量规则,按照规划放行虚拟化环境中的虚拟机相应的Vlan流量,否则两虚拟机不通。
ACL,即访问控制列表,是管理员根据规划应用策略干预相应的流量。如果ACL策略中拦截了相应的数据流量,会导致两虚拟机不通。
2.3物理故障
物理故障比较明显,一般可能会出现大规模的故障,管理员可以轻易的排查,一般可能是停电所引起的物理服务器或者交换机关机、物理交换机故障、交换机端口故障、链路故障等。这类故障运维人员基本上直接直观判断,比如交换机端口的灯没亮或者颜色不对。
3 故障排除方法
理解了故障可能产生的原因,采取合适的措施进行排错和处理,是运维管理人员日常工作之一。故障排错的方法一般认为如下几种:
第一种:不通的兩台虚拟机工作在同一二层局域网。这种情况可以在虚拟机的命令提示符界面使用arp –a(地址解析协议)命令查看arp表项。如果arp表项中有对端虚拟机的IP地址,表明arp表项能学习到对端的地址,说明两台虚拟机之间的链路没有故障,不通的原因一般是对端虚拟机防火墙开启了拦截或者安全软件等第三方拦截。这种情况下可以在对端虚拟机上关闭防火墙或者第三方软件即可。
第二种:不通的两台虚拟机工作在不通二层局域网。这种情况需要经过路由,采用tracert(跟踪路由)命令来拍错。通过tracert 命令确定数据包在网络上具体的停止位置,结合上面分析的各类可能性,以排查具体的故障。
4 结束语
综上所述,服务器虚拟化环境中导致两虚拟机不通的原因大致可以分为如下几类:一是虚拟机本身的原因如关机、蓝屏或者网卡配置以及防火墙等拦截;二是服务器虚拟化环境的中间系统侧的问题,如DVS的端口组、上行链路、物理交换的PVID、主机系统的安全组和ACL策略等;三是物理侧比如停电、交换机等物理故障。对于两虚拟机不通的故障,可根据文中所分析的不通的场景进行排查和分析,采取相应的措施进行处理。
参考文献
[1] 郇林.计算机技术中虚拟化技术的运用探讨[J].技术与市场,2018.25(12):132,134.
[2] 闫鸿斌.网络虚拟化技术在云计算数据中心的应用[J].电子技术与软件工程,2019(14):3-4.
[3] 张月.云计算数据中心中网络虚拟化技术的运用探析[J].信息系统工程,2019(06):101.