smartos教程三:smartos虚拟化技术

SmarOS 是基于 Illumos 核心,之后大牛们还将KVM移植了进去。严格来说,SmartOS 并非Solaris,但也保留了一些Solaris的特性。Illumos 提供了一个通用内核和一些基础的系统工具。基于 illumos 的发行版软件都有一些很赞的体验.

前言

严格来说,SmartOS 并非Solaris,但也保留了一些Solaris的特性。所以说 SmartOS 和 Linux 是有一定区别的,这个学习需要一点时间,但是值得你去付出,因为 SmartOS 中很多杀手级特性都是 Linux 不具备的。

SmarOS 是基于 Illumos 核心(注:第一个字母是i,后面两个才是l),之后大牛们还将KVM移植了进去。而 Illumos 基于 OpenSolaris 项目的(已不复存在)。实际上,Oracle 收购 Sun 后,对 OpenSolaris 态度很冷淡,毫无兴趣,并关闭源码。大多数Sun最优秀的工程师转投入 Illumos 旗下。现在他们大多数都在 Joyent 和 Nexenta。具体的故事我就不详述了,有兴趣的可以看看这两篇文章:

Illumos

illumos

Illumos 提供了一个通用内核和一些基础的系统工具。基于 illumos 的发行版软件都有一些很赞的体验,这里提几个让人印象深刻,最具创新的distributions(参考链接):

  • OpenIndiana 那些有 Solaris 或 OpenSolarisis 背景的人可能比较熟悉这个东东。OpenIndiana 项目的目标是继续开发和发行 OpenSolaris。该项目隶属于 Illumos 基金会。由于 Oracle 宣布不再发行 OpenSolaris ,该项目被建立以为 OpenSolaris 继续其更新。
  • Nexenta CP 即Nexenta Community Platform,现在成为 Illumos 旗下的一款产品,改名叫 illumian 了,何去何从可以参考此链接。现在只能看到 NexentaStor 了,它是Nexenta 公司推出的基于 OpenSolaris OS 和 ZFS 等技术的一个 NAS 软件解决方案。如果你熟悉 Linux,尤其是 Debian 或 Ubuntu,那就会很快上手。ZFS文件系统(Zettabyte File System)是 NexentaStor 的亮点,它是一种基于 Solaris 的128位的文件系统,强健可靠、可伸缩、易于管理,突出了对数据完整性的保护。我之后还会专门写文章介绍 ZFS,不过网上也已经有很多类似的文章了。
  • SmartOS 是由 Joyent 提供的 community distro,可以认为是 SmartDataCenter 商业化产品的一部分。这次就要专门谈谈它及其独特的虚拟化技术。

其实illumos还出了一些很好的书,这些书现在网上都有电子版,链接是:http://illumos.org/books/ 。

SmartOS云平台

Joyent SmartOS与SmartMachine、SmartDataCenter以及物理机紧密集成,在各个层面保证云平台的安全性。与其他的云平台不同,SmartOS云平台的虚拟资源驻留在SmartOS中,而不是在虚拟机本身。这种包容性的虚拟化架构避免了Web应用层和操作系统之间接口的潜在漏洞。在网络层,Joyent的SmartDataCenter支持动态的虚拟局域网(vLAN),使客户在任何时候都可以有效隔离云平台上的不同用户。Joyent的安全保障架构图如下所示:

smartos安全保证

SmartOS简单可以解释为:“illumos-derived OS that is the foundation of both Joyentʼs public cloud and SmartDataCenter product”。 既然作为是illumos的衍生产品,那么它具备以下几个关键特性:

  • ZFS —— 企业级的写时复制(copy-on-write)文件系统,可提供诸如constant time snapshots,writable clones,built-in compression,checksumming,volume management 等众多功能。
  • DTrace: 用来在生产和试验性生产系统上找出系统瓶颈的工具,可以以对核心(kernel)和应用程序(user application)进行动态跟踪并且对系统运行不构成任何危险。支持原位(in situ)的数据聚合,用户级评估测量等。
  • 基于操作系统的虚拟化(Zones):完整的安全的虚拟操作系统实例,提供给多租户硬件级的性能。网络虚拟化(Crossbow):虚拟NIC架构,方便对网络带宽管理和资源控制。这里有论文链接。
  • KVM:Joyent技术专家已经将KVM移植到SmartOS中,支持硬件虚拟化,并加强了以上四项特性,具体可以参见此链接