关于这个问题,主要以文字描述为主,最终解决方法其实就一个步骤。

问题描述:

某客户需要部署某企业的云平台,但是由于年前没有足够的物理机资源,所以提供的资源均为虚拟机,现在让我们做技术评估。

其实观察整个环境,没有什么好做技术评估的,平时一般情况下面,除了主机我们使用物理机外,其他的所有服务都没有必要使用物理机资源,所以现在只要验证虚拟机中创建虚拟机是否可以成功即可。关于我们使用VMWare Workstation ,实现嵌套虚拟化没有一点问题,相应的配置可以参考博主这篇文章:在VMWare Workstation 9 实现嵌套虚拟化设置【虚拟机再虚拟化】

http://clovemfong.blog.51cto.com/3297559/1198184

那么现在客户的用的是ESXI5.0,给我们使用的虚拟机自然也是从ESXI5.0主机上面划出来的,于是乎,本人就在内部进行了测试。大部分步骤都是一样的,仅仅把新建的虚拟机CPU配置支持虚拟化。

按照相同的步骤创建好ESXI或者KVM虚拟机,叫做也成功通过CloudStack管理节点将其进行纳管,启动Zone,最后发现两个系统VM全部启动成功,也显示Running状态,但是,问题出现了,两个系统VM只能在KVM虚拟机上面ping通,登录两个系统VM,也不能访问网关,只能访问虚拟化过的ESXI跟KVM系统。

几个系统的关系是:

物理机    --- ESXI5.0   IP: 192.168.153.6  Netmask: 255.255.255.0  Gateway: 192.168.153.1

一级虚拟机:---ESXI5.0  IP: 192.168.153.40 Netmask: 255.255.255.0  Gateway: 192.168.153.1

二级虚拟机:---linux    IP:192.168.153.107 Netmask: 255.255.255.0  Gateway: 192.168.153.1

状态:

IP为192.168.153.40跟192.168.153.6可以正常互通。

IP为192.168.153.107跟192.168.153.40可以正常互通,但是跟192.168.153.6无法互通,也无法ping通网关192.168.153.1。

问题分析:

这个问题一开始真的无从下手。

1. 防火墙的原因?

通过 VSphere Client登录VCenter 检测防火墙,发现没有作严格的防火墙策略限制。

2. 难道是因为两个二级虚拟机【两个系统VM】是由CloudStack调用接口创建的?所以才会产生这样的问题?

验证: 手动通过vsphere client 连接ESXI或者VCenter创建虚拟机,选择同样的网卡,然后配置好IP地址,结果发现结果是一样的, 所以排除了CloudStack引起的问题。

但是在本人机器上面通过VMWare Workstation创建一个虚拟机作为Agent节点,然后纳管资源,系统创建系统VM,实例,网络访问都是没有问题的。

最终定位到是ESXI跟VMWare Workstation的网络配置不同,VMWare Workstation用的是桥接模式,而ESXI上面的网络模式是没有选择的,应该默认也是桥接模式,也排除了网卡连接模式的问题,那最后定位到ESXI跟VMWare Workstation网卡配置的其他不同上面,最终点击ESXI主机网卡VM Network的编辑按钮,点击安全标签,发现有几个策略异常选项:

混杂模式

MAC地址更改

伪传

本人对网络不是非常精通,于是搜索了下”混杂模式“的含义,度娘说:是指一台机器能够接收所有经过它的数据流,而不论其目的地址是否是他。

看解释好像有点像哦,如果默认设置为拒绝的话,那么也就是:是指一台机器不能够接收所有经过它的数据流,而不论其目的地址是否是他。把这个混杂模式设置为接受?

然后再次登录两个系统VM,Ping网关,ping物理主机,OK了!通过其他子网里面其他IP地址的系统Ping这两台系统VM,都成功了!

至此,问题解决!

本文转自 暗黑魔君 51CTO博客,原文链接:http://blog.51cto.com/clovemfong/1350869

由CloudStack项目引起的ESXI嵌套虚拟化引起的二级虚拟机无法被访问的更多相关文章

  1. KVM 开启嵌套虚拟化

    问题 在 CentOS KVM 上启动虚拟机来部署 OpenStack 测试环境,在启动具有 CPU 绑定.NUMA 亲和的虚拟机时触发错误: libvirtError: Requested oper ...

  2. ESXi 嵌套KVM虚拟化 配置

    VMware ESXi5.x默认不支持嵌套虚拟化,需要修改相关配置才能支持   1.ESXi5.1主机开通ssh,修改VMware ESXi配置文件使之嵌套虚拟化. 在配置文件后面加入如下配置:vhv ...

  3. vmware esxi 6.0 开启嵌套虚拟化

    环境描述: 已通过vSphere Client创建一个名字为centos7的虚拟机,现在需要打开该虚拟机的嵌套虚拟化功能. 第一步: 开启ESXi Shell 开启vSphere的ssh远程登录服务或 ...

  4. VMware ESXi 开启嵌套虚拟化

    VMware ESXi 默认不支持嵌套虚拟化功能,需要修改相关配置文件才能支持. 1.Esxi主机开启ssh,修改 /etc/vmware/config 配置文件,在配置文件后面加入如下配置:vhv. ...

  5. vSphere ESXi如何使用嵌套虚拟化(1-vSphere 6.0+linux虚拟化)

    今天准备在vSphere当中上传一个用workstation做出来的虚拟机,没想到遇到了很多问题,在这里,作为新手小白碰到了一些问题,在这里总结一下. 1.workstation做出来的虚拟机直接上传 ...

  6. Vmware vSphere 开启嵌套虚拟化

    一.vSphere 6开启嵌套虚拟化 已通过vSphere Client创建一个名字为Centos 7的虚拟机,现在需要打开该虚拟机的嵌套虚拟化功能. 1.在Esxi 服务器上面开启ssh服务,并关闭 ...

  7. 利用Azure嵌套虚拟化,解决公有云上机器不能启动的问题

    很多时候我们都会碰到因为意外重启,机器硬盘被损坏导致无法启动,或者是因为各种原因Windows上的RDP服务启动不了,Linux上的SSH无法链接等等问题.碰到这种问题基本上很难解决以前都是将VHD下 ...

  8. VMware虚拟机配置嵌套虚拟化

    VMware虚拟机下创建kvm-sever,server下继续创建kvm虚拟机(嵌套虚拟化),返回libvirt错误解决办法:SSH连接VMwarevi /etc/vmware/config增加一行设 ...

  9. 在 Centos7 的KVM上启用嵌套虚拟化

    1.嵌套虚拟化意味着在虚拟机内配置虚拟化环境.换句话说,我们可以说嵌套虚拟化是虚拟机管理程序hypervisor的一个特性,它允许我们通过虚拟化管理程序(宿主机)的硬件加速在虚拟服务器内安装和运行虚拟 ...

随机推荐

  1. 目前用下来最溜的MacOS微信多开工具!

    一个生活微信,一个工作微信是很多上班族的基本配置. 但由于微信客户端在PC端上只能打开一个,这使得在上班时候就非常不便,一个号在PC端上登录,一个在手机上使用,但是上班时候又不能一直看手机,不然老板还 ...

  2. 此流非彼流——Stream详解

    Stream是什么? Java从8开始,不但引入了Lambda表达式,还引入了一个全新的流式API:Stream API.它位于java.util.stream包中. Stream 使用一种类似用 S ...

  3. MySQL索引性能分析

    为什么要做性能分析 你有没有这样的情况. 面对一个你没怎么写过的.复杂的业务,你构思了很久,终于开始敲下了第一段代码. 写的过程迷迷糊糊,有的时候还能把自己搞晕了. 但你还是终于把它写完了. 但是点击 ...

  4. C++ STL 栈和队列

    栈和队列 头文件 #include<queue> // 队列 #include<stack> //栈 定义方式 //参数就是数据类型 stack<int> s; q ...

  5. js 浮点数陷阱

    众所周知,JavaScript 浮点数运算时经常遇到会 0.000000001 和 0.999999999 这样奇怪的结果,如 0.1+0.2=0.30000000000000004.1-0.9=0. ...

  6. DDD的实体、值对象、聚合根的基类和接口:设计与实现

    1 前置阅读 在阅读本文章之前,你可以先阅读: 什么是DDD 2 实现值对象 值对象有两个主要特征:它们没有任何标识.它们是不可变的. 我们举个例子:小明是"浙江宁波"人,小红也是 ...

  7. 显示HDFS中指定的文件读写权限、大小、创建时间、路径等信息。

    1 import org.apache.hadoop.fs.*; 2 import java.text.SimpleDateFormat; 3 public class D_ReadFileStatu ...

  8. Linux下编译安装源码包软件 configure ,make, make install, make test/check, make clean 假目标

    http://www.360doc7.net/wxarticlenew/541275971.html 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 ...

  9. flutter环境部署

    一,xcode开发环境配置问题记录 1,Signing for "Runner" requires a development team xcode需要配置AppleID: 1,X ...

  10. SparkStreaming与Kafka,SparkStreaming接收Kafka数据的两种方式

    SparkStreaming接收Kafka数据的两种方式 SparkStreaming接收数据原理 一.SparkStreaming + Kafka Receiver模式 二.SparkStreami ...