知识点整理
内存选择
一般来说,每个虚拟机需要的内存在1~4GB甚至更多,还要为VMware ESXi预留一部分内存
2个6核的2U服务器配置64GB内存,4个6核或8核心的4U服务器配置128GB或更多的内存
网络带宽
对于普通业务虚拟机来说磁盘占用400GB,当业务系统达到99.999%的需求时,有8台这样的虚拟机需要在315S内完成迁移
需要的网络带宽 = 400GB * 8 * 10bit/315s = 102Gbit/s
VMware ESXi (5.5)的硬件需求
1. 将仅在安装有64位x86CPU的服务器上安装和运行 2. 要求主机至少具有两个内核,仅支持LAHF和SAHF CPU指令 3. 需要在BIOS中针对CPU启用NX/XD位 4. 需要至少4GB的物理RAM。至少提供8GB的RAM,以便能够充分利用ESXi的功能,并在典型生成环境下运行虚拟机 5. 要支持64位虚拟机,x64CPU必须能够支持硬件虚拟化(Intel VT-x 或 AMD RVI) 6. 一个或多个前兆或10Gbit/s以太网控制器 7. 一个或多个以下控制器的任意组合 基本SCSI控制器 RAID控制器 8. SCSI磁盘或包含未分区空间用于虚拟机的本地 RAID LUM 9. 对于串行ATA(SATA),有一个通过支持的SAS控制器或支持的板载SATA控制器连接的磁盘。SATA磁盘将被视为远程、非本地磁盘。 默认情况下,这些磁盘将用作暂存分区,因为他们被视为远程磁盘
vSphere standard Switch
vSwtich
在2层网络运行,保存mac地址表,基于mac地址向其他交换机端口转发数据帧,支持vlan配置,支持使用IEEE802.1q vlan标记针实现中继,能够建立端口通道
vSwitch不能使用动态协商协议建立802.1q中断或端口通道,如动态中继协议DTP或链路聚合控制协议LACP
vSwitch不能连接另一个vSwtich,因此不会出现环路配置(STP)
端口和端口组
区分VMkernel通信和虚拟机之间通信,必须至少配置一个VMkernel端口或VM端口组(新建vSwitch时,同时创建)
上行链路
如果vSwitch没有配置上行链路,那么这个网络仅支持内部通信,即只允许虚拟机之间通信。这样数据流就不会传输到ESXi主机的物理适配器上,也不支持vMotion
为了让虚拟机访问本地ESXi主机所运行虚拟机中的资源,vSwitch必须至少配置一个物理网络适配器,即上行链路
注意
一台主机上的虚拟网络交换机最大端口数量是4096,如果创建带有1024端口的虚拟交换机,那么最多创建4台虚拟交换机
默认创建一台vSwitch要预留8个端口,创建4088个端口的vSwitch即使用了虚拟交换机所有端口
每个vSwitch的端口组数量,最大512个
每个vSwitch的上行链路,最大32个
每个主机的最大激活端口,最大1016个(除去8个预留端口)
管理网络
管理流量是一种特殊的网络流量,它通过VMkernel端口传输,与虚拟机产生的网络流量分离 VMkernel端口可用于管理、vMotion、iSCSI、NAS/NFS访问和vSphere FT,基本上包含虚拟机管理程序自身产生的所有类型流量 VMkernel包含两个不同的组件(创建一个VMkernel端口时同时创建) vSwitch端口组 VMkernel网络接口 每一个VMkernel NIC 都要求匹配vSwitch的一个VMkernel端口,要求配置IP地址,用于访问管理网络或VMkernel网络
TCP/IP协议栈
可以创建多个TCP/IP协议栈,每个协议栈都有独自的路由表和DNS配置
可以指定VMkernel接口,不幸的是只能在创建VMkernel端口时将其指定给TCP/IP协议栈
VLAN
如果没有VLAN那么,对于管理流量、vMotion流量、iSCSI流量、NFS流量、虚拟机中的所有流量都要单独创建一个标准的vSwitch
如果增加一个基于IP的存储网络和少数需要支持的虚拟机网络,那么所需要的vSwitch和上行链路数量就会马上增加,甚至还不包括冗余的上行链路,如NIC组合
基于以上两点的情况,那么将要创建的标准vSwitch将大大增加,这也复杂化了管理,而使用VLAN可以简单化这个问
一个端口组一次只能关联到一个VLAN上,但多个端口组可以同时关联到一个VLAN上
要上VLAN正确连接到一个端口组,这个vSwitch的上行链路必须连接一个配置为中继端口的物理交换机端口(Trunk Port)
NIC组合
要让vSwitch及其关联的端口或端口组与其他ESXi主机或物理系统通信,vSwitch必须至少配置一个上行链路
在上行链路连接到物理网络后,VMkernel和连接到该vSwitch的虚拟机就可以连接网络
如果一个物理网络适配器坏了,那么连接物理网络就会中断,这个时候就需要NIC组合来达到冗余上行链路的效果
ESXi主机最多只有32条上行链路,一个上行链路对应一个物理NIC,一个物理NIC一次只能连接一个vSwitch
创建一个有效的NIC组要求将所有上行链路连接到同一广播域的物理交换机上,并且物理交换机端口配置Trunk模式
基于虚拟交换机端口的负载均衡(出站复杂均衡)
基于vSwitch端口的默认负载平衡策略使用了一个算法,它将一个虚拟交换机端口绑定到vSwitch关联的一个特定的上行链路
这个算法会尝试在所有链路上保持相同数量的端口与上行链路配对,从而实现负载均衡
这个策略设置保证来自一个连接虚拟交换机端口的特定虚拟网络设配器的流量总是使用同一个物理网络适配器
如果有一条上行链路出现问题,那么出现故障的上行链路的流量会自动转移到另一个物理网络适配器上
缺点
这个策略不支持动态负载均衡,但是支持冗余性
如果虚拟网络适配器少于物理适配器,那么一些物理适配器可能会没有使用
来源MAC地址的负载均衡
这个策略也很容易出现与基于vSwitch端口策略相同的问题,因为来源MAC地址和vSwitch端口一样都是静态的
虚拟机客户机操作系统可以配置多个虚拟网络适配器会有多个来源MAC地址,因此可以使用多个物理网络适配器
基于IP散列的负载均衡(out-IP策略)
基于IP散列的策略使用来源和目标IP地址计算出一个散列值,该散列值可以决定用于通信的物理网络设配器。
来源和目标IP地址的不同组合必然产生不同的散列值,然后当一个虚拟机与不同的目标通信,那么算法会根据散列值让它访问不同的物理网络适配器
当vSwitch设置了使用基于IP散列的NIC组负载均衡策略时,除非硬件支持,否则vSwitch必须将所有物理网络适配器连接到同一个物理交换机上
此外,物理交换机必须配置链路聚合
vSphere Distribution Switch
vSwitch
vSwitch是在各个主机上管理的,然而vSphere分布式交换机则是一个跨越多个关联ESXi主机的虚拟交换机
vSphere分布式交换机跨越集群中多个服务器,显著降低集群ESXi环境的复杂性,简化向ESXi集群增加新服务器的过程
vSphere分布式交换机与标准vSitch相似性
vSphere分布式交换机为虚拟机和VMkernel接口提供链接服务
vSphere分布式交换机使用物理网络适配器作为上行链路,连接外部物理网络
vSphere分布式交换机可以使用VLAN划分逻辑网络分段
分布式端口组
和vSwitch标准交换机一样,端口组是连接VMkernel和虚拟机的重要组件
如果没有分布式端口组,那么其他组件也无法连接分布式交换机
管理适配器
虚拟适配器是VMkernel接口,因此管理虚拟适配器其实就是管理分布式交换机的VMkernel流量,其中包括管理、vMotion、基于IP的存储额容错日志流量
物理适配器就是作为分布式交换机上行链路的物理网络适配器
在vSphere分布式交换机上使用NetFlow
NetFlow是一种将IP流量信息报告为流量流的高效机制
流量流的定义包括来源地址和目标IP地址、来源和目的TCP或UDP端口、IP地址和IP服务类型
支持NetFlow的网络设计将跟踪和报告流量流的信息,通常会将信息发送给一个NetFlow收集设备
创建私有VLAN
私有VLAN是vSphere的高级网络特性,它建立在vSphere分布式交换机的功能之上
在vSphere环境中,只有在使用分布式交换机时才能使用私有VLAN,而且不能在vSphere标准交换机上使用
必须保证vSphere环境连接的上游物理交换机支持PVLANs
属于同一个DMZ的主机相互间很少通信,但是在每一个主机上配置VLAN显然是很不方便的。使用PVLAN,就可以隔离各个主机,同时又能让它们处于同一IP子网内
配置限额
每一个vCenter Server的交换机数量,最大为128 每一个主机的最大端口数量(vSS/vDS),最大为4096 每一个vCenter实例的vDS端口数量,最大为60000 每一个vDS的ESXi主机,最大为1000 每一个vCenter实例的静态端口组数量,最大为10000 每一个vCenter实例的临时端口组数量,最大为1016
配置LACP
只有在使用vSphere分布式交换机时,LACP支持才可用,vSphere标准交换机不支持LACP
需要先在ESXi主机连接的物理交换机中配置LACP
虚拟交换机的安全配置
混杂模式
默认情况下,Promiscuous Mode选项设置为Reject,禁止虚拟网络适配器监控通过vSwitch或分布式交换机的流量
这是一种不安全的操作模式,它允许虚拟适配器访问不属于自己的流量
尽管有安全问题,但是有些原因需要交换机运行在混杂模式,如IDS要求使用这个功能监控所有流量,从中扫描出异常和恶意流量
IDS需要查看通过其他虚拟系网络适配器的流量,不要将这个功能分配给端口组的所有系统,而是只为IDS系统创建一个专用的端口组
允许MAC地址变更和伪信号
这两种安全策略都与是否允许(或拒绝)配置文件的初始MAC地址与客户机操作系统实际MAC地址不相同
MAC Address Changes
检测到达流量的完整性,如果将MAC Address Changes设置为Reject那么当初始MAC地址与实际MAC地址不匹配时,流量就不会通过vSwitch
Forged Transmits
检测外出流量的完整性,如果将MAC Address Changes设置为Reject那么当初始MAC地址与实际MAC地址不匹配时,流量就不会通过vSwitch
实现最高安全性
将每个vSwitch、分布式交换机或分布式端口组的MAC Address Changes、Forged Transmits和Promiscuous Mode设置为Reject
在获得授权或必要时,使用端口组放宽某个子网的虚拟机安全性,让它们能够连接这个端口组
vSphere storage design
重要性
vSphere的许多高级特性都依赖于共享存储,如vSphere HA、vSphere DRS、vSphere FT、和VMware vCenter站点恢复管理器等都非常依赖与共享存储
同样虚拟机和整个vSphere集群的整体性能都依赖与共享存储
存储方案选择
SAN存储区域网络,由磁盘或逻辑单元LUN实现的贡献存储
NAS网络附加存储,由远程访问文件系统构成的共享存储
本地存储与共享存储
1. 本地SAS/SATA/SCSI存储 2. 光纤通道 3. 以太网光纤通道FCoE 4. 使用软件和硬件发起者的iSCSI 5. NAS(PS:NFS) 6. InfiniBand
确定通用的存储阵列架构
外部连接 存储阵列与主机之间的外部链接通常是光纤通道或以太网,有时候也可能是InfiniBand和其它协议 存储处理器 它们负责处理I/O和运行阵列软件 阵列软件 1. 决定阵列的规模限制 2. 用于灾难恢复的远程存储复制 3. 执行测试、开发和本地恢复的快速实时本地复制的快照与克隆功能 4. 存档与去重复等容量压缩技术 5. 在各种粒度下的性能/成本存储层次之间的自动化数据迁移 6. LUN/文件系统扩大和移动性 7. 存储服务质量QoS 缓存内存 利用写缓存实现更低延迟和更高的IOPS吞吐量和使用缓存存储频繁读取的数据而实现更快的速度 磁盘 不同的存储阵列会支持不同的磁盘种类,也有不同的扩展支持 驱动接口 光纤通道 串行连接SCSI(SAS) 串行ATA(SATA)
理解RAID
廉价磁盘冗余阵列(RAID)是一种将相同数据存储多份的基本方法和重要方法 RAID不仅能够提高数据可用性,而且还能扩展单个驱动器的性能 每一个阵列都会实现多种RAID模式,即使很多时候它隐藏在文件服务器类型的阵列中,因为RAID位于文件系统之下,而文件系统是基础管理元素 RAID0 把连续的数据分散到多个磁盘上存取 不会磁盘错误提供任何冗余和保护 RAID1 通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互 为备份的数据 RAID0+1 将Raid0和Raid1技术结合在一起,兼顾两者的优势 在数据得到保障的同时,还能提供较强的存储性能 不过至少要求4个或以上的硬盘,也只运行一个磁盘出错 是一种高成本、高可靠性、高存储性能的三高阵列技术 RAID1+0 先对磁盘做mirror,然后对整个mirror组做条带化 比如8块盘,需要分成4个基组,每个基组2块盘 每个基组先做raid1,再做raid0 RAID5 具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢 同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低 RAID6 是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级 与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区 因此RAID 6的数据冗余性能相当好。但是,由于增加了一个校验,所以写入的效率较RAID 5还差,而且控制系统的设计也更为复杂,第二块的校验区也减少了有效存储空间
vSphere部分疑问解决
1. vSenter 中配置两种交换机,虚拟机数据是否一定经过vSenter主机? 不经过vSenter,所有的虚拟交换机配置都会下发到所有的物理主机中,每台物理主机都清楚的知道所有的网络拓扑 2. 物理机上的磁盘是否被使用?如果用本地磁盘做系统盘是否做RAID? 本地磁盘被使用来装载系统盘,可以做RAID 3. 系统日志文件存放在本地还是存储?是否使用固态硬盘存放日志数据? 主机的日志文件跟随系统一起存放在本地磁盘,而虚拟机的日志文件则跟随虚拟机系统一起存储在共享存储中,可以使用固态硬盘存放日志数据提升写速率 4. ESXi主机是否设置缓存?缓存是否使用固态硬盘? 物理主机未单独设置缓存,虚拟机也为单独设置缓存,可以单独配置缓存,也可以使用固态硬盘存储缓存数据 共享存储则使用了分级系统,存储数据首先会到缓存,经过系统分析该数据是否为常用数据,常用数据在转储到高速磁盘中,其它转储到速度较低的 5. 存储是否使用iSCSI? 可以考虑不错的方案,此架构使用了FC协议,配合光纤通道、光纤交换机提供高速的存储服务 6. vMotion流量是否使用单独的端口? vMotion端口、管理流量端口等非业务流量数据都有独立的端口,每个端口绑定一块独立的虚拟网卡 虚拟网卡网卡又和多块物理主机的真实网卡关联,并做高可用方案(如双活、主备网卡) 7. vSwitch上的vlan是否直接关联物理网络的vlan? 是的,VMware vSphere交换机使用的vlan与真实物理网络的vlan是一致的 8. VMkernel和VM端口组是否使用相同的网卡转发流量? look 6 一般来说VMkernel数据(管理、迁移、NFS等)连接的是标准虚拟交换,而业务流量一般连接分布式交换机 9. 分布式交换机是否存在于vCenter上? 否,look 1 10. 存储协议选择 $$$$$ FC $ iSCSI 11. 存储网关功能 整合异构存储(戴尔、华为等),提供统一、方便、好管理、好控制的块存储服务 这样后端存储就不会直接映射到主机上,存储网关整理块存储后统一一个接口提供给主机 12. 硬RAID为什么不好扩容? 因为,它已经规划好并落实到磁盘中,重新修改RAID需要推翻重来 并且一般来说服务器上的磁盘槽有限,几乎不能扩容了,硬RAID也几乎是做死了的 所以,共享存储使用软RAID方便随时修改,当存储资源不够的,随时添加 13. 是否需要分开存储数据元,元数据,建立两个集群? 可以考虑,提升存取速度 14. 是否可以为静态资源创建NAS? 可以使用,提升图片、视频、音频等静态文件的加载速度 15. 虚拟机宕机是否能检测并自定重启? 能检测,并发送报警信息,但需要手工重启 16. 网络规模扩大对于网络如果考虑(vlan限制)? VMware SDN 解决方案 NSX系列 vlan问题 软件防火墙 软件路由 ... 17. VMware vSphere如何进行全局监控? 企业级软件vsom($$$$$$)
官方文档:https://docs.vmware.com/cn/VMware-vSphere/index.html