不知道是我的问题还是啥,一个周8节课,竟然能水4节hhhhhh一定是老师讲课没有吸引力
但虽然上课没听讲,下来还是得自己看看讲了个啥子东西,基础概念还是应该了解了解
SAAS:software as a service 软件即服务
PAAS:platform as a service 平台即服务
IAAS:Infrastructure as a Service 基础设施即服务
一个烤比萨的例子
SAAS:直接把烤好的比萨给你,你印logo
PAAS:给你比萨皮,你加调料
IAAS:给你厨具,原料等,开始制作
总的来说
IAAS:就是租借服务器,存储空间,CPU算力等
PAAS:就租借中间节,比如数据库,操作系统等
SAAS:就是外包整个应用
XaaS:万物皆为云
虚拟化与云的关系
1:云是一种平台模式,把资源汇聚,然后再以服务方式对外
提供,实质上资源的汇聚,本质上是虚拟表示的汇聚
2:服务的方式提供
• 对“虚体”进行检索、浏览等
• 通过“虚体”实现对“实体”的管理(分配和回收)
• 实际的使用仍然是“实体”,但通过虚拟化接口访问
服务器虚拟化技术;
原因:企业需要处理其数据中心环境中服务器消耗过多资源的问题,处理计算能力未得到充分使用的问题,处理能源费用不断飙升的问题,处理手动流程的问题,以及处理总体效率低下和系统不灵活的问题。
解决方式:添加一层软件(超管理程序)来在一个物理服务器上运行多个操作系统实例和相关工作负载,而不是在一个服务器上运行一个操作系统实例和一个应用程序。这样就可以将多个程序集成到一个高性能的服务器上,使得整个架构中服务器数量减少,架构不再冗余
理解:可以理解为之前程序之占用计算器30%的资源,考虑将计算器资源分成3个虚机,每个虚机都运用程序,充分利用计算机资源(理解为CPU分时响应,虽然CPU仍然是CPU,但是效率提高了)
完全虚拟化,半虚拟化和硬件辅助虚拟化
前提:分为用户态和内核态,内核资源由操作系统态度,用户程序必须申请向操作系统申请资源
完全虚拟化:虚拟化层,也就是Vmware或者Virtualbox协助进行解决。虚拟机仍然是工作到用户态,但是当需要进行资源调度的时候,是通过虚拟化层向操作系统进行申请的,相当于中介的作用。
缺点就是速度特别慢,因为中介
第一种方式,完全虚拟化,其实就是骗我。虚拟化软件模拟假的CPU,内存,网络,硬盘给我,让我自我感觉良好,终于又像个内核了。
真正的工作模式是这样的。
虚拟机内核:我要在CPU上跑一个指令!
虚拟化软件:没问题,你是内核嘛,可以跑
虚拟化软件转过头去找物理机内核:报告管家,我管理的虚拟机里面的一个要执行一个CPU指令,帮忙来一小段时间空闲的CPU时间,让我代他跑个指令。
物理机内核:你等着,另一个跑着呢。好嘞,他终于跑完了,该你了。
虚拟化软件:我代他跑,终于跑完了,出来结果了
虚拟化软件转头给虚拟机内核:哥们,跑完了,结果是这个,我说你是内核吧,绝对有权限,没问题,下次跑指令找我啊。
虚拟机内核:看来我真的是内核呢。可是哥,好像这点指令跑的有点慢啊。
虚拟化软件:这就不错啦,好几个排着队跑呢。
内存的申请模式如下。
虚拟机内核:我启动需要4G内存,我好分给我上面的应用。
虚拟化软件:没问题,才4G,你是内核嘛,马上申请好。
虚拟化软件转头给物理机内核:报告,管家,我启动了一个虚拟机,需要4G内存,给我4个房间呗。
物理机内核:怎么又一个虚拟机啊,好吧,给你90,91,92,93四个房间。
虚拟化软件转头给虚拟机内核:哥们,内存有了,0,1,2,3这个四个房间都是你的,你看,你是内核嘛,独占资源,从0编号的就是你的。
虚拟机内核:看来我真的是内核啊,能从头开始用。那好,我就在房间2的第三个柜子里面放个东西吧。
虚拟化软件:要放东西啊,没问题。心里想:我查查看,这个虚拟机是90号房间开头的,他要在房间2放东西,那就相当于在房间92放东西。
虚拟化软件转头给物理机内核:报告,管家,我上面的虚拟机要在92号房间的第三个柜子里面放个东西。
硬件辅助虚拟化:通过硬件进行辅助,假设原先有0是内核态,3是用户态【Linux】下的机制,添加一个新的标志位,当切换标志位时说明进入虚机模式,虚拟机可以调度系统资源
对于虚拟机内核来讲,只要将标志位设为虚拟机状态,则可以直接在CPU上执行大部分的指令,不需要虚拟化软件在中间转述,除非遇到特别敏感的指令,才需要将标志位设为物理机内核态运行,这样大大提高了效率。
所以安装虚拟机的时候,务必要将物理CPU的这个标志位打开,是否打开对于Intel可以查看grep “vmx” /proc/cpuinfo,对于AMD可以查看grep “svm” /proc/cpuinfo
半虚拟化:
另外就是访问网络或者硬盘的时候,为了取得更高的性能,也需要让虚拟机内核加载特殊的驱动,也是让虚拟机内核从代码层面就重新定位自己的身份,不能像访问物理机一样访问网络或者硬盘,而是用一种特殊的方式:我知道我不是物理机内核,我知道我是虚拟机,我没那么高的权限,我很可能和很多虚拟机共享物理资源,所以我要学会排队,我写硬盘其实写的是一个物理机上的文件,那我的写文件的缓存方式是不是可以变一下,我发送网络包,根本就不是发给真正的网络设备,而是给虚拟的设备,我可不可以直接在内存里面拷贝给他,等等等等。
一旦我知道我不是物理机内核,痛定思痛,只好重新认识自己,反而能找出很多方式来优化我的资源访问。
这叫做类虚拟化或者半虚拟化。
https://blog.csdn.net/gui951753/article/details/81507924