[TOC]
0x00 前言简述
描述: 本章主要对于 vSphere 虚拟化解决方案之ESXI的在企业中实践相关操作进行相应的整理与归类,方便日后查询;
关键字:
- 主机配置
- 网络配置(基础知识、实践操作)
- 存储配置
0x01 主机配置
VMware vSphere 内容库
描述: 我们可以使用vSphere 内容库
来存储OVF信息库、ISO镜像或虚拟机模板以及订阅内容库
。
下面简单描述vSphere 内容库
创建以及使用流程:
- Step 1.登陆 vCenter 后点击菜单 -> 内容库(
Ctrl Alt 6
) -> 然后点击以及选择指定的 vCenter Server
-> 配置内容库(启用发布
) -> 选择库内容的存储位置 (NFS 共享/VMFS 6
) -> 最后点击完成。
WeiyiGeek.新建内容库
- Step 2.创建好之后便可在内容库界面看到创建的指定名称的内容库。
WeiyiGeek.VM-Template
- Step 3.例如选择虚拟机 -> 我们将虚拟机克隆为模板并克隆到的本地库 -> 输入基本信息 -> 选择位置(我们刚才创建的内容库)-> 选择计算与存储资源 -> 最好查看点击完成即可。
WeiyiGeek.虚拟机克隆为模板并克隆到的本地库
- Step 4.例如我们导入对象,此时我们新建一个
ISO-Image
的内容库,并安装步骤1的方式创建。
WeiyiGeek.ISO-Image
- Step 5.在内容库中选择
ISO-Image
-> 选择操作 -> 导入项目 -> 指定从源或者本地文件导入(此处我们以Ubuntu镜像为例) -> 导入将ISO文件上载到库项目。
WeiyiGeek.将ISO文件上载到库项目
- Step 6.使用存储在内容库中的VM模板以及ISO镜像。
- 1) 在内容库中选择
VM-Template
-> 选择XXX-PC-Win
镜像 -> 然后从此模板新建虚拟机。 - 2) 在内容库ISO-image存储的磁盘的EXSI中,新建虚拟机后在虚拟机设置里面 -> CD/DVD 驱动器 -> 内容库 ISO 文件 -> 选择我们上传的镜像。
- 1) 在内容库中选择
WeiyiGeek.内容库的使用
0x02 网络配置
vSphere虚拟网络入门介绍
描述: 在学习vSphere虚拟网络前,我们先看下面的图来理解虚拟网络是如何构成的,此处以单ESXi主机为例
。
流程步骤: 虚拟机虚拟网卡->虚拟交换机端口组->虚拟交换机内部交换->虚拟交换机上行链路->物理网卡->物理交换机
,完成了虚拟机和物理网络的连通。
WeiyiGeek.vSphere虚拟网络示意图
PS : 最近几个版本的vSphere都限定了一台虚拟机最多可以配置10个虚拟网络适配器
。
vSphere虚拟网络示意图解析:
- (1) 从最上面虚拟机开始上面配有
虚拟网卡/vNIC(或者叫虚拟网络适配器)
,适配器的类型参考官方文档以 vSphere7.0 为例参考: (https://docs.vmware.com/cn/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-AF9E24A8-2CFA-447B-AC83-35D563119667.html) - (2) 中间的虚拟交换机,在vSphere的网络配置里虚拟交换机分为
标准交换机(Virtual Standard Switch)
和分布式交换机(Virtual Distributed Switch)
;
标准交换机
代码语言:javascript复制标准交换机是通过ESXi主机来创建和管理的,这就意味着当你有多台ESXi主机时,你就要分别去每一台ESXi上创建标准交换机里的端口组等设置,可能这个工作量还不算什么,但是当一年之后你要去修改端口组,或者扩展端口组呢?(这种需求应该可以叫做Day2 operation吧)。
因为标准交换机不能集中管理,也许我们可以通过一些自动化脚本来实现,但自动化脚本也要适应上面提到的Day2 operation, 所以管理员的开销还是挺大的。
通过创建或者编辑标准交换机的操作界面,我们大致能了解到一些它的功能:
Layer2交换
IPv6
VLAN
网卡绑定
出口流量整形
安全策略
绑定和故障切换策略
总的来说,标准交换机可以解决大部分小型部署中的虚拟网络需求,我们应该避免在中型或大型部署中使用标准交换机,或者可以保留的使用有限的功能。更多的虚拟网络需求通过分布式交换机或者NSX来实现。
分布式交换机
代码语言:javascript复制分布式交换机在标准交换机的基础上,增加了一些额外的功能,而且提供了集中管理的接口。
比如:
入口流量整形
网卡绑定和故障切换策略中基于负载的绑定
端口洪泛控制
私有VLANs
以端口为单位的策略设置
端口镜像
NetFlow监控
端口状态监控
如图是个基于2台ESXi主机设置的分布式交换机示意图, 所谓的集中管理,分布式交换机不是在ESXi主机上创建的,而是vCenter。 在vCenter中在数据中心的Actions菜单中可以选择分布式交换机,然后创建或者导入。分布式交换机上的流量并不会通过vCenter来转发,来看一个分布式交换机的架构图。
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.分布式交换机拓扑图
- (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 7.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.虚拟交换机连接类型
网络隔离
描述: 在vSphere中虚拟网络中的隔离,可以通过一个虚拟交换机的不同端口组设置不同VLAN ID
来隔离, 那么也可以通过多个虚拟交换机来直接做"物理隔离"
;
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服务器中创建虚拟机时,可自由选择在两个路由网络中选择; 环境描述:
代码语言:javascript复制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编辑
Step 2.添加一个标准的虚拟交换机 (导航器 -> 网络 -> 虚拟交换机 -> 添加标准的虚拟交换机 -> vSwitch1-234)
Step 3.添加一个新的端口组(导航器 -> 网络 -> 端口组 -> 添加端口组 -> 输入名称 PC-Network 、Vlan 默认为0 (为了隔离通信您也可以设置其它VLAN) )
WeiyiGeek.端口组
Step 4.添加一个TCP/IP堆栈为我们的ESXI添加一个其它网段的管理地址, 同样也需要创建一个Management-Slave
的端口组(VLAN 100),TCP/IP堆栈为192.168.13.233/24
WeiyiGeek.TCP/IP堆栈
Step 5.新建立虚拟机选择我们创建的的PC-NetWork网络;
WeiyiGeek.PC-NetWork
代码语言:javascript复制[root@localhost:~] 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
代码语言:javascript复制
[root@localhost:~] 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
[root@localhost:~] 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
代码语言:javascript复制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/为esxi设置主机名/
步骤如下网络 -> TCP/IP 堆栈 -> 默认 TCP/IP 堆栈 -> 编辑设置
;
WeiyiGeek.ESXI主机名
0x0 存储配置
挂载 NFS
(1) 将 Windows 2008 Server R2 搭建的 NFS 挂载到 vSphere 中
- Step 1.首先开启nfs服务,然后在我们Server 2008 R2 选择 VMware-ISO 目录进行NFS共享, 并在NFS 高级共享设置中设置编码以及访问类型(
注意勾选根目录访问
)
WeiyiGeek.Server-NFS
- Step 2.在 vCenter 添加数据存储 -> 选择
通过网络在 NFS 共享中创建 NFS 数据存储。
-> 选择NFS 3
-> 设置名称和配置 点击下一步即可 或者 vSphere ESXI 中进行新增;
WeiyiGeek.vSphere ESXI 中进行新增NFS存储
PS : 如何在 Server 2008 R2 安装配置 NFS 服务请参见 https://www.cnblogs.com/sttchengfei/p/13542132.html