韩庆生++喻民权++王东桥
[摘要]SmartOS是一个Unix-like的操作系统,它主要集成了OpenSolaris的技术以及Linux:ZFS+DTrace+Zones+KVM,是一个免安装的、直接运行在内存的开源操作系统。FIFO是一个优秀的Web管理界面的虚拟机管理平台,二者的结合为搭建高效的开源虚拟化云计算平台提供了保证。
[关键词]云计算;云存储;虚拟化
[DOI]1013939/jcnkizgsc201730222
“云”是存在于互联网上的服务器集群上的资源,主要包括云计算、云存储等。通常所说的云技术就是把日常信息、工具或是程序等放到互联网的虚拟空间里,以达到资源共享的目的,主要包括网络技术、整合技术、信息技术、应用技术和管理平台技术。“云存储”是在云计算概念上延伸和发展出来的一个新的概念,它不是存储,而是服务。
1Project FiFo+SmartOS解决方案的可行性
开源云平台开发项目很多,但对中小规模的虚拟化云计算教学实验平台来说,其部署的硬件成本和复杂性还有一定难度。而Project FiFo+SmartOS的出现,使简单化、产品化的云平台部署得以实现,且没有额外的版权费用,其目标是建立一个快速部署可全面管理的、可定制的、零接触的混合云。
2系统环境搭建及基本概念
FIFO+SmartOS可以安装到普通计算机上,SmartOS有USB、ISO和VMware环境等安装介质,也可采用DHCP/PXE启动方式,系统本身是免安装的,而且是只读的,启动后只需设置IP地址和存储池,即完成了系统安装。其优势在于可用USB启动,升级时只需要下载一个新的SmartOS版本,写入U盘后重启。SmartOS使用了ZFS文件系统,使用者不必关注硬盘大小和分区,安装时只需建立一个池,然后把硬盘依次加入。zpool存储工具方便了文件管理,每一个被创建的虚拟机都在一个独立管理的zone中,其特点是安全、隔离、虚拟、细粒度和透明,全局域global zone可访问和管理所有的zone,命令zlogin用于登录zone。SmartOS针对不同的操作系统和应用发布了许多镜像,在根目录下首先安装pkgin包管理器,命令$ imgadm avail 用于查看可用的镜像文件。命令$ imgadm import UUID可通过UUID号导入开源社区的各种系统镜像。
UUID(Universally Unique Identifier)是全局唯一标识符,每一个虚拟机在被创建时赋予一个UUID号。头节点(Head Node)是配置安装管理程序的节点,它运行核心服务及API,并且负责PXE启动其他计算节点。在头节点管理中加入的每一个被管理的虚拟机实例为计算节点。
3虚拟机管理程序的部署
要实现Project FiFo管理程序部署,需要建立清单文件(内容包括CPU数量、硬盘和内存大小、DNS、IP地址和网卡配置等),然后在SmartOS系统中建立三个zone,其中两个LeoFS zone用于存储管理,一个FiFo zone用于安装虚拟机管理和通讯程序,当FIFO zone安装完毕后,就可以使用Web界面来创建和管理虚拟机,通常使用清单创建虚拟机有以下几个步骤:①建立清单文件。②创建虚拟机命令# vmadm create -f leofs-1json。③登录虚拟机命令:# zlogin UUID 用于登录虚拟机进行个性化配置。④加密登录命令:# openssl rand -base64 32 | fold -w16 | head -n1随机生成访问键和密钥。
4Fifo体系架构特点
从操作系统来看,SmartOS是由Unix系统发展而来的,与linux命令有许多相似之处。Fifo是安装在SmartOS上的虚拟机管理和业务流程系统,主要有以下几个特点:
①编程语言的特点:Erlang具有简洁精练的分布式模型、超强的并发性、多核支持、跨平台、高可靠性、热部署、独特的错误处理模型及函数式编程等特点,在国内外有广泛的应用。②架构与管理的特点:FIFO不需要专用的硬件设备和服务角色,支持多数据中心的部署,通过Web界面的虚拟机管理程序,方便地在云中管理、建立、删除一台虚拟机及查看每台虚拟机的运行状况,进行图表分析和备份,重新部署任意节点等。③存储的特点:FIFO平台存储采用的是LeoFS,是无结构、高可用、分布式的与Amazon S3兼容的对象存储。④命令的特点:FIFO对常用命令组进行统一命名,通过设置不同的参数达到简化管理命令的目的。例如:Imgadm是与镜像相关的命令组,avail和import分别是查询可用的镜像和导入镜像参数;vmadm是虚拟机实例管理命令组,create-f和delete分别是建立和删除虚拟机命令参数;svcadm是配置主从节点管理命令组,enable和disable分别是启用和关闭相关服务命令参数;leofs-adm对象存储管理命令组,status是显示当前存储节点和网关状态信息参数。
5FIFO组件与运行机制分析
FIFO系统的主要组件介绍,除Chunter组件运行在global zone中负责虚拟机的创建维护外,在LeoFs中安装运行了三个组件与服务,分别是Leo Manager、Leo Gateway和Leo Storage,在FIFO zone中安装运行了Sniffle、Snarl、Howl、Wiggle、Jingles等组件服务。
Howl负责Fifo项目的实时通讯服务,实时更新用户界面。sniffle是中央决策系统和数据存储服务,实时查看虚拟机是否正常工作或无故障运行,包括网络、IP范围、包配置等,发现故障时,可自动做出替换决定。Snarl是基于角色的访问控制PBAC(Role-Based Access Control),负责授权或撤销用户权力,具有多数据中心的情况下,允许相互之间同步用户数据的功能。Wiggle提供了完整的API服务,向上为Snarl验证用户的权限和许可,向下获得Sniffle的决策信息,同时为客户端Jingles提供各种功能支持。Jingles是图形化的用户接口,授权用户及系统操作界面维护。Chunter用于虚拟管理程序交互服务,安装在每个由FiFo管理的实体机器上,通过与SmartOS交互,创建、更新、销毁一个虚拟机,并收集虚拟机VM信息实时反馈给Howl。Tachyon提供了对历史数据收集、分析和度量功能,并存储在DalmatinerDB数据库。Docker提供了对Docker的支持及CA认证。
6结论
Project FiFo+ SmartOS为开源虚拟化云计算平台提供了一種新的选择,目前最新的092版已全部重写了代码,随着社区开发者的不断努力,软件平台的各项功能日趋完善,基本满足了高职院校虚拟化云计算教学实验平台的需要,虽然其软件产品在虚拟机部署、备份等方面与Vmware相比仍有一定差距,但相信未来会被更多的云平台用户所接受。
参考文献:
[1]田龙云计算环境下计算机软件系统架构分析[J].电子技术与软件工程,2016(2):57
[2]王康云计算环境下的院校网络体系结构分析[J].电脑知识与技术,2016(2):41-42
[3]田昶云计算平台搭建探析[J].智富时代,2016(10):195
[作者简介]韩庆生(1962—),男,汉族,河北任丘人,研究生,高级工程师,研究方向:云计算、VR技术;喻民权(1975—),男,汉族,云南腾冲人,本科,工程师,研究方向:数据库及数据挖掘分析技术;王东桥(1960—),男,汉族,河北河间人,本科,副教授,研究方向:计算机应用与管理。