华为HCIE云计算培训笔记第4天

CPU虚拟化
首先,在传统计算机当中,如何使用CPU:1、操作系统独占CPU 2、操作系统拥有对CPU的最高权限 (ring0)

ring0 操作系统内核使用 特权指令
ring1 2 驱动程序使用 很少使用
ring3 应用程序使用 非特权指令

引入虚拟化之后,出现两个问题:
1、hypervisor运行多个VM,VM、hypervisor都要使用CPU,如何共享
2、VM作用应用程序,只允许使用ring3,但vm中也有操作系统,需要使用ring0,指令越级。

1、VM使用vCPU,hypervisor将vCPU调度到PCPU上运行,实现物理CPU资源的分时复用

2、经典虚拟化->二进制翻译“全虚拟化”->操作系统辅助的“半虚拟化”->硬件辅助的“全虚拟化”

KVM CPU虚拟化三种模式:
1、客户机模式:对应非根模式 主要用于处理guestOS非IO类代码
2、内核态模式:对应根模式ring0 vm entry vm exit
3、用户态模式:对应根模式ring3 主要用于处理guestOS IO类代码

KVM:1、kvm模块 运行在内核态 2、qemu模块 运行在用户态

vm entry:当需要运行非IO类代码,需要进入客户机模式(非根),entry
vm exit:当不需要运行非IO类代码,退出客户机模式(根),exit

正常运行,不需要进行切换
虚拟化开销:1、由根模式下vmm处理,带来开销 2、entry \exit的切换开销

vmm与hypervisor的关系?
1、绝大部分情况下,相等
2、vmm大于hypervisor,在hypervisor上加了libvirt


内存虚拟化
Native操作系统对内存的认识与管理达成以下两点认识:

内存都是从物理地址0开始的

内存都是连续的

引入虚拟化后出现的问题:

从物理地址0开始的:物理地址0只有一个,无法同时满足所有客户机从0开始的要求;

地址连续:虽然可以分配连续的物理地址,但是内存使用效率不高,缺乏灵活性。

VMM需要处理以下两个问题:

1、维护客户机物理地址到宿主机物理地址之际间的映射关系。GPA -> HPA

2、截获虚拟机对客户机物理地址的访问,并根据映射关系转换为宿主机物理地址。(GVA ->) GPA -> HVA -> HPA

GVA: Guest Virtual Address 客户机虚拟地址:虚拟机操作系统使用的地址
GPA: Guest Physical Address 客户机物理地址:虚拟机所认为的机器地址

HVA: Host Virtual Address 宿主机虚拟地址:qemu-kvm在机器上,申明一段连续的大小的地址,用于分配给虚拟机使用。

HPA: Host Physical Address 宿主机物理地址:机器地址

(GVA ->) GPA:操作系统本身就具备MMU模块,可以实现虚拟地址到物理地址的转换。
GPA -> HVA -> HPA:

如何解决以上的问题?
一、软件方式
xen同时具备半虚、全虚,以xen为例子。
1、直接模式
在半虚拟化情况下,guest OS是经过修改,是知道自己跑在虚拟化环境下。直接实现GPA -> HPA。此张表保存在vm中。
2、影子列表
在全虚拟化情况下,guest OS没有经过修改,不知道自己跑在虚拟化环境下。在hypervisor中,引入虚拟的MMU,实现GPA -> HVA -> HPA。此张表保存在hypervisor中。hypervisor需要做两次转换,压力较大。性能比较差。
二、硬件方式
intel ept:直接在CPU上,实现GPA -> HVA -> HPA,在CPU上保存此张表。
amd npt:也是类似的方式,直接在CPU上,实现GPA -> HVA -> HPA,在CPU上保存此张表。

硬件方式与影子列表:
1、性能较好。
2、减少软件厂商的工作。

1、KVM属于哪种虚拟化类型?CPU虚拟化是属于半虚、还是全虚?
2、CPU虚拟化是有哪些方式?
3、如何区分半虚还是全虚?xen是属于哪种方式?
4、kvm有哪些部分组成?分别运行在哪里?
5、内存虚拟化有哪些实现方式?分别有哪些缺点?
6、cpu有哪些运行模式?分别做什么的?

虚拟化类型:
1、寄居虚拟化 workstations
2、裸金属虚拟化 xen vmware esxi
3、混合虚拟化 kvm
4、操作系统虚拟化 容器

IO虚拟化:
全模拟
HW=> Host Kernel
Host Kerne=>qemu
qemu=>kvm
kvm=>guest
Virtio
HW=> Host Kernel
Host Kerne=>qemu
Qemu=>guest
Vhost
HW=> Host Kernel
Host Kernel=> Guest

CSBS VBS 云服务器、云硬盘备份(ebackup)
CSDR 云服务器容灾(主备容灾)
CSHA 云服务器高可用(双活容灾)
VHA 云硬盘高可用(本地高可用)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优质网络系统领域创作者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值