集群特性 | |
HA | 高可用性 用于提高容错率 |
负载均衡 | 将负载过高的CNA上的虚拟机迁移到其他负载较低的CNA,实现负载均衡 负载高会带来系统运行的卡顿,并且长时间高负载工作会缩短硬件寿命 可以给集群设定规则或者通过一定的算法实现,比如计算节点的CPU利用率超过60%就进行虚拟机迁移(实现负载均衡) |
易扩容 | 当资源池中的虚拟资源比较少的时候,可以通过添加服务器或者外接存储资源的方式进行资源的添加,也叫水平扩容 |
内存复用 | 分为内存共享、内存气泡、内存置换三种技术适合在一起的。 在平台中只有一个内存复用的开关,不能够单独开启某个技术/小项。 |
内存共享 | 不通虚拟机共用物理内存中的一部分空间,比如3台虚拟机内存中有一部分数据是相同的就可以使用内存共享,并且这部分空间是只读不写的。因为是共享的,如果其中某一台对这块内存的数据作了修改会影响其他虚拟机的正常数据读取 |
内存气泡 | 负载较低的虚拟机可以暂时将自己的内存借给负载较高的虚拟机使用,让他们的负载降低 |
内存置换 | 将内存中调用频率低的数据暂时放在磁盘当中(磁盘开辟一部分空间作为虚拟内存,用于存放内存中的数据),然后内存中那部分数据空间就空出来了,也就可以存其他数据,当需要调用的时候,再去磁盘中读取 linux中叫swap分区(windows叫虚拟内存) |
虚拟化特性 | |
快速发放 | 模板部署、虚拟机复制 新部署或者复制的虚拟机都是关机状态,防止地址冲突 |
模板部署 | 可以按照模板快速部署虚拟机,并且可以进行个性化设置,例如IP地址、密码等 模板本质上也是一台虚拟机,但是不能开机,不占用计算资源 生产环境中用的比较多,因为如果数量庞大一台一台安装肯定不现实,一般安装一台然后转为模板,批量发放 |
虚拟机复制/克隆 | 可以直接将一台开机状态的虚拟机进行复制,快速生成虚拟机 和模板部署的区别:复制出来的虚拟机是完全一致的,无法进行个性化定制(IP地址、密码),但是资源是可以修改的(CPU数量、内存大小等) 测试环境用的较多,比如测试一个系统,可能一台的可靠性不够高,通过增加测试的量来检验稳定性和可靠性 |
资源热添加 | 在开机状态下添加资源(计算(CPU、内存)、存储(硬盘容量)、网络(网卡)),即时生效,不会中断业务 计算和网络资源可以添加也可以减小,并且及时生效 存储资源可以添加但是不能减少但是可以解绑定(删除数据),并且需要手动设置(格式化等等,并不是绑定了就能立刻用的) 存储不能减:比如磁盘80G,你减少到40G势必会带来数据的丢失 |
console控制 | 虚拟机没有显示器,一般一台服务器创建很多台虚拟机上百台,旁边会配一个显示器,但这也是远远不够用的,所以我们一般通过cosole线(一端是USB接口连接笔记本,一端是RJ45接口也就是网线接口),插到服务器上,通过笔记本上的超级终端软件(比如Xshell,CRT等等)进行连接控制 1、本地连接(常用) 2、远程连接(虚拟机刚开始没有操作系统没有地址不太好连接) 华为里叫VNC登录 |
快照 | snapshot |
创建 | 最多可以创建32个快照,形成快照链 类似于游戏存档,虚拟机做了快照之后会多一块磁盘,叫做差分盘,之前的拍摄快照时的状态会被保存(只读不写),后续的读写是在差分盘上进行的,写入的数据存在差分盘中,读取数据的时候,先读取差分盘中的数据(因为那是后来修改的),如果差分盘中的数据是空的,那么通过重定向进行读取的(重定向到原始的磁盘中) 每拍一次快照,当时的状态都会被保存,变成只读不改的状态 |
删除 | 删除其中一张快照,磁盘上的内容不会消失,它会将之前的内容进行合并 |
恢复 | 恢复到之前一张快照的状态,后续的内容会丢失 |
修改 | 比较鸡肋,修改名字 |
快照和备份的区别 | 备份是保障安全性:将数据复制一份存到其他地方 快照是临时性的东西,不能作为永久保存来使用,多用于破坏性测试的时候(比如系统升级可能会失败、打补丁以及有可能损坏系统的操作),一旦测试失败还能够进行恢复到破坏之前的状态 |
NUMA | 非一致性内存访问 提高CPU访问内存的效率,让CPU优先使用本节点的内存 3D视图:https://support-it.huawei.com/server-3D/res/server/2288hv5/index.html?lang=cn |
在早期服务器构成中,CPU和内存是隔开的,其中有个东西叫北桥也叫主桥(相当于一条通道),内存在将数据传给CPU的时候就需要通过北桥,之前CPU性能还比较差(频率低、核心、线程少)处理速度慢,所以对数据传输的速度要求还不是很高,但现在随着性能的提升,内存数量的增多和容量的增大(服务器都是128G起步),内存传输的体量就增大了,但是北桥那条通道没有改变,于是北桥的缺陷就成为了计算性能的瓶颈(相当于堵车) 后来就不要北桥了,直接将内存放在CPU附近,这样传输的距离短了效率就高了 一个CPU和附近的内存条叫做一个Node(节点),NUMA则是让CPU默认情况下去访问本节点的内存,提升读写效率,如果本节点的内存用完了,也是可以去使用其他节点的内存的,但是这样就没有性能上的提升了 |
华为虚拟化 | |
Tools | 高级特性前提,一个工具,非常重要,装完系统后第一步就是安装Tools,因为很多高级特性的前提就是安装Tools 分驱动部分和软件部分 |
vcpus数量=插槽数(物理CPU数量) * 核心数 * 线程数=2 * 20 * 2=80
创建集群所需设置的流程
1、内存复用 | 指在服务器物理内存一定的情况下,通过一定的技术手段使得虚拟机的内存总和大于服务器物理内存总和。默认150% |
开启 | 提高服务器中虚拟机的密度(数量),非核心业务、内存占用率不高的场景可以开启 |
关闭 | 提高虚拟机性能(企业核心业务、内存占用率高的场景不建议开启) |
服务器物理CPU 128G | 开启内存复用 128 * 150%=192G(vmems)虚拟内存 |
告警 | 总内存达到85%会告警,这时就可以扩容 |
2、虚拟机启动策略 | |
(1)负载均衡 | 开机时,VRM通过算法运算得到虚拟机在哪一台物理机上运行更合理,集群负载更均衡 |
(2)自动分配 | 轮询启动,不会运算,无脑地在每台物理机上逐一启动(减少VRM的计算压力) |
3、虚拟机NUMA结构自动调整
UMA | 一致性内存访问 |
NUMA | 非一致性内存访问(一种提高数据读写速度的技术) |
南桥 | 管理速度慢的设备 | 管硬盘、网卡 |
北桥 | 管理速度快的设备 | 管CPU、内存,会有散热片、风扇 |
FSB(前端总线) | CPU和内存交换数据就是通过FSB来交互的 |
UMA架构的缺陷 | 现在CPU数量越来越多,内存也越来越大,这个时候FSB(前端总线)就成为了瓶颈,因为所有数据都要经过前端总线,会造成拥塞。 |
NUMA | 将一部分内存与数个CPU绑定形成Node,会通过计算让虚拟机使用的的CPU和内存来自于同一个Node,以提高VM响应速度,但非常消耗资源、带来更多开销(计算也消耗资源)。当那部分内存不够时或者需要与其他Node中的内存交换数据时,可以通过QPI(快速互联通道)进行数据交互,但这会有一定的延迟和性能的影响。 |
NUMA与内存复用 | 开内存复用是为了提高虚拟机密度,节省成本 开NUMA是为了提高性能 同时开启会导致NUMA失效 |
无论如何 | 不可以跨主机分配/共享CPU内存资源 |
UMA架构(我们的台式、笔记本都是UMA架构)
NUMA架构(服务器一般都支持,PC不支持)
4、故障和响应策略 | |
1、原主机恢复虚拟机 | 弃车保帅 故障的服务器上的虚拟机不会迁移给其他正常工作的服务器,会等待故障的服务器正常重启之后,虚拟机再重启 |
场景: | 一个业务需要5台服务器,每台服务器部署20个虚拟机。 在实际规划部署的时候就部署了5台服务器(一般建议在原有需求上多增加一些资源,做好预防措施)。那么在这个时候,当5台中的其中一台服务器宕机以后,原本按照集群的HA(高可用)策略是会将宕机的服务器上的虚拟机迁移到其他节点的,但是在这个场景下,其他节点的剩余空间(资源)不足以支撑这20台虚拟机了(资源使用趋于饱和了),如果迁移过去很有可能导致整个集群崩溃。那么这个时候就会采用原主机恢复虚拟机策略,哪怕故障的服务器无法恢复,坏一台也比整个集群全崩塌来的要好。 |
2、HA虚拟机 | 当某台主机故障的时候,将故障主机上运行的虚拟机迁移到其他正常工作的主机上继续运行 |
场景: | 整个集群的资源部署充足,剩余节点资源能够很好地容纳故障主机上的虚拟机 |
3、虚拟机蓝屏处理策略(蓝屏只是一种表现形式,死机什么都算在内) | 利用虚拟机Tools功能来充当心跳机制,检测虚拟机的状态,一旦检测不到tools心跳,就认为虚拟机蓝屏,通过宿主机将虚拟机强制重启。 需要在虚拟机上安装Tools(就是一个服务在后台运行),通过心跳机制,CNA主机向CNA上的虚拟机定期发送心跳,如果tools没有回应那么就认为VM故障了,会执行命令把VM关掉、重启。 开机:virsh start server 重启:virsh reboot server 强制关机:virsh destroy server 再开机:start,就相当于重启虚拟机(这是在死机或者无法正常关机、重启状态下一种暴力的重启方法) |
4、不处理 | 故障以后不进行处理选择等待,适用于间歇性故障(一会儿就会恢复那种) 数据存储故障不处理会报错:I/O Error 华为默认选择不处理 |
虚拟机故障只支持Windows,并且只有蓝屏故障能够被检测出来,黑屏、APP故障是无法检测出来的 |
5、接入控制策略 | |
允许故障的数目 | 在规划时,需要预留30%左右的资源,以防止集群中有主机故障,保证所有的虚拟机都能正常运行 |
6、群体故障控制 | 在一个时间段中,当多台服务器故障的时候,只处理前几台故障的服务器上的虚拟机 防止一下子处理很多服务器,集群崩溃 如下例:在2个小时内如果出现多台服务器故障,那么只处理最先故障的两台服务器上的虚拟机 |
7、分布式计算资源调度DRS | 根据CPU和内存的使用情况,在集群中进行虚拟机迁移,来实现负载均衡 |
计算资源调度自动化迁移 | 当服务器的CPU或者内存达到预设值(负载过高时),则会将服务器上的虚拟机迁移到负载低的服务器 |
自动化级别 | |
1、手动 | 当达到迁移的标准时,会给出迁移建议,需要管理员手动同意 |
2、自动 | 当达到迁移的标准时,会自动将负载高的服务器上的虚拟机迁移到负载低的服务器上 |
敏感度 | 从保守到激进分成5档,可以对不同时段,某些天进行设置,当达到迁移的标准时,根据敏感度级别可以允许有不同的等待时间(比如等1分钟(根据级别不同,等待时间也不同)如果还是负载过高,则进行迁移) |
DRS规则 | 通过一定的规则,为系统在进行负载均衡的时候提供供迁移参考 |
聚集虚拟机 | 列出的虚拟机必须在同一台主机上运行 一个虚拟机只能加入一条规则 例:一些相关的应用在同主机相互调用速度更快,不需要跨主机调用 |
互斥虚拟机 | 列出的虚拟机不能在同一台主机上运行 一个虚拟机只能加入一条规则 例:在主备部署的时候,防止两台虚拟机在同一台主机上由于主机故障导致两台设备同时挂掉 |
虚拟机到主机 | 分为四种 |
规则优先级 | 必须、禁止 > 聚集、互斥 > 应该、不应该 |
8、电源管理DPM | 通过BMC实现 |
电源管理自动化功能会周期性的检查集群服务器的资源使用情况,如果集群整体空闲,资源使用率低的时候,会将多余服务器下电节能,下电前会将那些服务器上的虚拟机迁移到其他的服务器上,实现省电节能的目的。如果资源利用率过高,会将下电离线的服务器再次上电开启,增加集群的整体资源,并且将之前的虚拟机迁移回来减轻服务器负荷。 | |
一个大型的数据中心的用电量比的上一座小型城市,一年的电费都要上亿,因为不仅仅服务器需要用电,服务器周边的设备同样需要大量的电力来支持运转,比如通风系统,空调、电扇等降温设备,灯光照明系统等等 | |
例子:一个大型业务需要200台服务器运行2000台虚拟机提供业务支持,在半夜到凌晨的时候业务非常的空闲,这个时候可能只需要50到100台服务器就能很好的满足这个时段的业务需求,就可以下电100台服务器(如果这些服务器位于同一片区域那么可以将这块区域的周边设备如通风、降温设备一并关闭,能好的达到节约的目的),将那些服务器上的虚拟机迁移到还在工作的服务器上,当到了天亮的时候业务又开始繁忙起来了,再将之前下电的服务器开机,全力运转为业务提供稳定可靠的资源保障。 | |
但其实在真是生产环境中用的并不是很多,因为服务器本身设计出来就是为了7x24小时不间断工作的,并且频繁开关服务器会对性能造成影响 | |
电源管理同样有敏感度 | 敏感度介绍参考上面资源调度中的解释 激进:能不开机就不开机(能省则省) 保守:尽量保证开机,保障资源充足、业务正常运行 |
9、IMC策略 | 启用Intel兼容性,使得不同批次的服务器在同一个集群中正常工作,降低高配服务器的性能 |
CPU的差异主要是指令集之分,性能高的支持更多指令集,性能低的支持的指令集就比较少,IMC策略只能让高的去兼容低的 为了使集群内两种不同批次的处理器型号和架构能够兼容,让版本高、性能强的把性能降低至跟性能差的一致,防止集群不兼容、迁移出问题(水桶效应) 兼容性越高,性能越差 兼容性越低,性能越强 | |
QoS | 份额和预留只有在发生资源竞争时,才会触发 份额:按比例分配 预留:最低保留多少资源,优先级比份额高(如果份额获得的比预留少,那么以预留的为准) 限制:最高使用的资源 优先级:预留、限制>份额 CNA的CPU频率2.8GHZ 1、份额:按比例1:2:4分配 A:1(400MHZ) B:2(800MHZ) C:4(1600MHZ) 2、预留,给A预留700MHZ 多出来的300MHZ会从B和C中按比例获取 A:1(700MHZ) B:2(700MHZ) C:4(1400MHZ) 3、限制,VM3限制1100MHZ A:1(500MHZ) B:2(1000MHZ) C:4(1300MHZ) 还有网络QoS,但是虚拟机做的不是很好,用网络设备做的话效果会好很多,通常有网络限速、带宽控制、优先级等 |
为什么要创建多个集群? | |
1、服务器硬件配置差异 | |
2、根据部门来管理 | 不同部门创建不同集群 |
3、根据业务 | web+mysql、mail+OA+ERP |
4、根据集群规则 | 不同集群启用的功能不同(内存复用、NUMA架构) |