简单来说,虚拟化可以为我们的工作带来以下几种便利:
-
减少物理服务器数量
-
提高资源利用率
-
可实现环境隔离
-
可实现资源隔离
-
虚拟机可实现分钟级交付
-
虚拟机的配件可动态扩容
-
虚拟机的计算节点可动态迁移
虚拟化技术
我们主要使用Hypervisor,也叫做VMM(Virtual Machine Monitor,虚拟机监视器)来实现服务器的虚拟化,Hypervisor它不是一款具体的软件,而是一类软件的统称。像VMware、KVM、Xen、Virtual Box,都属于Hypervisor。
VMware大家应该很熟悉,就是VMware Workstation。学习Linux的话,很多人都是在windows系统下安装WMware,然后创建Linux虚拟机。
Linux服务器一般是使用KVM作为虚拟化工具,KVM (全称是 Kernel-based Virtual Machine) 是 Linux 下 x86 硬件平台上的全功能虚拟化解决方案,包含一个可加载的内核模块 kvm.ko 提供和虚拟化核心架构和处理器规范模块。
虚拟化平台架构
虚拟化平台主要有以下三种架构:
- 本地存储
物理机上运行虚拟机,虚拟机的盘在物理机的磁盘上
- 集中存储
运行虚拟机的物理机,虚拟机的磁盘在共享存储中。在集中存储架构中如果一台host挂了,VM可以通过平台的设置去另外一台物理机上运行,这就实现了虚拟机的动态漂移。
- 分布式存储
分布式存储架构中虚拟机的磁盘位于所有服务器上,这种架构也叫“计算存储一体化”,虚拟机的磁盘会打散成很多块块,这些块块分布于集群内所有的机器上,这样就实现了存储能力的最大化。
虚拟机的IO不再受限于单机的磁盘,而是利用到整个集群里磁盘的能力。削峰填谷、提高了虚拟机的IO能力,而且通过冗余保障了数据的安全性。
这种架构的缺点是严重依赖网络稳定性,一旦网络挂了,所有的虚拟机就会全挂。
虚拟化平台的高可用机制
虚拟化平台的高可用机制是指虚拟机所在的物理机挂了后可以将虚拟机快速切换到另外一台物理机运行。
高可用的前提条件是物理机挂了,对于虚拟机内部的故障并没有检测机制,属于不完整的高可用方案,主要是基于以下两个目标:
-
虚拟机计算节点动态迁移
-
虚拟机磁盘动态迁移
虚拟化原则
虚拟机的出现是为了使一些大的计算资源分割成许多小的资源然后灵活调配 ,遵循的是分而治之的原则,如果一个虚拟机申请了物理机超过一半的资源就违背了这个原则,那样还不如直接使用物理机来的干脆,所以我们在使用虚拟化的时候一般要遵循以下几个原则:
-
某一虚拟机所占资源不超过宿主机的40%
-
不承载磁盘IO密集型组件(数据库,消息队列,搜索引擎)
-
以双路2U服务器来说,整合比控制在1:4 – 1:10较为理想
-
CPU可一定程度上超量分配,最多可以超分一倍左右
-
内存一般不可超量分配
在使用虚拟化一段时间后,发现它存在一些问题:
- 虚拟机的系统层会占用比较多物理机的资源,需要更进一步提高服务器的资源利用率
最后
小编利用空余时间整理了一份《MySQL性能调优手册》,初衷也很简单,就是希望能够帮助到大家,减轻大家的负担和节省时间。
关于这个,给大家看一份学习大纲(PDF)文件,每一个分支里面会有详细的介绍。
这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)!
份学习大纲(PDF)文件,每一个分支里面会有详细的介绍。
[外链图片转存中…(img-SIr17Jiz-1714731435639)]
这里都是以图片形式展示介绍,如要下载原文件以及更多的性能调优笔记(MySQL+Tomcat+JVM)!