运维工程师面试题总结-虚拟化技术与KVM企业级应用14

简介: 个人学习

1. 为什么要用虚拟化

充分利用物理资源,提供冗余性、向云计算演进的必要基础。

2. CPU虚拟化

CPU的虚拟化本质上是时间分片。这里我们用的是KVM来虚拟的。

流程如下: QEMU调用ioctl进入内核,内核读取VMCS,(这里先解释下VMCS,VMCS是异常处理的关键结构,里面存储了 客户机,宿主机,陷入退出的各种状态。)把客户机的状态装在到CPU的CS:EIP,然后执行 kvm_exit_handler. 如果是IO引起的,则进入用户模式,执行QEMU

3. 内存虚拟化

一般的内存虚拟化都经过了两次的页表转换。 客户机线性地址到 客户机物理地址, 然后再到宿主机物理地 址。 这样经过了两次转换,效率很难提高。于是就出现了影子页表。

这里就不得不说影子页表了。 这里有一张hash表,维护者物理机和客户机的内存地址映射表。 那么如何被建 立的呢?

当发生页故障的时候,VMM搜索客户页表,如果不存在客户线性地址VGA 到 客户机物理地址 GPA的转换,那 么则返回给虚拟机异常,由虚拟机处理页故障。

如果存在映射关系,则先去寻找QEMU地址空间的主机线性地址 HVA, 如果不存在 HVA 映射到 HPA, 那么 kernel 去分配物理地址。 然后VMM可以使用该HPA构建影子页表。 至此,影子页表建立完成。

4. 磁盘使用raw/qcow2有什么区别

raw不支持快照但性能好,常用的是qcom2支持快照,性能相比差一点。

5. kvm和Xen有何区别?

Xen是一个外部的hypervisor程序(虚拟机管理程序);它能够控制虚拟机和给多个客户机分配资源. 另一方 面, kvm是linux的一部分, 可使用通常的linux调度器和内存管理. 这意味着kvm更小更易使用. 另一方面, Xen同时支持全虚拟化和半虚拟化(修改过的客户机能有更好的性能). kvm当前不支持半虚拟化

6. 如果对一个VM进程使用kill -9将会发生什么?

从客户机的角度来看, 就如你猛地把电源线从主机上拔出一样. 从主机的角度来看, 进程被杀掉, 进程占用的所有资源被施放

7. kvm各模式说明

有三种模式:用户模式,内核模式,客户模式。 QEMU运行在用户模式,用户模式就是一般意义上运行的进程的模式,QEMU调用一系列的ioctl就可以进入内核模式,这里内核模式再调用kvm_create等函数就可以进入客户模式,客户模式也就是虚拟机运行的模式。

但是如果虚拟机出现了异常或者常见的缺页中断或者IO操作的时候呢,他是没有权限对全局资源进行操作的, 这样就会被VMM,这里也就是KVM进行捕获,然后捕获之后呢再跳转到用户模式调用QEMU进行IO操作。所以说内核模式其实是个中间变量,专门用来进行错误发现的时候的转换的。

8. kvm框架包含哪些

KVM 分为了两个模块,一个是KVM Driver, 另一个是QEMU。前者负责CPU和内存的虚拟化,后者负责IO的 虚拟化。用户空间的QEMU调用一系列的ioctl() 函数进入内核空间,然后内核控件再调用一系列函数进入 Guest OS客户空间运行虚拟机

9. kvm的三个组件及作用

libvirt(用来管理虚拟机)、virt(安装和克隆虚拟机)、qemu(管理虚拟机磁盘的)

10. 简述kvm的几种模式

有三种模式:用户模式,内核模式,客户模式。 QEMU运行在用户模式,用户模式就是一般意义上运行的进程 的模式,QEMU调用一系列的ioctl就可以进入内核模式,这里内核模式再调用kvm_create等函数就可以进入 客户模式,客户模式也就是虚拟机运行的模式。

但是如果虚拟机出现了异常或者常见的缺页中断或者IO操作的时候呢,他是没有权限对全局资源进行操作的, 这样就会被VMM,这里也就是KVM进行捕获,然后捕获之后呢再跳转到用户模式调用QEMU进行IO操作。所以说 内核模式其实是个中间变量,专门用来进行错误发现的时候的转换的。

11. kvm如何做CPU虚拟化

CPU的虚拟化本质上是时间分片。这里我们用的是KVM来虚拟的。流程如下:

QEMU调用ioctl进入内核,内核读取VMCS,(这里先解释下VMCS,VMCS是异常处理的关键结构,里面存储了 客户机,宿主机,陷入退出的各种状态。)把客户机的状态装在到CPU的CS:EIP,然后执行  kvm_exit_handler. 如果是IO引起的,则进入用户模式,执行QEMU

12. 如何对KVM的I/O优化

调优kvm的I/O调度算法,centos7默认的是deadline,使用命令将参数改为noop并查询,将以上的命令和 查询结果以文本形式提交到答题框。

[root@localhost ~]# cat /sys/block/vda/queue/scheduler  

[root@localhost ~]# echo noop > /sys/block/vda/queue/scheduler  

[root@localhost ~]# cat /sys/block/vda/queue/scheduler

13. 如何对KVM内存调优

Kvm大页:所谓的大页指的是内存的大页面,内存采用的是分页机制,内存默认的页面大小都是4KB,假如系统 里的一个应用程序需要2MB的内容,如果操作系统还是以4KB小页为单位,那么内存里就要有512个页面 (512*4KB=2M),所以在TLB里就需要512个表项以及512个页表项,因此操作系统就要经历512次的TLB  miss和512次的缺页中断才能将2MB的应用程序空间全部映射到物理内存里。必然操作数量会大大增加,从而 间接的影响性能。

使用cat命令,只查看当前系统有多少大页,然后设置大页数量为20并查看,接着使用命令使配置永久生效, 最后将大页挂载到/dev/hugepages/上。将上述所有命令和返回结果以文本形式提交到答题框。

[root@localhost ~]# cat /proc/meminfo | grep HugePages

[root@localhost ~]# echo 20 >/proc/sys/vm/nr_hugepages

[root@localhost ~]# cat /proc/meminfo |grep Hugepages

[root@localhost ~]# sysctl -w vm.nr_HugePages=20

[root@localhost ~]# mount -t hugetlbfs huagetlbfs /dev/huagepages/

如果想上手操作的朋友们可以通过阿里云ecs服务器免费试用和低价购买,入口如下

入口一:新人免费试用

入口二:大学生免费试用

入口三:低价服务器购买

入口四:低价服务器购买2

入口五:建站特惠购买


目录
打赏
0
0
0
0
1124
分享
相关文章
A10 vThunder 5.2.1-P12 LTS - 虚拟化应用交付控制器 (ADC)
A10 vThunder 5.2.1-P12 LTS - 虚拟化应用交付控制器 (ADC)
57 4
A10 vThunder 5.2.1-P12 LTS - 虚拟化应用交付控制器 (ADC)
Omnissa ThinApp 2503 - 应用虚拟化软件
Omnissa ThinApp 2503 - 应用虚拟化软件
123 8
Omnissa ThinApp 2503 - 应用虚拟化软件
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显。作为Windows Server的核心组件,Hyper-V具备卓越的技术性能,支持高可用性、动态迁移等功能,确保虚拟机稳定高效运行。它与Windows深度集成,管理便捷,支持远程管理和自动化部署,降低管理成本。内置防火墙、RBAC等安全功能,提供全方位安全保障。作为内置组件,Hyper-V无需额外购买软件,降低成本。其广泛的生态系统支持和持续增长的市场需求,使其成为企业虚拟化解决方案的首选。
AK泄漏28小时:运维工程师的极限自救
随着比特币等加密货币的价格持续上涨,挖矿活动成为了黑客们眼中的一块肥肉。尤其是在2024年至2025年间,比特币价格突破历史高位,吸引了大量投资者和投机者的目光。与此同时,这也引发了新一轮的黑客攻击浪潮,目标直指那些拥有强大计算资源的企业和个人用户。
|
7月前
|
Linux虚拟化技术:从Xen到KVM
Xen和KVM是Linux平台上两种主要的虚拟化技术,各有优缺点和适用场景。通过对比两者的架构、性能、安全性、管理复杂性和硬件依赖性,可以更好地理解它们的适用场景和选择依据。无论是高性能计算、企业虚拟化还是云计算平台,合理选择和配置虚拟化技术是实现高效、稳定和安全IT环境的关键。
329 8
今晚围观—>安全运维工程师现场直播用通义灵码发现和修复代码漏洞
12 月 18 日晚 19:30 分,阿里云中小企业直播间「AI 编码助手一年养成记:从“打酱油”到企业开发“真正助手”」见。
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
612 3

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问