LaTeX 平台事故说明 & 平台正式版发布说明
事故经过
LaTeX 的编译机是目前唯一不由俱乐部管理的机器,必须通过 Web Shell 远程访问。2024年9月28日晚,开发组同学在进行系统升级时网络环境不稳定,Web Shell 断联。当时系统正好处于 openssh 等重要组件升级过程中,断联导致 openssh 未正确配置,系统无法登陆。
开发组立刻联系负责老师重启系统,由于当天为非工作日,直到9月30日才成功重启系统。但因关键组件异常,系统崩溃,服务完全停止。
10月1日,开发组联系老师,但由于非工作日,无法操作系统。我们麻烦老师先将数据拷贝出来,为急用的同学提取数据。因为国庆假期缘故,拷贝数据的工作一直到10月3日下午才完成。
10月3日晚,开发组同学紧急开发程序,提取同学数据。由于数据储存方式复杂,加上之前从未访问过用户数据,一直到10月4日夜1点,开发组才成功从数据库提取出完整的用户数据,并分发至认证过的同学邮箱。
10月4日,开发组请求在原先虚拟机的IP上新建虚拟机,试图恢复服务。由于正处假期,老师们都在外地,无法帮忙操作。直到10月6日早晨,开发组终于拿到虚拟机,开始恢复服务。
10月6日下午,开发组开始数据迁移与系统恢复。晚20点,服务正式恢复,测试正常。
事故反思与预防
经过此事,社团对目前的团队组织、工程结构和快速响应等情况进行了反思,总结如下:
1. 工程架构冗余性不足,虚拟机单点故障导致了整体工程下线
2. 热操作不够谨慎。升级系统前,应进行备份与迁移,不应该在线上进行热操作
3. 系统架构过于依赖非团队管理的服务器,且正处假期,老师们无法帮忙操作
4. 团队的应急响应能力和危机意识有待加强,未在第一时间与老师联系,未利用好9月29日最后一个工作日的窗口期,快速解决问题
因此,我们进行了如下改进:
1. 优化系统架构,将主服务器迁移至社团服务器,此前的服务器仅作为前端使用。如网站下线,可以在latex.lcpu.dev访问到。具体的访问密码将于近期发送至各位邮箱。
2. 制定标准的变更管理流程,升级前必须提前做好数据备份、系统镜像等准备工作。严禁在线上环境直接进行高风险操作。
3. 改进数据管理方式,将推出自主数据取回服务。
我们在此向所有平台用户报以最诚挚的歉意,向在假期为我们提供帮助的老师和同学们表示感谢。
0.2.0 版本发布说明
酝酿已久的 0.2.0 版本终于要发布了!这是一个功能改进和系统优化的大版本,也将是我们发布的第一个正式版,我们做了如下工作:
1. 增加了公式转LaTeX的工具,可登陆后点击网站右上角访问
2. 增加了多 TeXLive 版本支持,现在可以选择20,22,24版本编译
3. 更新了 UI,现在支持所见即所得编辑器、自动补全
4. 增强了安全性,使用容器化方案,隔离每位用户的编译环境,支持shell escape高亮等功能
5. 增强了编译性能,单线程性能提高30%以上,服务承载量提高一倍
6. 提高了数据安全性,数据采用双倍冗余备份、定期备份等形式备份
7. 延长了编译时间限制,目前编译时长限制为两小时,理论上避免了编译超时的场景
8. 增加了完整历史记录的功能,可以看到文档历史,给文档历史打标记,方便版本管理
我们的目标是在功能和稳定性上媲美overleaf,同时保持免费。不过该服务为社团维护的志愿服务,没有可用性保证,也没有数据安全性的绝对保证。如果大家遇到任何问题,欢迎发送邮件至 linuxclub@pku.edu.cn,我们会快速回复,尽快帮忙解决问题,但我们无法保证及时解决所有问题。
目前正在开发的功能
以下功能都是实现完成度50%以上,但未在该版本上线的功能:
1. 模板市场
2. Git 整合
有计划开发的功能
基于大语言模型的自动补全