虚拟化介绍

操作系统层虚拟化是指通过划分一个宿主操作系统的特定部分,产生一个个隔离的操作执行环境。操作系统层的虚拟化是操作系统内核直接提供的虚拟化,虚拟出的操作系统之间共享底层宿主操作系统内核和底层的硬件资源。操作系统虚拟化的关键点在于将操作系统与上层应用隔离开,将对操作系统资源的访问进行虚报化,使上层应用觉得自己独占操作系统。

操作系统虚拟化的好处是实现了虚拟操作系统与物理操作系统的隔离并且有效避免物理操作系统的重复安装。比较有名的操作系统虚报化解决方案有Virtual Server、Zone、Virtuozzo 及虚拟专用服务器(Vital Pnvate Sever,VPS)。VPS是利用虚拟服务器软件在一台物理机上创建多个相互隔离的小服务器。这些小服务器本身就有自己的操作系统,其运行和管理与独立主机完全相。其可以保证用户独享资源,且可以节约成本。

虚拟化分类

  1. 仿真虚拟化 [对系统硬件没有要求,性能最低] VMware
  2. 半虚拟化 [虚拟机可以使用真机物理硬件,性能高,需要改内核] xen
  3. 硬件辅助虚拟化 vmware kvm
  • 需要硬件支持 【cpu 主板】
  • 不需要改内核
  • 可以直接使用真机硬件,性能最贴近宿主机
  1. 容器虚拟化 lxc docker

主机虚拟化

码农浅知-操作系统中虚拟化和容器详细介绍

  • 应用程序运行环境强隔离
  • 虚拟机操作系统与底层操作系统无关化
  • 虚拟机内部操作不会影响到物理机
  • 拥有操作系统会占用部署资源及存储
  • 网络传输效率低
  • 当应用程序需要调用硬件响应用户访问时间延迟大

容器虚拟化

码农浅知-操作系统中虚拟化和容器详细介绍

  • 可以实现应用程序的隔离
  • 直接使用物理机的操作系统可以快速响应用户请求
  • 不占用部署时间
  • 占用少量磁盘空间

容器虚拟化缺点:学习成本增加、操作控制麻烦、网络控制与主机虚拟化有所区别、服务治理。

容器的发展

  • LXC
    • 2008
    • 是第一套完整的容器管理解决方案
    • 不需要任何补丁直接运行在linux内核之上管理容器
    • 创建容器慢,不方便移置
  • Docker
    • 2013
    • dotcloud
    • 是在LXC基础上发展起来的
    • 拥有一套容器管理生态系统
    • 生态系统包含:容器镜像、注册表、RESTFul API及命令行操作界面
    • 属于容器管理系统

Docker版本介绍

  • 2017之前版本
  • 1.7 ,1.8,1.9,1.10,1.11,1.12,1.13
  • 2017年3月1日后
  • 把docker做商业开源
  • docker-ce
  • docker-ee
  • 17-03-ce
  • 17-06-ce
  • 18-03-ce
  • 18-06-ce
  • 18-09-ce
  • 19.03-ce