搞了个 IDC 管理系统

发布于

# Novaix 的前生今世

## 起因

在 2025 年上半年,我在我的图床程序群里注意到,有很多做 IDC 的大佬,这让我对这个行业产生了兴趣。我开始了解相关知识,虽然大多偏向技术,比如大盘鸡是如何开小鸡的、KVM 是什么、LXC 又是什么……

我看到大部分人都在使用魔方云,为了更好地理解这些东西,我找朋友借用了一下魔方云后台体验了一下,心中总觉得这个市场不应该只有这么一点选择。至少在国内,不应该只有魔方云这个选择。

## 第一次尝试

于是我决定自己动手。刚开始对这一切都不太懂,我花了很多时间做技术选型,最终选择了 Incus,它是 LXD 的社区分支,接口文档清晰,社区也在积极维护。而且,由于历史原因,大部分 IDC 管理系统都是使用 PHP 开发的。因为在做兰空图床(PHP 项目)时,我意识到运行环境配置对于一个站长来说是多么繁琐的事情,期间会因为各种因素出错。因此,我下定决心不论业务逻辑多么复杂,后端选择 Go,前端选择 React,尽可能减少站长的部署和运维成本。

理想很丰满,现实却很骨感。即使有 AI 的帮助,仍然有太多难点。虚拟化不像写 CRUD,需要与底层系统打交道,任务是异步的,状态也不确定,节点可能随时断连,特别是在 Incus 和宿主机之间的任务同步……在 2025 年,AI 的能力远没有现在这样强大,能做的事情有限,大部分代码都需要用传统方法编写,经历了两次重写和多次重构,最终因为难度过大而放弃。虽然做出来不难,但想要做得好,依然相当艰难。

## 卷土重来

这个项目搁置了很久。直到 2026 年,也就是几个月前,我带着全新的 AI 回来了,再次从仓库中取出了沉寂已久的项目,重新命名为 Novaix,这次,我要把失去的一切都找回来!

我从头重新规划了系统功能模块,使用了最新稳定版本的 Incus V7 作为底层。因为有了一些前车之鉴,且大部分代码都是由 AI 完成的,所以我深知架构的重要性,不仅是为了更好地发挥 AI 的作用,更是为了系统的可维护性和健壮性。我把大部分精力放在了系统架构和测试用例上,光测试用例就写了5000多个,测试代码甚至比业务代码还多。

## 现状

终于在今年的 5 月 27 日,Novaix 的开发版本问世了,分为免费版本和授权版本。主线流程已经跑通,这段时间又进行了大量更新。但是,IDC 管理系统与普通的 Web 应用不同,它涉及虚拟化、网络、存储、计费、支付等多个领域,各个模块之间相互关联,一个边界情况没覆盖到,就可能影响用户的线上业务。每个版本更新日志中修的 bug 数量与新增功能相当,有并发竞态的问题,有边界条件未考虑到的情况,还有设计上的疏漏。这样的系统必须经过真实用户的大规模使用验证,确认没有严重问题,才具备发布稳定版本的条件。

从开发版本迭代到稳定版本,需要大量的用户实际使用建议和反馈,Novaix 还有很长的路要走。因此如果你有这方面的需求,欢迎来体验,若遇到任何问题可以直接提 [Issue](https://github.com/huohuastudio/novaix-releases/issues)。部署十分简单,下载解压运行即可,默认使用 SQLite,无需安装任何额外的东西。

## 相关链接

- 官网: [https://novaix.cc](https://novaix.cc)

---

原文链接:[点击查看](https://www.v2ex.com/t/1227657)

评论(2)

看到这个真是满满的回忆杀啊。想当年我靠着 WHMCS 开 5 元小鸡赚了第一桶金,后来也折腾过青竹、7i24、星外、云谷 idcsystem、N 点这些系统。虽然现在自己不当站长用不上了,但纯支持一下楼主。

· 0 个赞

看到这东西瞬间爷青回了。当年就是靠倒腾 WHMCS 卖 5 块钱的小鸡赚到了第一桶金,后来也陆续折腾过青竹、7i24、星外、云谷 idcsystem 还有 N 点。现在虽然自己用不上了,但纯支持一下楼主。

· 0 个赞