概述
文章目录
- 一、你是如何来理解虚拟化的?
- ①复习一下 KVM 虚拟化
- ②KVM 虚拟化技术的核心功能
- 二、虚拟化前后的对比
- ①虚拟化前
- ②虚拟化后
- ③两者对比
一、你是如何来理解虚拟化的?
①复习一下 KVM 虚拟化
- KVM 是什么技术:它是一个虚拟化技术
- KVM 的技术定位(实际应用):能够模拟硬件资源/设备/操作系统
②KVM 虚拟化技术的核心功能
工作原理:
- 以 workstation 为例,可以分为三层,第一层是应用层,跑应用程序
- 中间一层是虚拟化层,或称为用户层
- 最下面一层是内核层
核心组件功能:
-
QEMU:负责调用硬件资源,管理虚拟机
-
KVM:把物理硬件资源虚拟化,提供给 QEMU 调用
-
最终由 QEMU 把其全部串在一起,他们之间由 API 对接
二、虚拟化前后的对比
①虚拟化前
- 每台主机只能拥有一个操作系统,比如苹果的 MacOS 与微软的 windows 就不能在一台电脑上同时安装,除非你弄双系统登录或者以虚拟机的形式
- 软硬件紧密结合,相互依赖性很高,比如 eNSP,就需要几个组件的支持
- 在同一个主机上运行多个应用程序通常会产生冲突,进程冲突
- 系统资源利用率低
- 硬件成本高昂,且并不灵活
②虚拟化后
- 打破了操作系统和硬件的互相依赖,灵活调用
- 通过封装到虚拟机的技术,管理操作系统和应用程序能分为单一的个体
- 增强安全性,实现故障隔离
- 虚拟机是独立于硬件的,它们可以在任何硬件上运行!
③两者对比
操作系统方面(虚拟化之前):
- 在 LAMP 架构中(以一台主机实现 Linux + Apache + MySQL + PHP),且其中的 Apache 与 MySQL 资源是进行共享的
- 如果架构要求服务间的安全性隔离比较高的话,那么 Apache 的页面和 MySQL 数据库的目录就一定不能互相碰面
- 因为,如果 Apache 漏洞暴露出来,黑客就可以通过 Apache 的进程访问到 MySQL 的数据目录,进而获取 MySQL 中的数据,这种是一种非常严重的安全隐患!是一个连带的灾难
- 而想解决这种潜在危险,可以通过实现内核级别的隔离,即使用虚拟化技术来实现,两者压根就不会在一个操作系统上
- 当然了,虚拟化技术也不能完全隔离这种攻击,但是可以提高安全性,提高黑客的技术难关
软硬件结合:
- 因为硬件和操作系统不兼容或是不支持,导致会有一些软/硬件的功能不能正常的使用
- 而使用虚拟化后,软/硬件之间会通过虚拟化层驱动来进行调配(隔离)
- 只要虚拟化层可以识别软/硬件,就可以将之前不兼容的软/硬件糅合在一起结合使用!
在同一台主机上运行多个应用程序通常会产生冲突:
- 比如,Apache 与 Nginx,使用的都是 80 端口,一起使用时会有冲突,之前我在编译安装 Nginx 时必须要关闭 Apache httpd 服务
- 不过,也不是完全不能用,可以通过反向代理的方式来同时使用来实现动静分离
- 不过,在同一台主机上使用这种方式,Nginx 和 Apache 中重要的数据文件可能会被同时泄露出去,这可真是个大灾难
- 而虚拟化相对来说概念就简单多了,使用虚拟机,部署两个操作系统,分别部署两个服务,可以隔离服务,增加安全性!
最后
以上就是幸福老虎为你收集整理的复习:虚拟化技术(KVM)(深入剖析)一、你是如何来理解虚拟化的?二、虚拟化前后的对比的全部内容,希望文章能够帮你解决复习:虚拟化技术(KVM)(深入剖析)一、你是如何来理解虚拟化的?二、虚拟化前后的对比所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复