技术解析

多台主机用来搭建 Gitlab Server 存代码怎么搞?
0
2021-06-21 06:49:47
idczone

我们实验室买了 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 人的话,也基本没有并发

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服