趣谈 Linux 操作系统
刘超
前网易杭州研究院云计算技术部首席架构师
84364 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 72 讲
趣谈 Linux 操作系统
15
15
1.0x
00:00/00:00
登录|注册

53 | 存储虚拟化(上):如何建立自己保管的单独档案库?

前面几节,我们讲了 CPU 和内存的虚拟化。我们知道,完全虚拟化是很慢的,而通过内核的 KVM 技术和 EPT 技术,加速虚拟机对于物理 CPU 和内存的使用,我们称为硬件辅助虚拟化。
对于一台虚拟机而言,除了要虚拟化 CPU 和内存,存储和网络也需要虚拟化,存储和网络都属于外部设备,这些外部设备应该如何虚拟化呢?
当然一种方式还是完全虚拟化。比如,有什么样的硬盘设备或者网卡设备,我们就用 qemu 模拟一个一模一样的软件的硬盘和网卡设备,这样在虚拟机里面的操作系统看来,使用这些设备和使用物理设备是一样的。当然缺点就是,qemu 模拟的设备又是一个翻译官的角色。虽然这个时候虚拟机里面的操作系统,意识不到自己是运行在虚拟机里面的,但是这种每个指令都翻译的方式,实在是太慢了。
另外一种方式就是,虚拟机里面的操作系统不是一个通用的操作系统,它知道自己是运行在虚拟机里面的,使用的硬盘设备和网络设备都是虚拟的,应该加载特殊的驱动才能运行。这些特殊的驱动往往要通过虚拟机里面和外面配合工作的模式,来加速对于物理存储和网络设备的使用。

virtio 的基本原理

在虚拟化技术的早期,不同的虚拟化技术会针对不同硬盘设备和网络设备实现不同的驱动,虚拟机里面的操作系统也要根据不同的虚拟化技术和物理存储和网络设备,选择加载不同的驱动。但是,由于硬盘设备和网络设备太多了,驱动纷繁复杂。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《趣谈 Linux 操作系统》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(10)

  • 最新
  • 精选
  • cuikt
    留个言,讲的挺好!

    作者回复: 谢谢

    1
  • 潇是潇洒的洒
    留个爪,虽然大部分都看不懂,但是我的初心是了解操作系统的概念,所以第一遍不关注细节,构建系统的大体框架,知道有这么个事儿就好了,好像看到这里,还能坚持的人就很少了,留个言,鼓励自己一下,希望再回来来看的时候,自己会多一些明悟。
    1
    37
  • 莫名
    赞,之前只是粗略读了一遍,留个大概印象。最近在优化虚拟机存储性能,重新拜读,受益匪浅,理解深刻了很多。
    1
    4
  • 靠人品去赢
    老师他这个协程和go的协程对比有什么异同?
    3
  • Geek_c2c8d1
    哇!看到这里的人已经越来越少了,虽然我也看不懂,但是还是想坚持看完第一遍,有个印象。这两个月在找工作,来这里打个卡。
    1
  • A免帅叫哥
    这一节比内存和cpu的虚拟化简单很多。
    1
  • 焦太郎
    没有什么复杂的问题是分层解决不了的,如果有,就是分的还不够(- -)
    归属地:河南
  • Geek_cc94b0
    看的晕,但是还是坚持下来
    归属地:陕西
  • 在vm里用的大部分是协程的话,是不是一些long running的服务在vm上跑会比在裸机上跑性能更好? 用户/内核态之间的切换会少很多吧?
  • luo
    讲的好
    1
收起评论
显示
设置
留言
10
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部