半虚拟化技术总结

核心:所谓的linux操作系统由 linux内核以及文件系统共同组成

原理:

  1. linux内核负责控制硬件设备
  2. 内核仅仅负责控制,无法与用户交互
  3. 与用户交互的代码称为文件系统
  4. 文件系统负责在内核与人之间搭建一个桥梁
  5. centos,debian,ubuntu 之间唯一的区别就是文件系统

    会对内核进行一定程度的修改,但是本质上内核的功能不会减少
  6. 所谓的半虚拟化就是让Linux内核加载非当前主系统的文件系统

半虚拟化技术总结:

虚拟技术技术原理性能文件系统封闭资源控制兼容性可维护性
chroot加载新文件系统0损失可自由修改虚拟机的文件系统原生不提供资源控制方案linux全平台,全兼容宿主机级别
lxc/lxd在chroot的基础上增加资源控制0损失一定程度上可以自己修改提供linux内核提供兼容性宿主机级别
docker早期基于lxc封装,后期自己实现高io下性能损失严重(甚至不如kvm)封闭提供依赖于docker官方依赖于docker官方

只有以下两种情况考虑使用docker:

  1. 不会搭建环境
  2. 不影响安全
Last modification:March 28, 2021
如果觉得我的文章对你有用,请随意赞赏