你好,游客 登录 注册 发布搜索
背景:
阅读新闻

浅析 Hyper -- 新一代虚拟化技术?

[日期:2015-07-01] 来源:yeasy 个人专栏  作者: [字体: ]

  容器技术的快速发展,挤占了传统虚拟机技术的很多地盘。没办法,在启动速度和运行性能上,容器实在有着太多的优势,而虚拟机技术的发展实在太过缓慢。

  现在,hyper_ 团队 推出了启动速度可以跟容器媲美的新一代虚拟机技术 -- hyper。

  简介

  hyper 是基于 go 实现的开源项目,代码托管在 github 上。。

  简单的说,hyper = Hypervisor + Kernel + Docker Image,本质上还是一种虚拟机技术,只不过是应用中心(app-centric)的虚拟机。

  hyper 将容器运行在了虚拟机里,只不过这个虚拟机是精简过的(基于 qboot),可以快速启动停止的虚拟机。目前,可以运行在 KVM 上,操作系统要求为比较新的 debian/ubuntu、centos 等,内核建议为 4.0.1,docker 版本至少为 1.5.0,qemu 至少为 2.0。

  hyper 每个虚拟机中可以同时运行多个容器进程,借用了 kubernetes 中的 pod 的概念。每个虚拟机就是一个 pod(使用外部的 podfile, JSON 或 YAML 格式,来定义包括哪些应用),其中的运行的容器进程共享命名空间(不使用命名空间隔离),但用 mount 命名空间来隔离内部多个镜像的 root 文件系统。

  优势

  优势很明显,就是容器技术一直缺乏的,跟传统虚拟机相关的优势:

  可以平滑地跟已有基于虚拟机的技术和平台进行整合;

  大大提高了容器已有隔离技术的安全性,特别是不需要共享内核;

  不依赖已有容器技术(Docker daemon, LXC, Cgroup, Namespace),只需要 MOUNT 命名空间支持。

  劣势

  劣势也很明显:

  增加了额外的资源消耗,包括额外的内核和进程;

  并非像宣称的那样成熟,目前还只是 0.1 版本;

  硬盘 IO 性能没公布,猜测会跟虚拟机类似;

  暂时不支持分层文件系统;

  总之,生态环境还有待建立。

  安装使用

  安装

  很简单,直接下载 bash 脚本安装。

  # curl -sSL https://hyper.sh/install | bash

  使用

  # docker pull ubuntu:14.04 # hyper run ubuntu:14.04 POD id is pod-IEKZbVtzef root@ubuntu:14:/# ... # hyper list POD ID POD Name VM name Status pod-IEKZbVtzef ubuntu 14.04-5551572656

  支持的命令跟 docker 很类似,包括 run、start、stop、attach、exec、create、replace、rm、info、list 等等,更多信息可以参考官方文档:https://docs.hyper.sh/index.html

  原理

  hyper 的组件十分简单:

  hyper 提供命令行接口

  hyperd 提供核心维护引擎,支持 REST

  虚拟机实例:hyperkernel 作为 guest os 的kernel;hyperstart 作为启动 init 服务。

  展望

  实际上,现在已有一些类似的技术,包括两大类:

  直接基于容器进行进一步封装,CoreOS、RancherOS、Photon 等,实际上还是直接跑容器,跑的应用还是在容器内;

  Intel 的 Clear Container 跟 hyper 很像,都是直接运行一个轻量级的虚拟机,然后里面再做事。

  这些技术都有各自的优缺点,以及各自适合的应用场景,在很长一段时间内将会共存,甚至出现更多适合云计算时代场景下的虚拟化技术。

收藏 推荐 打印 | 录入:574107552 | 阅读:
相关新闻      
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款