SmartOS是一个开源的Unix系列操作系统,从Solaris10分支出来,由Joyent公司开发。 SmartOS拥有非常强大而简便的虚拟化功能,非常适合用来做云计算。
而Triton则是Joyent开发的,基于Smartos系统的一套开源的云平台管理软件,可以用来管理私有云。
Smartos详细资料请参考:https://wiki.smartos.org/display/DOC/Home。
Triton详细资料请参考:https://docs.joyent.com/private-cloud。
Smartos入门为了方便理解接下来的安装配置过程,先介绍一些Smartos相关的入门知识。
Smartos是驻内存的操作系统说Smartos是驻内存的操作系统,是因为它本身不在磁盘上保存任何操作系统运行相关的文件,只将配置、虚拟机等信息持久化到磁盘上。所以每次启动时,整个系统都会被全部加载到内存中运行。而根据加载源的不同,就有两种加载方式:
1.USB启动。将操作系统写入到U盘中,并让服务器从本地U盘启动。
2.PXE启动。将操作系统放到某个服务器中并提供PXE启动服务,其他的服务器就可以通过网络启动了。
因此,操作系统更新时,也从来不用打任何补丁,直接从最新版的系统重新启动即可。
zfs文件系统Smartos使用zfs作为本地的文件系统,而zfs本身并不是Smartos独有的,其他Linux发行版也可以使用。zfs和其他的文件系统相比有诸多好处,这里就不一一陈述了,但是简单的介绍下zfs的结构。
存储池
zfs首先从物理磁盘开始构建存储池,叫做zpool,服务器的存储空间可以由一个或者多个zpool组成,每个zpool都是独立的存储空间。
disk:操作系统可以直接检测到物理磁盘,也可以检测到硬件raid虚拟化出来的磁盘,但是为了充分利用zfs的性能,应该将硬件raid设置成直连(HBA)模式,直接暴露所有物理磁盘。
array:将物理磁盘进行任意组合,可以生成一个或多个软件阵列,可以是mirror、raid等模式。一旦阵列生成,组成阵列的磁盘数量将不允许变更,只能对成员磁盘进行脱离、更换等工作。
zpool:将阵列进行任意的组合,可以生成一个或者多个zpool,zpool可以添加或者删除子阵列,zpool的存储空间就是所有阵列存储空间的叠加。
文件系统
有了zpool存储空间后,就可以构建文件系统了。
zfs文件系统
zfs文件系统以zpool为根,以树形结构进行层级划分和管理,但是文件系统的属性(比如预留空间、权限、配额)可以有继承和依赖关系。
zfs文件系统和虚拟机里面的文件系统很像似,但是不一样,zfs文件系统的节点是一个设备,需要挂载到虚拟机文件系统的一个目录树节点上,而虚拟机文件系统中的节点就是目录或者文件。最简洁的判别方法就是zfs文件系统不以/开头。
Smartos网络层次Smartos作为虚拟化操作系统,必然要实现网络硬件的虚拟化,虚拟化的技术叫做Crossbow,这里只简单的介绍一下。
physical nic:一台物理机上可以插多张物理网卡,每个网卡上可以有多个物理网口,每个物理网口都有一个全宇宙唯一的mac地址。
aggregation:聚合网口由多个物理网口聚合而成,一个物理网口只能加入一个聚合网口或者不聚合,聚合网口通过一个名称来进行标识,物理网口直接用mac进行标识。
virtual switch:虚拟交换机的名称在Smartos里叫做nic tag,每个虚拟交换机能且只能配置一个聚合网口或者物理网口,一个聚合网口或者物理网口可以属于任意多个虚拟交换机。
global zone和vm:global zone就是物理机的根操作系统,但是应该理解成一个特殊的虚拟机。虚拟机通过给每个虚拟网卡指定nic tag来接入虚拟交换机,每台虚拟机都必须指定一个主要网卡作为默认路由。
硬件需求Smartos和Triton的运行对硬件有些需求,并不适用任意硬件,不过也没有太多苛刻的地方,这里简单概括下:
Smartos:
1.64-bit x86架构,推荐Intel的CPU,开启VT-x功能支持kvm虚拟化。
2.能够USB启动以及能够PXE启动,第一台机器只可能USB启动,之后的机器可以PXE启动。
3.只支持本地存储,尽量避免使用硬件RAID,将RAID控制器设置成HBA直连模式。因为要使用zfs文件系统。
4.推荐Intel的网卡,至少两块网卡。
Triton: