本章将会讲解云计算,内存虚拟化的知识
内存虚拟化抽象了物理内存,虚拟机每个进程都被赋予一块连续的,超大的虚拟内存空间。
根据系统结构来定,32位系统寻址空间为2^32,64位系统为2^64。
为每个VM维护一个影子页表记录虚拟化内有与物理内存的映射关系。VMM将影子页表提交始CPU的内存管理单元MMU进行地址转换。VM的页表无需改动。
采用页表写入法,为每个VM创隆一个页表并向点拟化层注册,VM运行过程中VMM不断管理和维护该页表,确保VM能直接访问到合适的地址。
EPT/NPT是内存管理单元MMU的扩展,CPU硬件一个特性,通过硬件方式实现GuestOS物理内存地址到主机物理内存地址的转换,系统开销更低,性能更高。
内存复用是指在服务器物理内存一定的情况下,通过综合运用内存复用技术对内存进行分时复用。
内存复用技术有:
内存资源Qos有:
内存预留:VM预留最低的物理内存
内存份额:适用资源复用场景,按比例分配内存资源。
物理内存6G,部署三台虚拟机。
未开启内存复用每台只能分得2G内存。
开启了内存虚拟化(这里以物理内存150%)物理内存由6G变为逻辑上的9G(虚拟上的9G)则每台虚拟机内存为3G.
通过软件模拟的形式模拟IO设备,不需要硬件支持,对虚拟机的操作系统也不需要修改(因为模拟的都是一个常见的硬件网卡,如IntelE1000,主流操作系统一般都自带这些驱动,因此默认情下虚拟机不需要再安装驱动。缺点就是性能差了。
由Hypervisor提供资源调用接口。VM通过特定的调用接口与Hypervisor通信,完成获取完整l/O资源控制操作。(需修改内核及驱动程序,存在移植性和适用性问题,导致其使用受限。)
Hypervisor直接把硬件PCI设备分配给虚拟独占使用,性能当然好啦。但是浪费现件设备,且配置复杂,首先需要在hypervisor指定通过PClid方式分配给指定的虚拟机,然后虚拟机再识别到设备再安装驱动来使用。
通过硬件的辅助可以让虚拟机直接访问物理设备,而不需要通过VMM。最常用的就是SR-IOV(Single Root I/OVirtualizmion)单根I/O虚拟化标准,该技术可以直接虚拟出128-512网卡,可以让虚拟机都拿到一块独立的网卡,直接使用I/O资源。
正常我们的I/O分为:
I/O环适配功能主要用来提升大块(44K以上)多队列(32队列深度以上)类型的IO密集型业务的I/O性能(就是将存储设备资源利用率提高)。
用户可通过开启I/O环适配功能,提升I/O性能。
创作不易,求关注,点赞,收藏,谢谢~