KVM原理

Linux内核模型: 单内核

  1. 单内核
    单内核指整个内核从整体上作为一个过程实现,运行在一个单独的地址空间内 ,内核之间的通信可以简单的用函数调用实现。这样的设计简单高效,但是每次的修改都需要整体重新编译,升级比较麻烦。
  2. 微内核
    微内核是指整个内核划分为多个独立的过程,拥有独立的地址空间,只有少量的核心的过程运行在特权模式下,使用进程通信而不是简单的函数调用。多模块的内核设计能够提升健壮性,但是进程间通信设计内核空间和用户上下文的切换,开销远远大于函数调用
  3. Linux内核
    为了满足性能要求,Linux被设计成单内核,但是也借鉴了微内核的精华:模块化以及模块的动态装载。除了核心模块一直运行在内核如进程切换,内存管理等,其他的大部分内核功能作为单独的模块,以二进制文件的形式存在,使用时动态状态,不使用的时候动态卸载。

虚拟化模型

模型: 物理系统 —— Hypervisor —— 虚拟机
  1. 底层物理系统: 处理器,内存,输入输出设备
  2. VMM/Hypervisor: 管理物理系统,并未虚拟机提供虚拟的硬件平台
  3. 虚拟机: 包括虚拟硬件和虚拟系统

KVM架构

KVM作为内核的一个模块,是KVM虚拟机的核心部分,仅支持硬件虚拟化,其功能是打开并初始化系统硬件以支持虚拟机的运行。
KVM工作流程
  1. KVM模块被内核加载后,首先初始化内部的数据结构;
  2. 检查宿主机的CPU,打开CPU寄存器CR4的虚拟化开关,并将宿主机的操作系统置于虚拟化模式的根模式;
  3. KVM模块创建/dev/kvm,并等待用户空间的指令。
  4. QEMU程序与KVM模块配合完成虚拟机的创建和运行。
虚拟机创建
  1. KVM和用户空间的QEMU通信,主要通过一系列的IOCTL的调用
  2. QEMU发送创建虚拟机的指令给KVM模块,KVM创建对应的内核数据结构,同时返回一个文件句柄表示创建的虚拟机
  3. 对返回的文件句柄操作,可以对虚拟机进行相应的管理:如分配虚拟内存和虚拟CPU,KVM创建对应的句柄以便操作。

QEMU是完全软件虚拟化,KVM仅支持硬件虚拟化,KVM+QEMU是双赢

KVM环境

  1. 内存过载使用
    CPU允许过载使用,同样内存也允许虚拟机过载使用(因为虚拟机中内存和cpu往往不会达到百分百的使用率),内存的过载使用有几种实现方式
    • 交换分区,使用交换分区弥补虚拟内存的不足
    • virio_ballon
    • 页共享,使多个虚拟机上的进程使用相同的内存页。
      KVM允许内存的过载使用,但是在实际的生产环境中使用过载内存,应该经过充分的测试。
  2. qemu支持的镜像格式:
    1. raw :原始的镜像格式,如果系统支持空洞文件,则只有写有数据的扇区才会占用磁盘空间,从而达到节省空间的效果。dd创建的镜像也是raw格式,不过一开始创建的时候就分配全部的空间,没有采用稀疏的文件存储。
    2. qcow2: 推荐的镜像格式。支持稀疏文件存储, 支持可选的AES加密已提高镜像的安全性
    3. vdi:virtualbox
    4. vmdk: vmware
  3. 宿主机镜像存储:
    1. 本地存储 :一开始使用的这个,随着镜像越来越大
    2. 额外的磁盘存储: 挂在单独的磁盘存储镜像
    3. NFS: 集群下开始使用nfs网络文件系统
    4. LVM: 没有使用逻辑卷管理。
  4. 网络配置
  5. 图形显示
    VNC:虚拟远程计算机,使用RFB远程帧缓冲协议,将控制端的鼠标,键盘传递给远程被控制的计算机,并将图形界面反向传输回来。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容