day02 - 云计算解决方案02
本章内容:
(一)计算虚拟化
(二)内存拟化
(三)存储虚拟化
(一)计算虚拟化
经典计算虚拟化解决方案:特权解除、陷入-模拟
- 存储空间分用户态和内核态,区分权限,相互独立,用户态供用户使用,内核态供操作系统使用
- 给虚拟机的是用户态的权限,有部分权限不允许被拥有
- 非敏感指令时直接和CPU通信,发送特权和敏感指令时陷入到虚拟化解释器,由虚拟化解释器模拟
- x86系统架构用户态有19敏感指令,直接执行可能影响其他虚拟机,造成隔离性差。传统虚拟化技术的VM往下发这些指令的不报错,特权指令被VMM层捕捉并执行
- 当A下发特权指令时,被VMM捕捉,VMM陷入特权状态去执行特权指令
解决方法:
-
全虚拟化:不管是否为特权指令,全部指令经过VMM,VMM进行虚拟机下发指令的筛选,一旦发现特权指令,进行陷入模拟。
- 缺点:消耗VMM资源,效率低
-
半虚拟化:修改操作系统内核,只有特权指令才经过VMM层,此时 才陷入模拟
- 优点:性能接近物理机
- 缺点:
- 需要修改操作系统的源代码
- 依赖虚拟化层(与虚拟化层的强绑定关系),不利于技术的推广
- 硬件辅助虚拟化(改变硬件,未来主流解决方式):所有的指令不经过VMM直接下发到底层硬件,底层硬件接收到特权指令时向VMM通信,VMM进行陷入模拟,需要在BIOS里把VT打开。
(二)内存虚拟化:
在多任务系统下不允许不同进程之间相互修改数据,以保障数据安全,操作系统内因此出现了MMU(内存映射表)自动进行为偏移的计算以保护内存数据。但因此也大大降低了性能。
(三)存储虚拟化:
存储虚拟化的目的:将不同的存储设备格式化,以屏蔽不同的硬件差异,统一管理
- 块设备 :所有的硬盘都属于块设备的一种,块管理工具进行数据的读写
- 文件系统:对物理设备进行格式化和管理,负责数据的读写和保护,保证数据的一致性,保证受保护的数据块不被其它程序误写或者误读
虚拟化存储(本质上也是一个文件):
-
SAN存储
- IP SAN
- FC SAN
- Server SAN
非虚拟化存储(本质上是一个块设备):
- 裸设备+ 逻辑卷:虚拟机的虚拟磁盘对应块设备,通过映射将空间分配给主机使用,在虚拟机看来就是一块磁盘。这中方式不支持热迁移
- 裸设备+逻辑卷:虚拟机的磁盘文件对应块设备
- 非虚拟化存储:直接在磁盘上分配空间给VM实用,本质上是一个块设备,即所谓的逻辑卷,不支持存储热迁移
- 主机存储虚拟化 + 文件系统
- 虚拟化的文件存储实质上是一个文件,即可支持热迁移。
- 存储设备虚拟化:通过远端存储设备管理并存储数据,
- 经文件系统抽象,统一格式,屏蔽底层硬件差异,向系统层提供统一的形式,对下层硬件进行操作文件系统进行磁盘(块设备)管理,所以文件系统建立在块设备之上
Linux 下的盘片的表示方式:sdnx
- n :表示第n块硬盘
- x:表示第几个分区
小结: