# zstack **Repository Path**: zstackio/zstack ## Basic Information - **Project Name**: zstack - **Description**: ZStack 是全新的开源 IaaS 软件,它的诞生是为了解决困绕 IaaS 软件的几大难题:复杂度、稳定性、可伸缩性和灵活性。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: Yes ## Statistics - **Stars**: 652 - **Forks**: 48 - **Created**: 2017-06-12 - **Last Updated**: 2025-06-12 ## Categories & Tags **Categories**: cloud **Tags**: None ## README # ZStack 简介 [http://www.zstack.io](http://www.zstack.io) ZStack是一款产品化的开源IaaS(基础架构即服务)软件。它面向智能数据中心,通过完善的API统一管理包括计算、存储和网络在内的数据中心资源,提供简单快捷的环境搭建。 5分钟完成安装和部署单台Linux机器上的POC环境;30分钟完成安装和部署多管理节点生产环境(可扩展至数万台物理服务器)。 ZStack通过完善的API管理数据中心资源,构建软件定义数据中心。用户可选择UI界面或命令行工具管理云平台,与ZStack管理节点进行友好交互。 ZStack提供统一配置、统一安装、统一高可用(High Availability)和统一第三方监控的云服务解决方案,使云平台的管理更加便捷、稳定、持久。 ## 为什么选择ZStack? ZStack解决了长期困扰开源IaaS软件用户的两大痛点:复杂性和稳定性。 复杂性:ZStack始终秉承安全可控、全自动化、自管服务、硬件无锁、用户友好查询API的设计理念,为用户提供一款便捷配置、持久运行的云计算软件。 稳定性:ZStack功能架构具备以下特点: * 全插件系统:添加或移除功能不影响已有代码 * 工作流引擎:出现错误时,任何变更均可回滚 * 瀑布流架构:支持资源的级联操作 * 3套严密的自动化测试系统:确保每个功能的代码质量,并从架构设计层面解决稳定性问题 此外,ZStack具有扩展性:单个管理节点可管理数万台物理服务器、数百万台云主机,处理数千条并发调用API请求,尤其适用于大型公有云平台的搭建。 ## 主要优势 #### 弹性 单个管理节点可管理**数万台**物理服务器、数**百万台**云主机,处理**数千万条**并发API请求。 #### 敏捷 各类操作**非常快速**。以创建云主机为例,详见以下性能数据。
云主机数量 时长  
1 0.51 秒
10 1.55 秒
100 11.33 秒
1000 103 秒
10000 23 分
#### 网络功能虚拟化 ZStack默认网络模型基于网络功能虚拟化(**NFV**),为每位租户提供云路由专有网络节点。整个网络模型独立自主、安全可控,用户无需购买特定设备,也无须在计算服务器上部署网络服务器。 #### 全API查询 ZStack支持超过**400万**个查询条件,以及400万阶乘的组合查询条件。用户无须编写临时脚本或登录数据库,直接通过API即可任意查询资源。 >> QueryVmInstance vmNics.eip.guestIp=16.16.16.16 zone.name=west-coast >> QueryHost fields=name,uuid,managementIp hypervisorType=KVM vmInstance.allVolumes.size>=549755813888000 vmInstance.state=Running start=0 limit=10 #### 便捷部署与升级 ZStack安装升级如同安装一个**Java WAR**文件一样简单。用户只需执行一个Bootstrap脚本,即可在**5分钟**内搭建一套POC环境;**30分钟**内搭建一套多管理节点生产环境(包括研读文档时间)。 >> [root@localhost ~]# curl http://download.zstack.org/install.sh | bash -s -- -a #### 全自动化 ZStack云平台由**API统一管理**,全自动化、统一配置。此外,通过无缝透明集成Ansible,可在大规模硬件设备上全自动安装/配置/升级代理程序,全过程无需用户干预。 #### 通用插件系统 ZStack采用与OSGi和Eclipse类似的插件系统方式作为核心架构基础,添加或移除功能不会对核心架构产生任何影响,满足了用户对于开源IaaS软件的鲁棒性需求。 #### 严密的测试系统 ZStack提供**3套全自动化的严密测试系统**,确保每个功能的代码质量。 ## 安装和使用 安装ZStack极为便捷。用户可按需选择不同的安装模式安装首套ZStack环境。 * 如需快速尝试,请参阅[快速安装手册](https://www.zstack.io/help/tutorials/quick_install_guide/v5/)。 * 如需部署生产环境,请参阅[手动安装手册](https://www.zstack.io/help/product_manuals/user_guide/v5/)。 * 如需部署多管理节点环境,请参阅[多管理节点安装手册](https://www.zstack.io/help/tutorials/double_mn_ha_solution/v5/)。 ## ZStack架构设计 #### 伸缩性 * [ZStack弹性架构揭秘](https://res.zstack.io/assets/pdf/08.pdf) - 异构架构 - 无状态服务架构 - 无锁架构 #### 插件架构 * [ZStack插件架构](https://res.zstack.io/assets/pdf/09.pdf) - 进程内微服务架构 - 通用插件系统 - 工作流引擎 #### 资源操作框架 * [标签系统/级联框架/查询API](https://res.zstack.io/assets/pdf/10.pdf) #### 整体技术架构概述 * [技术架构概述](https://www.zstack.io/help/product_manuals/white_paper/v5/) ## 社区交流 * 加入QQ群,共同探讨和分享对ZStack的建议、使用心得、发展方向等。QQ群号:一群(410185063)、二群(443027683)、三群(741300236)、四群(1046295840)、五群(1071894823)、六群(1012034825) ## 参与贡献 #### 问题反馈 1. 提交Issue或通过QQ群反馈问题 2. 描述如何重现该问题(可选) 3. 可提供解决方案(可选) 4. 提交PR以解决问题(可选) #### 功能需求 1. 提交Issue或通过QQ群反馈新功能需求及原因 2. 指出这个功能的实现方案(可选) 3. 提出PR实现这个新的功能(可选) #### 代码贡献 1. 参考[快速编译手册](https://gitee.com/zstackio/zstack-utility/blob/master/zstackbuild/README.md) 准备一个开发环境 2. 提交PR请求根据社区反馈进行完善 感谢以下小伙伴对本仓库的贡献和反馈[社区贡献榜](https://gitee.com/zstackio/zstack/blob/master/CONTRIBUTORS)! ## 许可证 根据Apache许可证2.0版本("许可证")授权,为正常使用该服务,请确保许可证与本文件兼容。用户可通过以下链接获得许可证副本: http://www.apache.org/licenses/LICENSE-2.0 除非适用法律要求或以书面形式约定,该许可证分发的软件将按“原样”提供,无任何明示或暗示的保证或条件。请参阅该许可证,通过特定语言了解具体权限和限制。