[TOC]

0x00 前言简述

描述: 本章主要对于 vSphere 虚拟化解决方案之ESXI的在企业中实践相关操作进行相应的整理与归类,方便日后查询;

关键字:

  • 网络配置(基础知识、实践操作)
  • 存储配置
  • 主机配置

0x01 网络配置

vSphere虚拟网络入门介绍

描述: 在学习vSphere虚拟网络前,我们先看下面的图来理解虚拟网络是如何构成的,此处以单ESXi主机为例

流程步骤: 虚拟机虚拟网卡->虚拟交换机端口组->虚拟交换机内部交换->虚拟交换机上行链路->物理网卡->物理交换机,完成了虚拟机和物理网络的连通。

WeiyiGeek.vSphere虚拟网络示意图

WeiyiGeek.vSphere虚拟网络示意图

PS : 最近几个版本的vSphere都限定了一台虚拟机最多可以配置10个虚拟网络适配器

vSphere虚拟网络示意图解析:

标准交换机

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
标准交换机是通过ESXi主机来创建和管理的,这就意味着当你有多台ESXi主机时,你就要分别去每一台ESXi上创建标准交换机里的端口组等设置,可能这个工作量还不算什么,但是当一年之后你要去修改端口组,或者扩展端口组呢?(这种需求应该可以叫做Day2 operation吧)。

因为标准交换机不能集中管理,也许我们可以通过一些自动化脚本来实现,但自动化脚本也要适应上面提到的Day2 operation, 所以管理员的开销还是挺大的。

通过创建或者编辑标准交换机的操作界面,我们大致能了解到一些它的功能:

Layer2交换

IPv6

VLAN

网卡绑定

出口流量整形

安全策略

绑定和故障切换策略

总的来说,标准交换机可以解决大部分小型部署中的虚拟网络需求,我们应该避免在中型或大型部署中使用标准交换机,或者可以保留的使用有限的功能。更多的虚拟网络需求通过分布式交换机或者NSX来实现。

分布式交换机

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
分布式交换机在标准交换机的基础上,增加了一些额外的功能,而且提供了集中管理的接口。

比如:

入口流量整形

网卡绑定和故障切换策略中基于负载的绑定

端口洪泛控制

私有VLANs

以端口为单位的策略设置

端口镜像

NetFlow监控

端口状态监控

WeiyiGeek.分布式交换机示意图

如图是个基于2台ESXi主机设置的分布式交换机示意图, 所谓的集中管理,分布式交换机不是在ESXi主机上创建的,而是vCenter。
在vCenter中在数据中心的Actions菜单中可以选择分布式交换机,然后创建或者导入。分布式交换机上的流量并不会通过vCenter来转发,来看一个分布式交换机的架构图。

WeiyiGeek. 分布式交换机架构图

WeiyiGeek. 分布式交换机架构图

从图中我们可以看到,vCenter上是分布式交换机的一个模板,设定了端口组,上行链路的个数。需要把ESXi主机加入分布式交换机,这时候就把交换机的模板推送到了加入的ESXi主机上,并且可以指定ESXi上的哪个物理网卡为分布式交换机的上行链路使用。ESXi主机上有一个Host proxy switch,它用来接收vCenter推送的模板,这样交换功能其实还是在ESXi主机上实现的。Day2 operation需要的设置可以在vCenter的模板上修改,就会推送到各个连接该分布式交换机的ESXi主机上,这就是集中管理。

这种架构在vCenter上的分布式交换机实例被叫做控制平面/Control plane,交换机的管理是在这里实现的。在ESXi上的Host proxy switch被叫做数据平面/Data plane 交换机的数据交换是在这里发生的。

最后,来看一个多台ESXi所连接的分布式交换机的拓扑图吧。

左侧为端口组,我把vCenter自己单独放了一个端口组,把VMkernel放在一个端口组,剩余VM放在一个端口组。因为没有设置VLAN,实际上这几个端口组是可以互通的。

右侧为上行链路,这里我每个ESXi主机只设置了一个上行链路,对应一个ESXi上的vmnic。

如果win10这台虚拟机在esxi01这台主机上,u2004这台虚拟机在esxi02这台主机上,两台同在一个端口组的虚拟机,从拓扑图看来,直接在虚拟交换机就能交换数据,实际上,还是要通过各自的上行链路走到物理交换机才能交换数据的。

WeiyiGeek.分布式交换机拓扑图

WeiyiGeek.分布式交换机拓扑图

  • (3) 如果物理交换机是VLAN交换机,我们还可以把ESXi物理网卡连接的物理交换机端口设置成Trunk口 tag上物理网络中的VLAN ID,在虚拟交换机的端口组里做VLAN ID的设置之后,就把虚拟机连接到了物理网络的VLAN里(逻辑上的隔离)。


Q: 什么是虚拟交换机?

A: 首先,虚拟交换机就是从软件层面来模拟一个Layer2(二层)的交换机, 虚拟交换机基本上是用来在虚拟网络和物理网络之间建立连接的

  • 在物理网络中,交换机在Layer2利用它维护的CAM表来做点到点的数据包传输。
  • 在虚拟网络中,虚拟交换机检测到连接到它的虚拟端口的虚拟机,然后用MAC来转发流量到正确的目的地(点到点)。

在ESXi安装之后,默认的配置有一个标准虚拟交换机一个叫VM Network的端口组和一个作为ESXi管理口的网卡叫vmk0的VMkernel port。这个默认配置可以用来实现基本的虚拟网络和物理网络的连通,如果你有更复杂的虚拟网络需求,我们就要自己来创建额外的VMkernel port,端口组或者虚拟交换机。

那么我们来查看下vSphere7版本的虚拟网络的一些限制: https://configmax.vmware.com/guest?vmwareproduct=vSphere&release=vSphere%207.0&categories=2-0

从中我们能看到 ESXi主机支持最多4096个端口,其中8个作为预留口,但是最多活动端口是1024,其中8个作为预留口,那么最多可用并且活动端口就是1016。


Q:标准虚拟交换机中的三类连接类型是?

1.VMkernel网络适配器: 这种连接类型是ESXi用来主机管理(通常所说的ESXi管理口),vMotion,iSCSI,NFS等服务的流量使用的连接类型,我们可以把不同的服务分到不同的VMkernel适配器上,也可以分配到同一个VMkernel适配器上,一般简写成vmk0,vmk1……VMkernel适配器需要分配IP地址;
以vmk0作为主机管理端口为例,如它设置了IP地址192.168.1.50,我们就可以在局域网内通过192.168.1.50来管理这台ESXi主机。

2.虚拟机端口组/PortGroup: 端口组可以理解成虚拟机和虚拟交换机之间连接的一种模板,一般说来虚拟机是将虚拟网卡连接到虚拟交换机上的端口组/PortGroup的一个端口上(想像成一台电脑的网线从物理网卡连接到了物理交换机上)来做网络交换(虚拟机使用直通的网络设备除外)。在创建端口组时还可以设置 VLAN ID 这样同一个虚拟交换机下面还可以通过不同端口组来做VLAN隔离。

3.物理网络适配器: 这是虚拟交换机和物理交换机连接的物理载体/桥梁。从示意图中,我们看到虚拟交换机中有一个端口(可以有多个)叫做上行链路/Uplink port,上行链路和物理网卡连接在一起,这个物理网卡在vSphere里可以标记为VMNIC/PNIC/UPLink,物理网卡作为连通虚拟网络和物理网络的桥梁,通常来说它本身不和IP地址绑定,所以当我们给ESXi主机分配IP时并不是直接分配给了它的物理网卡,而是分配给了VMkernel适配器。

WeiyiGeek.虚拟交换机连接类型

WeiyiGeek.虚拟交换机连接类型


网络隔离

描述: 在vSphere中虚拟网络中的隔离,可以通过一个虚拟交换机的不同端口组设置不同VLAN ID来隔离, 那么也可以通过多个虚拟交换机来直接做"物理隔离";

WeiyiGeek.有无VLAN实现隔离

WeiyiGeek.有无VLAN实现隔离

两种方式都可以做到隔离,但有什么不同呢?

首先,虚拟交换机是通过软件来模拟物理交换机的行为。那么在ESXi上创建越多的虚拟交换机就应该需要越多的资源来做交换功能。

其次,如果我们想做流量隔离,在单虚拟交换机上就需要配置VLAN,或者不用VLAN,用多虚拟交换机来“物理隔离”。因为在很多网络中,可能物理网络中也没有配置VLAN来做隔离,比如部门1连接物理交换机01,部门2连接物理交换机02,这样的物理隔离,那么我们就可以把部门1要用的虚拟资源连在虚拟交换机01上并且通过上行链路->物理网卡连接到物理交换机01上,然后部门2要用的虚拟资源连在虚拟交换机02上并且通过上行链路->物理网卡连接到物理交换机02上,这样部门1和部门2所需要的虚拟资源就“物理隔离”了,同时,Management和vMotion连接不同的物理交换机也可以实现管理和迁移的“物理隔离”。从整体上来说,我们也做到了业务部门的流量(部门1和部门2)和IT管理的流量(Management和vMotion)隔离。

最后我们看到图中每个虚拟交换机我们都设置了2个上行链路(冗余),这样单虚拟交换机需要2个物理网卡,4个虚拟交换机就需要8个物理网卡,这时候我们就要考量这台服务器是否有能力通过PCI插槽来接入这么多网卡了,因为PCI插槽还可能有连接阵列卡等设备的需求。

Tips: 不要因为你能创建多个虚拟交换机就去创建,要根据实际需求和硬件设备来具体分析,建议通过尽量少的虚拟交换机来实现需求。


混杂模式

介绍过vSphere的2种虚拟交换机。标准和分布式。关于“混杂模式”的生效范围,两种虚拟交换机也是有所区别的。拿标准虚拟交换机举例,虚拟交换机级别的安全下有“混杂模式”,虚拟交换机的端口组可以继承虚拟交换机的安全属性,也可以覆盖该安全属性。


多网卡基础配置

目的描述: ESXI服务器中创建虚拟机时,可自由选择在两个路由网络中选择;
环境描述:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
VMware ESXi™
# 客户端版本: 1.33.4
# 客户端内部版本号: 14603083
# ESXi 版本: 7.0.0
# ESXi 内部版本号: 14896552


# 将路由1的LAN口网线插入服务器vmnic0口(第一个网口);路由2的LAN口网线插入服务器vmnic1口(第二个网口);
vmnic0 | ntg3 | 18:66:da:f3:80:ec | 已启用 | 1000 Mbps, 全双工
vmnic1 | ntg3 | 18:66:da:f3:80:ed | 已启用 | 1000 Mbps, 全双工

# 路由器1 VLAN 0
192.168.12.233/24
# 路由器1 VLAN 100
192.168.13.233/24


操作步骤:
Step 1.登陆 ESXI Web 页面进行网络的相应管理(导航器 -> 网络 -> 虚拟交换机 -> vSwitch0 -> 编辑设置 -> 将上行链路1开启、将上行链路2关闭)

WeiyiGeek.vSwitch0编辑

WeiyiGeek.vSwitch0编辑

Step 2.添加一个标准的虚拟交换机 (导航器 -> 网络 -> 虚拟交换机 -> 添加标准的虚拟交换机 -> vSwitch1-234)

Step 3.添加一个新的端口组(导航器 -> 网络 -> 端口组 -> 添加端口组 -> 输入名称 PC-Network 、Vlan 默认为0 (为了隔离通信您也可以设置其它VLAN) )

WeiyiGeek.端口组

WeiyiGeek.端口组

Step 4.添加一个TCP/IP堆栈为我们的ESXI添加一个其它网段的管理地址, 同样也需要创建一个Management-Slave 的端口组(VLAN 100),TCP/IP堆栈为192.168.13.233/24

WeiyiGeek.TCP/IP堆栈

WeiyiGeek.TCP/IP堆栈

Step 5.新建立虚拟机选择我们创建的的PC-NetWork网络;

WeiyiGeek.PC-NetWork

WeiyiGeek.PC-NetWork


1
2
3
4
5
6
7
8
9
10
11
[[email protected]:~] vmware -vl
VMware ESXi 6.7.0 build-10764712
VMware ESXi 6.7.0 Update 1


注册虚拟机数据存储浏览器增加容量刷新操作

datastore1
类型: VMFS6
位置: /vmfs/volumes/5e05fcf7-e9a97d3c-c45a-d4ae52d2b8ef
UUID: 5e05fcf7-e9a97d3c-c45a-d4ae52d2b8ef

是否确定要将此主机置于维护模式? 点击确定即可;
https://my.vmware.com/group/vmware/details?downloadGroup=OEM-ESXI67U3-DELLEMC&productId=742

https://www.anrip.com/

https://jingyan.baidu.com/album/bea41d43a974e3b4c51be6f7.html?picindex=14

http://koolshare.cn/forum.php?mod=viewthread&tid=159178&highlight=esxi

https://blogs.vmware.com/vsphere/2018/07/vsphere-upgrade-series-part-3-upgrading-vsphere-hosts.html

https://neosmart.net/wiki/upgrading-vsphere-esxi-from-the-command-line-automatically/

https://tinkertry.com/easy-upgrade-to-esxi-650a

1
2
3
4
5
6
7
8
9
10
11
12
13

[[email protected]:~] esxcli software sources profile list -d /vmfs/volumes/datastore1/update-from-esxi6.7-6.7_update03.zip
Name Vendor Acceptance Level Creation Time Modification Time
-------------------------------- ------------ ---------------- ------------------- -------------------
ESXi-6.7.0-20190801001s-no-tools VMware, Inc. PartnerSupported 2019-08-08T09:57:28 2019-08-08T09:57:28
ESXi-6.7.0-20190802001-no-tools VMware, Inc. PartnerSupported 2019-08-08T09:57:28 2019-08-08T09:57:28
ESXi-6.7.0-20190802001-standard VMware, Inc. PartnerSupported 2019-08-08T09:57:28 2019-08-08T09:57:28
ESXi-6.7.0-20190801001s-standard VMware, Inc. PartnerSupported 2019-08-08T09:57:28 2019-08-08T09:57:28
[[email protected]:~] esxcli software vib install -d /vmfs/volumes/datastore1/update-from-esxi6.7-6.7_update03.zip -p ESXi-6.7.0-20190802001-no-tools
[InstallationError]
[Errno 28] No space left on device
vibs = VMware_locker_tools-light_10.3.10.12406962-14141615
Please refer to the log file for more details.

unless you are using drivers other than those in Cisco’s customized ESXi image, you may run the upgrade like this:
esxcli software sources profile list -d /vmfs/volumes/datastore1/Patches/.zip
esxcli software profile install -d /vmfs/volumes/datastore1/Patches/.zip -p –ok-to-remove –dry-run

“–ok-to-remove” will ensure that obsolete vibs will be removed
“–dry-run” can be used to test what the command will do. Once satisfied, run the command again without this option.

André
https://www.vediotalk.com/archives/3956

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
WeiyiGeek:
今天闲来无事,又试了几个软件:rufus-3.5 可以,这强迫症有救了
序列号网上一大堆啊:
0U0QJ-FR1EP-KZQN9-J1C74-23P5R

WeiyiGeek:
https://www.frost.net.cn/archives/511


when I tried to upgrade to 6.7 U2 the same error occurred. But by executing the following commands I've successfully upgraded my Server:


cd /tmp

wget http://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/tools-light/VMware_locker_tools-light_10.3.5.10430147-12986307.vib

esxcli software vib install -f -v /tmp/VMware_locker_tools-light_10.3.5.10430147-12986307.vib

esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-6.7.0-20190402001-standard

ESXI 主机名设置:https://wusiyu.me/%E4%B8%BAesxi%E8%AE%BE%E7%BD%AE%E4%B8%BB%E6%9C%BA%E5%90%8D/

步骤如下网络 -> TCP/IP 堆栈 -> 默认 TCP/IP 堆栈 -> 编辑设置;

WeiyiGeek.ESXI主机名

WeiyiGeek.ESXI主机名

0x01 存储配置

挂载 NFS

(1) 将 Windows 2008 Server R2 搭建的 NFS 挂载到 vSphere 中

  • Step 1.首先开启nfs服务,然后在我们Server 2008 R2 选择 VMware-ISO 目录进行NFS共享, 并在NFS 高级共享设置中设置编码以及访问类型(注意勾选根目录访问)
WeiyiGeek.Server-NFS

WeiyiGeek.Server-NFS

  • Step 2.在 vCenter 添加数据存储 -> 选择 通过网络在 NFS 共享中创建 NFS 数据存储。 -> 选择 NFS 3 -> 设置名称和配置 点击下一步即可 或者 vSphere ESXI 中进行新增;
WeiyiGeek.vSphere ESXI 中进行新增NFS存储

WeiyiGeek.vSphere ESXI 中进行新增NFS存储

PS : 如何在 Server 2008 R2 安装配置 NFS 服务请参见 https://www.cnblogs.com/sttchengfei/p/13542132.html