目录
主机和集群
vCenter
vCenter 提供了对 Datacenter 便捷的单点控制平台,运行在 Windows 服务器中,可集中管理 VMware ESX/ESXi Host,并提供基本的 Datacenter 服务(访问控制/性能监控/配置)。
安装过程:
1. 安装 EXSi Host
安装 vSphere Client
使用 vSphere Client Login EXSi Host 之后,点击 文件 ==> 部署 OVF 模板,部署 VMware vCenter Server Application 虚拟机(CentOS),也可以运行在 Windows 服务器上。
配置虚拟机 VMware vCenter Server Application 的 IpAddress 。
使用 vSphere Client Login 到 VMware vCenter Server Application 。
到此为止才算是部署好了 vCenter 环境,可以使用 Datacenter 等高级功能。
Datacenter
Datacenter 数据中心是 Host 和 Virtual Machine 等清单对象的主要容器。可以添加 Host、 Folder、 Cluster 到 Datacenter 。Datacenter 之间的交互是受限制的。
Cluster
Cluster 集群是一组共享 资源 & 管理接口 的 Host。向 Cluster 添加 Host 时,Host 的资源会成为 Cluster 资源的一部分。Cluster 管理其中所有 Host 的资源。 通过 Cluster 可以管理 DRS 和 HA 解决方案。
DRS:可以持续保持 ESX/ESXi Host 间 VM 工作负载的平衡。
HA:可以使 ESX/ESXi Host 上的 VM 从 Host 故障中自动的恢复过来。
Host
Host 主机是使用虚拟化软件 Hypervisor 运行 VM 的计算机服务器。通常, 是运行 EXS/EXSi 软件的计算机。Host 提用 VM 运行必须的 CPU 和内存资源,并且使 VM 能够访问 Datastore 和 Network 。
Virtual Machine
Virtual Machine 虚拟机,在虚拟机上运行的操作系统称之为 GuestOS 。VM 从其上层的 Host 中获取 CPU、 Memory 、显卡、 Datastore 的访问权和 Netowrk 的连接能力。
vCenter & Datacenter & Cluster & Host & Virtual Machine 的关系框架图
注:图左上为 Cluster, 图右下为 Host, 阴影部分为 Datacenter, 白色的计算机为 VMware vCenter Server Application ,左下为 vSphere Client 。
Folder
Folder 文件夹,是一种用于进一步细化、分组 vCenter 清单对象(Datacenter/VM/Cluster/Host)的容器。 分组对同一个 Folder 的清单对象必须是同一个类型的。
Folder & Datacenter & Cluster & Host & Cluster 的关系架构图
注:上图是 VM 级别的 Folder 分组,实际上还可以在 Datacenter、 Cluster、 Host 级进行分组。
Resource Pool
Resource Pool 资源池可以将 Host 或 Cluster 的资源划分为若干个更小的池,Resource Pool 之间是相互隔离的。VM 在 Resource Pool 中运行并利用其中的资源。Resource Pool 可以保持 VM 间工作负载的平衡(自动的透明迁移)。Resource Pool 提供了资源的完全隔离和资源共享资源, 熟练的通过分配控制使用:预留,份额和限制,来限制虚拟机的资源占用.
当Cluster启用DRS,根资源池是建立在集群级别,每当ESXi主机添加到DRS群集,主机的资源添加到根资源池,要求运行在ESXi虚拟化层的资源对群集不可用(主机资源总数-虚拟化开销=群集可用资源)。所以一个集群(Cluster)的资源池包含集群中所有主机(Host)的资源总和。比如一个2主机的集群,每个主机都有16GHz CPU和16GB内存,那么这个集群的资源总和就是32GHz的CPU和32GB的内存。在这个集群中创建的资源池就从这个总的可用资源中分配。集群的可用资源总是小于集群的总资源,这是因为每台主机都会占用一部分CPU和内存资源,保留给自己的Hypervisor和COS用(如果是ESX的话)。虽然集群资源池是所有主机资源的总和,但是并不意味着某一VM可以使用超过某一主机的资源。比如,2台16GB内存的主机组成集群,集群中创建了一个30GB内存的资源池,但是任何单台VM都不能使用超过16GB pRAM的,因为VM不能跨主机使用资源,VM可用到的资源还受到单台主机物理资源上限的影响。
注意: 在 Cluster 中创建 Resource Pool 的前提是需要开启 DRS 功能, 如果一个 Host 加入到了 Cluster 中, 那么这个 Host 是无法创建 Resource Pool 的. 因为如果该 Host 出现故障时, 其需要进行虚拟机迁移, 但此时无法确定其他的 Host 是否开启了 Resource Pool 功能, 导致无法确保迁移的成功. Host 只有在没有加入 Cluster 时, 才能够创建 Resource Pool.
将一个本来就拥有 Resource Pool 的 Host 加入到 Cluster, 可以使用两种模式.
无法在 vCenter Server 群集中创建资源池?
除非在群集上启用了 VMware DRS,否则会禁用创建资源池选项。由于群集中的主机设计用来在主机故障时可以互换,因此禁用了“新建资源池”选项。如果群集中的主机级别资源池因故障转移到群集中不包含资源池的其他 ESX 主机,虚拟机行为会受到严重影响。
Template
Template 模板,Template 是 VM 的映像,用于快速创建新 VM,可以节省配置 VM 和安装 GuestOS 的时间。Template 包含了一个 OS、 Application、 用于定义整套虚拟硬件设备的配置文件。
可以将 VM 转换为 Template,将 VM 克隆为 Template、将现有的 Template 克隆为新 Template 。
数据存储
Datastore Cluster
Datastore Cluster 数据存储集群,是数据存储资源的集合,可以在数据存储集群级别支持资源分配策略。创建了 Datastore Cluster 之后可以使用 DRS 拉来管理存储资源。
Datastore
Datastore 数据存储,用于保存虚拟机文件已经虚拟机操作所需要的其他文件的逻辑容器。 Datastore 能存在于不同类型的物理存储设备中。
Datastore 与 Host、 VM 间的关系:Host 会检查其能够访问的存储设备,并将其格式化为 Datastore, Datastore 是 Host 存放虚拟磁盘文件、VM 核心组件相关文件的地方。每台 VM 都使用虚拟磁盘来存储其 OS 、程序文件、相关数据文件。即: Datastore 是 Host 物理磁盘资源的逻辑呈现,用于存储 VM 的数据文件。
Host & Datastore 的关系框架图
注:Datastore 是 vSphere 中存储资源的逻辑容器,存储资源可以由独立的存储设备提供,也可以由 Datacenter 中的 Host 的磁盘设备提供。创建 VM 时,会将逻辑的存储资源分配给 VM ,也可以按照分配策略将村粗资源分配给 Host ,再由 Host 分配给 VM 。
简而言之,VM 会占用 Datastore 中的一部分资源。
网络
VMware vSphere 提供了两种类型的网络架构:
vSphere Distributed Switch 分布式交换机,用于管理数据中心级别的 VM 和 Host 网络。
标准交换机网络,用于管理 Host 级别的网络。
标准交换机
VM & 标准交换机网络关系框架图
注:图中的网络适配器就是网卡,标准 vSwitch 具有通过 Port 实现的 VLan 的功能,类似 Neutron 的 OVS 。
Example:
Host1 Port C 属于 VLan 1, Host2 Port C 也属于 VLan 1,那么就可以实现一个跨 Host 的 VLan 。当然,也会支持单个 Host 中的 VLan 。
ESXi Host 的网络组成:
物理网卡: 在 ESXi 中,物理网卡名称都叫 vmnic,第一片物理网卡为 vmnic0, 第二片 vmnic1, 依此类推。在安装完ESXI后,默认会添加第一片网卡 vmnic0。 vSphere 的高级功能,必须通过多片网卡来实现。
虚拟交换机: vSwitch 由 ESXi 内核提供,为一个虚拟的交换机。每一台 ESXi Host 都会拥有一个 vSwitch(标准 | 分布式), 用于连接不同的 VM 及 vCenter Server Application。 vSwitch 可由 Host 提供的一块或多块 vmnic 组成,不同的 vSwitch 无法使用同一个 vmnic。 默认会安装一台虚拟交换机 vSwitch0, 用于 vCenter, VM 联机等功能。
通信端口(组) port/port group: 主要用于提供 Service Console、 VmKernel、虚拟端口通信端口组功能
NIC Team: 将不同的 vmnic 集成到同个端口组中,用于增加速度、failover、负载均衡以及其它功能。
VMware vSphere虚拟出一个或者多个虚拟交换机vSwitch,vSwitch提供多个虚拟端口提供给虚拟机来进行联网,同时vSwitch通过VMware vSphere服务器上的物理网卡来与外部的物理网络进行连接。
在VMware vSphere Client管理esx的配置(configuration) ==> 网络属性(Properties)中可以看到 vSwitch 的状况,如下图 ESXi 服务器中只建立一个虚拟交换机 vSwitch0,在 vSwitch0 下有一个虚拟端口组 br 100,并且有 7 台虚拟机连接在这个 br100 (走虚拟机关联的流量)下,另外还有一个 Service Console 端口(Management Network), 是这台 ESXi Host 的管理 IP 地址。还有 VMKernel 端口(走存储、迁移等流量)
端口组的 3 种类型:
(1) 虚拟机端口(组):用于 VM 之间的联通。
(2) VMKernel 端口(组): 用来连接iSCSI、NFS存储,或者用来做vMotion。
(3) Service Console 服务控制台端口(组):用于配置 IP 管理 ESX/ESXi Host。
如下图所示:
通过编辑属性我们可以修改 vSwitch0 的端口数量,最大可以支持到4088个虚拟端口。可以查看VM Network虚拟机端口组的属性,Service Console 端口必须配置 IP 地址,第一个 Service 默认名称为 vswiff0 , 依此类推;
VMKernel 通信端口同样必须配置 IP 地址,主要用于 vMotion ,连接存储设备的 iSCSI 或 NFS 以及 Fault Tolerance log 表项等功能。
虚拟机通信端口组(Virtual Machine)用于让 ESXI 的虚拟机与 Switch(物理switch或vSwitch) 连接。
分布式虚拟交换机
VM & 分布式虚拟交换机关系框架图
分布式 vSwitch 可以横跨多个 ESXi Host。 使用 Distributed vSwitch 后,多个 ESXi Host 中的 VM 如同连接在同一 vSwitch 上一样,VM 可以在任意 ESXi Host 之间迁移。
总结:理解vSphere的网络结构是后续所有高级功能的关键,vSwitch标准交换机将同一ESX HOST上的不同VM连接在一起,而Distributed vSwitch则将不同ESX HOST上的不同VM连接在同一个虚拟交换机上,使得这些VM在不同ESX HOST迁移时,就如同一直在同一vSwitch端口上一样。
VMware 中的 VLan:
因为主机物理网卡数量的限制,当众多不同的虚拟机需要网络隔离时,就需要使用VM的vlan技术。可以通过在标准 vSwitch 或分布式 vSwitch 中创建端口组时指定的 VLan ID 来划分不同的 VLan 。