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

问题描述:

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

其实观察整个环境,没有什么好做技术评估的,平时一般情况下面,除了主机我们使用物理机外,其他的所有服务都没有必要使用物理机资源,所以现在只要验证虚拟机中创建虚拟机是否可以成功即可。关于我们使用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. 整理目前支持 Vue 3 的 UI 组件库 (2021 年)

    最近,让前端圈子振奋的消息莫过于 Vue 3.0 的发布,一个无论是性能还是 API 设计都有了重大升级的新版本.距离 Vue 3.0 正式版发布已经有一段时间了,相信相关生态周边库也正在适配新版本中 ...

  2. Eclipse中给jar包导入JavaDoc的方法

    原文转载自:http://blog.csdn.net/mr_von/article/details/7740138 在使用Java语言开发的过程中,开发人员经常需要用到一些开源的工具包.在使用别人的j ...

  3. kafka(三)原理剖析

    一.生产者消息分区机制原理剖析 在使用Kafka 生产和消费消息的时候,肯定是希望能够将数据均匀地分配到所有服务器上.比如很多公司使用 Kafka 收集应用服务器的日志数据,这种数据都是很多的,特别是 ...

  4. 一种获取context中keys和values的高效方法 | golang

    我们知道,在 golang 中的 context 是一个非常重要的包,保存了代码活动的上下文.我们经常使用 WithValue() 这个方法,来往 context 中 传递一些 key value 数 ...

  5. JDK的各个版本

    Java的各个版本 从上图我们看出,Java的版本名最开始以JDK开头,后来以j2se开头,最后到现在以Java开头,所以这些名字我们都可以说,但人们说的更多的是JDK多少,或者Java多少

  6. 图解 | 原来这就是TCP

    你是一台电脑,你的名字叫 A 经过<图解 | 原来这就是网络>这篇文章中的一番折腾,只要你知道另一位伙伴 B 的 IP 地址,且你们之间的网络是通的,无论多远,你都可以将一个数据包发送给你 ...

  7. requests模块的基本使用

    requests模块的基本使用 基于网络请求的模块. 环境的安装:pip install requests 作用:模拟浏览器发起请求 分析requests的编码流程: 1.指定url 2.发起了请求 ...

  8. 获取Java线程转储的常用方法

    1. 线程转储简介 线程转储(Thread Dump)就是JVM中所有线程状态信息的一次快照. 线程转储一般使用文本格式, 可以将其保存到文本文件中, 然后人工查看和分析, 或者使用工具/API自动分 ...

  9. 如何使用 Vuepress

    项目结构 ├─docs │ ├─.vuepress --vuepress相关文件路径 (主要配置) │ │ ├─dist --build 打包生成路径 (自定义) │ │ ├─nav --导航条配置 ...

  10. git的使用学习笔记--项目版本操作

    一.使用场景 版本回退:上线失败--需要回退到上个版本 二.操作 先编辑  vim text.txt git status git add .       这个命令能看到所有的增加操作 git com ...