我需要构建一个解决方案来托管内部 git 存储库。它需要支持数十万(或更多)存储库。
我计划将多个“哑”服务器与共享存储一起使用,因此基本上当客户端尝试访问存储库时 - 负载平衡器会将其重定向到任何可用服务器。对存储库的任何更改 - 将在所有节点上复制。
我的第一个想法是为此使用 GlusterFS,但我读过它不能很好地处理小文件。我也在考虑使用 DRBD 自己复制所有内容,但这需要更多设置,并且与 GlusterFS 相比似乎更复杂。
两者中哪一个提供更好的性能?基本上,我试图解决的问题是,当任何服务器出现故障时 - 我希望其他人仍然能够提供数据。
我正在寻找一种使用存储在数据库(MongoDB)中的公钥来验证用户身份的方法。类似的问题通常会导致建议安装 OpenSSH 的补丁版本 ( https://github.com/wuputahllc/openssh-for-git ),该版本针对数据库进行身份验证(GitHub 正在使用 OpenSSH 的补丁版本)。
我看到有一个 PAM 模块可以通过 MySQL 进行身份验证,但它假定用户名/密码身份验证。我想知道是否可以使用某种 PAM 模块对服务器使用公钥进行身份验证。
编辑:我需要一个 git 服务器,所有用户都将通过“git”用户名进行连接。每个用户不会有特定的用户名。