多台主机用来搭建 Gitlab Server 存代码怎么搞? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
willXW
V2EX    Linux

多台主机用来搭建 Gitlab Server 存代码怎么搞?

  •  
  •   willXW 2019-06-17 21:36:36 +08:00 7150 次点击
    这是一个创建于 2375 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们实验室买了 3 台 Thinkserver,打算用来给实验室同学放文件和代码。

    那我怎么用这几台主机建立一个 Gitlab server?

    23 条回复    2019-06-18 16:43:31 +08:00
    beginor
        1
    beginor  
       2019-06-17 21:50:40 +08:00 via Android
    gitlab 并不适合集群,单机部署就够了。 如果一定要分开的话,就把数据库单独安装到另外一台服务器。剩下一台可以跑 gitlab runner。
    ranleng
        2
    ranleng  
       2019-06-17 21:56:29 +08:00 via Android
    在一个上面搭服务
    然后每天 12 点备份到剩下两台
    willXW
        3
    willXW  
    OP
       2019-06-17 22:02:10 +08:00
    @beginor 我有三台服务器,我可以一个开 gitlab runner,另外两个开数据库么?
    @ranleng 备份到另外两台,这也太费机器了吧。三台当一台使么?
    scukmh
        4
    scukmh  
       2019-06-17 22:04:39 +08:00
    有那么大的需求嘛?一台我觉得够了。剩下两台说不定还能哪来挖挖矿之类的。(跑
    willXW
        5
    willXW  
    OP
       2019-06-17 22:22:33 +08:00
    @scukmh 有这么大需求,一台 4T ( raid 1 ),一台 1T(raid 1)。一个人 50G,50 个人,2.5T 。实验室每年有 50 个人,两年就分完了。
    asuka4ever
        6
    asuka4ever  
       2019-06-17 22:53:23 +08:00
    @willXW 文件需求不应该搭 samba 么?实验室能每人写 50G 的代码?
        7
    stillwaiting  
       2019-06-17 22:55:48 +08:00
    @willXW 每人每年写 50G 代码??
    stillwaiting
    willXW
        8
    willXW  
    OP
       2019-06-17 23:30:03 +08:00
    @asuka4ever @stillwaiting 不仅用来放代码的,比如放毕业论文,项目过程中存放一些文档等等。算是网盘+Codebase 两种功能吧。
    yuikns
        9
    yuikns  
       2019-06-17 23:33:53 +08:00
    1. 存代码一台够用了。大文件用 lfs。
    2. 你可以一台开服务器,其它几开 runner
    yuikns
        10
    yuikns  
       2019-06-17 23:35:41 +08:00
    lfs 文件是单独的目录。你如果愿意,可以挂到 Ceph 和 GlusterFS 上分享下硬盘资源。

    我觉得 GlusterFS 比较适合你这个需求。
    phy25
        11
    phy25  
       2019-06-18 03:32:05 +08:00 via Android
    真想多台可以 GitLab Geo,只是没有必要而已。可以在大服务器上隔虚拟机或者 Docker 之类的。然而您这个需求主要问题还是在怎么扩展存储。
    msg7086
        12
    msg7086  
       2019-06-18 04:44:55 +08:00
    看不太懂这操作。人家都是确定了需求去买服务器,你们是服务器先买回来然后再想办法把需求凑上去?
    如果有这么大存储需求的话,一台机器上面堆个 20-30T 空间就结了呗。
    剩下的最多再搞一个 GitLab Runner。
    你这三台不伦不类的机器,很难搞啊……
    fx
        13
    fx  
       2019-06-18 05:49:22 +08:00
    100G 就够你们用了, 拿来当文件存储就算了
    jimrok
        14
    jimrok  
       2019-06-18 08:01:54 +08:00
    gitlab 一台就够了,如果磁盘满了再进行扩容。git 是一种分布式的版本控制,通常情况下,个人的 git 目录里还有一份备份,很少有个人和服务器同时损毁的情况。不放心,再做一次复制到另外一台服务器上。rsync 或者共享磁盘就可以。
    beginor
        15
    beginor  
       2019-06-18 08:09:01 +08:00 via Android
    @willXW 你想这样玩儿当然可以,数据库搭建集群就可以, 但是请仔细思考有这个必要么? 年产量 50G 的,肯定不是代码,而是文件。gitlab 的代码和文件不放在数据库,而是在 git 库。
    silenceshell
        16
    silenceshell  
       2019-06-18 08:09:57 +08:00 via iPhone
    @jimrok 以前我也这么想的,但真见过一起损毁的案例。当事人非常崩溃。
    forcecharlie
        17
    forcecharlie  
       2019-06-18 09:13:13 +08:00
    虽然可以用 NFS Ceph, 但最后会发现分布式文件系统会是瓶颈,目前 Gitlab 有 gitaly,基本上可以使用 gitaly。
    xhcnb
        18
    xhcnb  
       2019-06-18 09:31:34 +08:00
    gitlab 数据库里没有多少东西的, 代码和文件也不存在数据库, 而且 50 人其实存不了多少代码
    硬盘便宜, 可以再扩充, 4T raid1 能有几个钱, 简单配置成 lvs 扩展卷, 很实用
    必须有一台机器做备份, 可兼做 runner
    文件需求不要放在 gitlab
    cominghome
        19
    cominghome  
       2019-06-18 09:51:10 +08:00
    gitlab 单机部署
    弄一个文件服务器
    最后搞一台备份服务器
    SirLostWhite
        20
    SirLostWhite  
       2019-06-18 09:57:36 +08:00
    @cominghome +1 感觉这样更靠谱
    QQ2171775959
        21
    QQ2171775959  
       2019-06-18 10:32:57 +08:00
    要集群的话,还是用独立的比较好,组个内网,做一下负载均衡。
    superalsrk
        22
    superalsrk  
       2019-06-18 11:16:47 +08:00
    大文件,日志, 数据之类的还是单独的存放比较好吧, 比如自己搭建一个 owncloud 什么的
    menyakun
        23
    menyakun  
       2019-06-18 16:43:31 +08:00
    @cominghome 这样靠谱。实验室每年 50 人,总人数我就算 300 人的话,也基本没有并发
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3037 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 49ms UTC 00:34 PVG 08:34 LAX 16:34 JFK 19:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86