我们实验室买了 3 台 Thinkserver,打算用来给实验室同学放文件和代码。
那我怎么用这几台主机建立一个 Gitlab server?
gitlab 并不适合集群,单机部署就够了。 如果一定要分开的话,就把数据库单独安装到另外一台服务器。剩下一台可以跑 gitlab runner。
在一个上面搭服务
然后每天 12 点备份到剩下两台
我有三台服务器,我可以一个开 gitlab runner,另外两个开数据库么?
备份到另外两台,这也太费机器了吧。三台当一台使么?
有那么大的需求嘛?一台我觉得够了。剩下两台说不定还能哪来挖挖矿之类的。(跑
有这么大需求,一台 4T ( raid 1 ),一台 1T(raid 1)。一个人 50G,50 个人,2.5T 。实验室每年有 50 个人,两年就分完了。
文件需求不应该搭 samba 么?实验室能每人写 50G 的代码?
每人每年写 50G 代码??
不仅用来放代码的,比如放毕业论文,项目过程中存放一些文档等等。算是网盘+Codebase 两种功能吧。
1. 存代码一台够用了。大文件用 lfs。
2. 你可以一台开服务器,其它几开 runner
lfs 文件是单独的目录。你如果愿意,可以挂到 Ceph 和 GlusterFS 上分享下硬盘资源。
我觉得 GlusterFS 比较适合你这个需求。
真想多台可以 GitLab Geo,只是没有必要而已。可以在大服务器上隔虚拟机或者 Docker 之类的。然而您这个需求主要问题还是在怎么扩展存储。
看不太懂这操作。人家都是确定了需求去买服务器,你们是服务器先买回来然后再想办法把需求凑上去?
如果有这么大存储需求的话,一台机器上面堆个 20-30T 空间就结了呗。
剩下的最多再搞一个 GitLab Runner。
你这三台不伦不类的机器,很难搞啊……
100G 就够你们用了, 拿来当文件存储就算了
gitlab 一台就够了,如果磁盘满了再进行扩容。git 是一种分布式的版本控制,通常情况下,个人的 git 目录里还有一份备份,很少有个人和服务器同时损毁的情况。不放心,再做一次复制到另外一台服务器上。rsync 或者共享磁盘就可以。
你想这样玩儿当然可以,数据库搭建集群就可以, 但是请仔细思考有这个必要么? 年产量 50G 的,肯定不是代码,而是文件。gitlab 的代码和文件不放在数据库,而是在 git 库。
以前我也这么想的,但真见过一起损毁的案例。当事人非常崩溃。
虽然可以用 NFS Ceph, 但最后会发现分布式文件系统会是瓶颈,目前 Gitlab 有 gitaly,基本上可以使用 gitaly。
gitlab 数据库里没有多少东西的, 代码和文件也不存在数据库, 而且 50 人其实存不了多少代码
硬盘便宜, 可以再扩充, 4T raid1 能有几个钱, 简单配置成 lvs 扩展卷, 很实用
必须有一台机器做备份, 可兼做 runner
文件需求不要放在 gitlab
gitlab 单机部署
弄一个文件服务器
最后搞一台备份服务器
+1 感觉这样更靠谱
要集群的话,还是用独立的比较好,组个内网,做一下负载均衡。
大文件,日志, 数据之类的还是单独的存放比较好吧, 比如自己搭建一个 owncloud 什么的
这样靠谱。实验室每年 50 人,总人数我就算 300 人的话,也基本没有并发