Nano云
简介
Nano是一个完全由Golang编写的轻量级开源私有云平台,部署简单,资源占用小,API优先设计能够将平台功能轻松集成到现有系统中。
系统特性
- 紧凑 全项目3万多行代码,纯Go开发,不到Openstack的三百分之一。平台部署仅需要三个二进制执行文件即可,最大的模块仅9MB,无需第三方软件或者依赖库,模块升级时直接替换。
- 开箱即用 从Web管理门户、主机监控、镜像克隆到故障切换,自带功能完备,无需安装额外组件。从网络发现、组网到设备选择,全流程自动配置,几乎不需要人工干预。
- 可靠 All or Nothing的事务模式处理任务,失败时自动回撤,释放所有资源并且还原状态。集群实时检测所有节点状态,在内存中自动同步实例数据,确保所有状态和操作及时且有效。
- 易扩展 所有功能均提供REST API接口,应用与资源服务的分离,可以便捷地集成开发。基于goroutine的业务逻辑抽象,能够快速扩展业务功能,而无需了解复杂的后台消息驱动机制。
现有功能:
-
资源池管理:资源节点增删与禁用恢复、云主机调度、实时资源用量监控(CPU/内存/磁盘/网络/运行时间)、多层级资源下钻(集群/资源池/节点/实例)
-
存储后端支持:本地磁盘存储、NFS共享存储
-
地址池管理:IPv4云主机地址池管理与绑定,多地址段设定,网关及DNS分配
-
云主机功能:
- 生命周期管理:创建、释放、起停、实例迁移、故障迁移
- 配置管理:实例名、核心数、内存修改,QoS管理(CPU、磁盘、带宽),磁盘扩容、压缩,配置模板优化,系统重置
- 虚拟机操作系统:重置管理员密码、CPU/内存用量监控、磁盘自动格式化/挂载、修改主机名
- 远程管理:内嵌HTML5监控端、第三方VNC连接支持、VNC连接加密
- 批量构建:云主机模板构建、复制、上传、下载、批量创建与删除
- 数据安全:云主机增量快照创建、还原、管理
- 媒介管理:光盘镜像上传、加载、卸载
- 网络管理:地址绑定、回收与迁移,网关、DNS分配
-
平台管理:系统初始化、用户/组/角色权限管理、资源组可见性管理、自动识别组网、连接检测、模块起停、运行状态检测、操作日志
-
浏览器支持:Chrome/Firefox
-
辅助工具:Installer安装包
-
语言支持:中文/英文
安装
详见官网安装指引
服务器要求
- 至少一台支持虚拟化的X86服务器或者打开嵌套虚拟化(Intel VT-x/AMD-v)的虚拟机
- 2核4G内存50GB磁盘和一个网络设备
- 操作系统使用CentOS 7 Minimal并且网络能够正常通讯,如有Raid/LVM请先完成配置,再进行Nano安装
第一步. 解压并安装所有模块。
$tar zxfv nano_installer.tar.gz
$cd nano_installer
$./installer
输入"0,1,2"在当前服务器安装所有模块。当您第一次安装Nano时,建议您使用安装程序建议的默认配置,无需修改。 如果你有多个网卡设备,请在安装程序的提示中选择连接内网的网卡设备进行安装。
第二步. 启动所有服务。
所有模块默认安装在'/opt/nano/'路径下。模块可以手动启动,也可以自行配置随系统启动。Core模块必须第一个启动。
$cd /opt/nano/core
$./core start
$cd ../cell
$./cell start
$ cd ../frontend
$./frontend start
当front-end模块成功启动后,会提示一个形如"192.168.6.3:5870"的监听地址,使用Chrome或者Firefox打开这个地址就可以进行平台管理了。
第三步. 通过Web门户管理平台
在浏览器中首次打开Nano管理页面,会提示创建一个初始管理员,成功后就可以登录平台。 登录系统之后,首先在计算资源池里添加一个资源节点,然后创建一个空白云主机并且启动,验证系统是否安装成功。如果成功就可以开始探索Nano提供的各种丰富功能了。
你也可以上传或者构建新的光盘镜像或者磁盘镜像,用于快速批量部署实例。
介绍
Nano是一个完全用Golang编写的轻量级开源私有云平台。它资源占用少,易于部署。其API优先的设计允许与您的系统无缝集成。
为什么选择Nano
- 精简 约30,000行Golang代码,不到OpenStack的1/300。只需部署三个二进制文件,最大9MB,无需第三方软件或依赖,升级时易于替换。
- 开箱即用 内置丰富功能,如Web门户、客户机监控、实例克隆和故障转移。自动化配置过程,包括从模块发现、网络到设备选择。
- 可靠 "全有或全无"的事务模式,出错时回滚,释放所有资源并恢复状态。实时检测集群中每个节点的状态,自动同步实例数据以确保精确性。
- 可扩展 所有功能都由REST API支持。资源服务和业务层分离,便于定制和集成。基于Goroutine的抽象使得可以快速开发,无需关注复杂的后端机制。
功能特性:
- 资源池:添加、移除、启用和禁用资源节点/调度实例/实时资源使用和运行时间监控/多层仪表板钻取
- 存储后端支持:本地磁盘存储/NFS共享存储
- IPv4地址池:实例地址管理、多地址范围、网关、DNS配置
- 云实例:
- 生命周期管理:创建/释放/启动/迁移/故障转移
- 配置管理:修改客户机名称/核心/内存、QoS(CPU/磁盘IO/带宽)、扩展和收缩磁盘、主机模板、重置系统
- 客户机操作系统:重置管理员密码、CPU/内存使用监控、自动磁盘格式化/挂载、修改主机名
- 远程访问:嵌入式HTML5页面、支持第三方VNC连接、VNC连接加密
- 批量构建:实例模板构建/克隆/上传/下载、批量创建和删除
- 数据安全:增量快照创建/恢复/管理
- 介质:ISO镜像上传/插入/弹出
- 网络:地址绑定、回收和迁移、网关、DNS分配
- 平台管理:系统初始化、用户/用户组/角色管理、资源可见性、网络发现、启动和停止模块、连接/运行状态检测、操作日志
- 工具:安装程序
- 浏览器:Chrome/Firefox
- 多语言:英语/中文
安装
详情请参见快速入门
系统要求
- 启用虚拟化的X86服务器,或支持嵌套虚拟化的虚拟机(Intel VT-x/AMD-v)
- 2核心/4 GB内存/50 GB磁盘/1个网络接口
- 安装CentOS 7 Minimal版并准备好网络。如果您有RAID或LVM,请在安装Nano之前配置它们。
步骤1. 下载并安装所有模块。
$tar zxfv nano_installer.tar.gz
$cd nano_installer
$./installer
安装程序启动后,您需要选择要安装的模块。例如,"2"仅安装Cell,"3"在当前服务器上安装所有模块。*首次安装Nano时无需更改安装程序配置的参数。*如果您有多个网络接口,请选择用于访问内部网络的那个。
步骤2. 启动所有服务。
所有模块默认安装在'/opt/nano/'目录下。手动启动模块,或配置为随系统启动。必须先启动Core模块。
$cd /opt/nano/core
$./core start
$cd ../cell
$./cell start
$ cd ../frontend
$./frontend start
前端模块成功启动后,会给出一个监听地址,如"192.168.6.3:5870"。使用Chrome或Firefox打开此Web门户来管理您新安装的Nano平台。
步骤3. 通过前端Web门户管理。
首次打开Nano Web门户时,系统会提示您创建一个初始管理员。
登录后,首先在计算资源池中添加一个资源节点,然后创建并启动一个空白实例以验证安装。如果成功,您就可以开始探索丰富的功能了。
您还可以上传或构建新的ISO或磁盘镜像,用于批量部署实例。