Gitlab修复Google两步验证无效的问题

接到用户反馈,GitLab的2FA无法使用。

经查是服务器的时间与标准时间相差2分钟,这是由于服务器未启动与物理机的时间同步。也没有开启NTP服务导致的。

对于时间不敏感的应用2分钟的差距没有什么影响,但对于2FA这种时间非常敏感的应用就会出问题了。

现已打开虚拟机与物理机的时间同步功能,同时物理机开启NTP服务,与time.ustc.edu.cn校对时间。

感谢@hugo的反馈

东图集群网关添加出国加速隧道备份功能

(以下供维护人员参考)

目前VPN服务器、blog服务器都是使用移动出口作为加速通道。但由于我校移动出口稳定性不佳,为了最大限度确保出国加速的可靠性,现使用教育网出口作为出国加速备选通道。移动隧道延迟58ms,教育网隧道延迟96ms。因此只有当所有移动隧道都跪了之后,才会选用教育网隧道。

【具体实现】

在防火墙mangle表中加入以下规则:

-A PREROUTING -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
-A PREROUTING -m mark ! --mark 0x0 -j ACCEPT
-A PREROUTING -m mark --mark 0x0 -j ExtraManglePrerouting
-A PREROUTING -m mark --mark 0x0 -j AbroadMobileManglePrerouting
-A PREROUTING -m mark --mark 0x0 -j AbroadCernetManglePrerouting
-A PREROUTING -j CONNMARK --save-mark --nfmask 0xffffffff --ctmask 0xfffffff
-A ExtraManglePrerouting -i ExtraCernet -j MARK --set-xmark 0x10/0xffffffff
-A ExtraManglePrerouting -i ExtraTelecom -j MARK --set-xmark 0x11/0xffffffff
-A ExtraManglePrerouting -i ExtraMobile -j MARK --set-xmark 0x12/0xffffffff

其中ExtraManglePrerouting的作用是让从外部发起的连接,回复的数据包走原先的接口。自定义链AbroadMobileManglePrerouting实现出国加速移动隧道的负载均衡标记,自定义链AbroadCernetManglePrerouting实现出国加速教育网隧道的负载均衡标记。这两条链均由TunnelMonitor监控并维护。

GitLab服务器维护通知

GitLab服务器计划于2015年5月24日0:00 ~ 04:00升级维护,维护内容:

  • 升级GitLab至7.11.2 stable
  • 服务器迁移至东图虚拟化集群

维护期间,GitLab将无法正常访问。给您带来的不便,深表歉意。

update 03:25 维护完成。

update 13:14 接到用户报告,登陆GitLab首页会跳转到本页面,我们正在排查原因中。

update 13:22 经检查是由于服务器迁移后,未修改AAAA记录,导致ipv6用户仍然访问的是旧服务器,现已修复。如果您的浏览器仍然会跳转到本页面,请尝试清空dns缓存、清空浏览器缓存后再访问试试。

update 14:01 接到用户报告,push地址变为localhost。由于昨天更新 7.11时发现配置文件变化较大,因此决定手动合并配置。由于疏忽server_name没有被merge进去。仍然保留了默认配置中的localhost,该问题现已修复。请尝试重新访问GitLab。

update 14.02 接到用户报告,无法push。这是由于网关中建立的22端口映射消失,导致无法使用ssh的22端口与主机通讯。现已重新添加端口映射,请重新尝试push。我们正在定位端口映射消失的原因。

Mirrors 外部磁盘阵列再次发生故障

5月21日早晨6时许,Mirrors 外部磁盘阵列 XFS 文件系统发生故障。

此次文件系统故障疑为前一日外部磁盘阵列连接异常中断所致。我们现在正在对文件系统进行完整的检查和修复,以彻底消除前次故障对文件系统的影响。

一次完整的磁盘检查需要花费大量的时间。在此期间,部分镜像将无法访问。为了减轻对用户的影响,我们临时将这部分镜像的 http 访问分流到国内其他镜像站。

给您带来了不便,敬请谅解!

更新: 磁盘检查于5月21日下午3时左右结束,服务现已恢复。

GitLab宕机事故说明

今天凌晨4:35,GitLab主页返回502错误。

经查,是由于GitLab主机在执行定时备份操作时,磁盘空间被临时文件耗尽。导致GitLab主程序因为无法写入日志而退出。

10:31,管理员手动清除了备份过程中产生的中间文件,并重启了GitLab服务。

为了防止再次发生类似事故,我们将备份保存期限减少到了2天。

给您带来的不便,我们深感歉意。

感谢boj热心提醒

GitLab修复contributions calendar无法显示的bug

GitLab升级7.10之后,contributions calendar不显示任何数据。

经查,这是由于mysql数据库和postgres数据库的语法标准不一致引起的,是GitLab7.10的一个bug。官方已在master分支中修复,但尚未release。

我们手动合并了修复补丁,目前contributions calendar已经恢复正常。

感谢李博杰的bug报告。