跳到正文

牛马日记 ·

Day2()

牛马日记之服务器万事俱备,只欠我的上线

记录人:一个亲手写完项目的人
工资:3000/月,交完房租剩得不多,刚好够给服务器续一天电费
信念:项目是我写的,服务器是大家的,今天我要把它们撮合一下
简历特长:精通"项目写完了,但还没部署过"

九月七日 · 星期一 · 问世

一件听起来很小的事:把智能体项目,部署到服务器上。

是的,这个项目是我写的。

这个项目叫"天垚·九曜"。它第一页 README 写着"颠覆银河系""改变人类命运",用了"999 年"和"10086 个太阳"当卖点——那是我写的。翻到第二页,它诚实地说:这只是一个演示——这也是我写的。第一页是我的理想,第二页是我的现状,中间只隔一个回车。

仓库里有 401 个文件,170 个 Python 源码,214 个编译缓存。缓存是我的影子,影子比活人多。

里面躺着三条路,全是我修的:一条演示路,我亲手给它标上"可退役";一条企业路,我数了数,"预留""占位"两百多处;一条规划路,三千七百多行文档,其中一份三十八节、一千九百多行,把未来写得像已经发生过一样。连文档都是我自己写的,可我昨天还在对着文档查"部署要怎么做"。

企业路被我自己分成四档完成度:能跑的、能构造的、只有协议的、直接"未实现"的。看到第四档我沉默了——我亲手给自己的项目留了这么多口子,然后今天要把一口没补的项目往服务器上送。

数据库迁移目录是空的,输出目录是空的,安全测试目录只有文件夹,初始化脚本还没连过数据库。部署文档规划了六件套:数据库、缓存、检索、存储、接口、后台任务;仓库里没有部署编排文件,正式入口还是占位符。文档把未来安排得明明白白,现实本人毫不知情。

最后我看了眼这两天的提交记录,29 条,中英混杂,还有几条只写了"update"——那都是我自己提交的。update 更新了什么?现在连我这个作者都想不起来。

配置模板里排着一整排钥匙:模型供应商一排六个,数据库、检索、缓存、存储、消息、认证各一把。钥匙比锁多。而我就是那个配钥匙的人。


九月八日 · 星期二 · 服务器的现状

今天真的进了服务器,先看显卡。

显卡上已经住了两家人:一个视频配音模型,9.6G 加 5.5G 两个主模型,连带配套组件,GPU0 上占了约 20.7G;一个语音合成模型,占着 GPU1 约 9G。两个服务都在跑,端口也在值班:7860、7861、7862。

然后我查了一眼连接:没有任何活跃连接。GPU 利用率 0%。

翻译一下:服务在跑、模型已加载、暂时没人调用。 这是服务器上的"带薪摸鱼",摸的还是最贵的岗。

没上显卡的,排了一条更长的队:30B 的模型 57G,8B 的 16G,OCR 模型 6.3G,视频模型两个打包约 100G,还有一个微调模型约 8G,剩下几个小 embedding 模型只配活在缓存里。一百多个 G 的模型文件,有的连进程都没等到过。

视频模型那家,配套服务从 8 月 27 号起就显示"失败",隔离房里还留着不知道是什么的东西。人走了,房不退。

再往整个服务器看:Docker 里住着四户——PostgreSQL、GPUStack、禅道、GitLab;GitLab 占着十几个 G 内存、九百多个进程;裸机上还有 MySQL、Redis;Redis 里一共 21 个 key。Java 服务有两个,Java 的同一个业务包存了三个版本,连当前版带备份加起来四百多 M。数据盘里,显卡驱动安装包 4.3G 躺了两年,日志文件 7.5G 还在涨,SQL 备份若干。系统盘已经 96% 满,剩 8.3G;旁边那块 1TB 数据盘空了 849G。该空的满了,该满的空了。

这台服务器真的什么都有:有数据库,有缓存,有 GPU,有模型,有源码管理,有项目管理,有镜像,有备份,有几个版本的同一种东西,有死了还留着的服务。

就是没有我的项目。


尾声 · 部署从哪里开始

今天我把这件事从头想了一遍:我自己的项目,要部署到这台服务器上,怎么做?

项目文档说:要六个生产件——接口、数据库、缓存、检索、存储、后台任务。服务器上:PostgreSQL 有,Redis 有,GPU 有,模型网关有;OpenSearch 或向量检索没有,对象存储没有,根盘只剩 8.3G,显存还被两个 0% 利用率的服务占着约 30G,一堆百来 G 的模型文件在排队。

两头都是齐的,就是没人对齐过。

我的项目不是不会部署。是它写了一篇三十八节、一千九百多行的部署指南,却没有一份能直接跑的部署文件;迁移目录空着,初始化脚本没连过数据库,正式入口占着位。服务器也不是不能用,是它早就乱到不知道应该让哪个模型先下显卡。

公司管理混乱的真相,今天终于被我找到了:不是没有东西,是每个东西都太有东西。

最后我在自己的项目里开了一个新的空目录,打算往里面放部署清单。

清单第一行我写了三个字:先腾地方。

不是我的项目想抢 8.3G 的系统盘,也不是它惦记那 30G 显存。是我终于明白了——这台服务器不是布置给我的,它只是先我一步,把"什么都有"这件事做到了极致。

——选自《牛马日记》第一卷,"部署"篇。
作者按:本文所有模型状态、端口与显存占用均为当天实测;我的项目目前依然在本机,服务器还没有它的名字。
编辑部按:作者把部署清单复制了三份,分别命名为:部署流程、部署流程(最终)、部署流程(真的最终)。

评论

还没有人说话。

说点什么

邮箱只用于显示头像,不会公开。 取消回复