GitLab服务器增加每日备份

(以下供维护人员参考)

GitLab服务器部署每日备份脚本。每日4:00执行一次备份,备份保留期限为4天。

备份脚本位于:/home/git/auto-gitlab-backup/auto-gitlab-backup.sh

脚本以git用户身份由crontab定时调用运行,使用ssh+rsync的方式将备份文件上传到backup.ustclug.org:/mnt/btrfs/backups/gitlab/。

配置文件位于:/home/git/auto-gitlab-backup/auto-gitlab-backup.conf

请不要把 Freeshell 上的 Debian 升级到 Jessie

2015 年 4 月 25 日,Debian 8 (Jessie) 发布,使用的是 Linux 3.16 内核和 systemd 2.15 服务管理系统(取代 sysvinit)。由于 Freeshell 使用了 OpenVZ,而 OpenVZ 没有跟着内核主线走,一直停留在 RHEL 6 所用的 Linux 2.6.32 上。该老旧内核不支持 systemd 2.12 及以上版本。

如果您 Freeshell 上的 Debian 通过 dist-upgrade 升级到了 Jessie,将无法启动(启动过程中会卡住)。尽管我们可以通过修改 systemd 源码的方式让 Jessie 跑起来,但可能引来其他问题,毕竟如此新的系统跑在如此老的内核上不放心。

如果您不慎升级了 Debian 到 Jessie,请使用 Freeshell 控制面板的 “Reinstall System” 功能重装回 Debian wheezy。很抱歉您暂时不能使用新版 Debian,希望您能理解。

今天 OpenVZ 官方发布了基于 RHEL 7 的 3.10 内核的 OpenVZ 内核(邮件列表源码仓库),让我们看到了一线曙光(之前一直以为 OpenVZ 快死了,原来是闷声发大财了大半年)。但 OpenVZ 尚未发布与 3.10 内核配套的用户态管理工具。等到管理工具发布了,Freeshell 就可以升级到 3.10 内核,包括 Debian Jessie 在内的大多数发行版应该都可以跑起来了。

LUG更换SSL证书

感谢 @showfom 捐赠 LUG 四枚泛域证书,以下域名已经更新成新的 AlphaSSL 的证书:

  • (*).mirrors.ustc.edu.cn
  • (*.)freeshell.ustc.edu.cn
  • (*.)lug.ustc.edu.cn
  • (*.)blog.ustc.edu.cn

原有 StartSSL 并未吊销。

GitLab 修复 HTTP push 失败问题

GitLab 通过 HTTPS 做包含大量内容的 push 时会失败,提示 HTTP 413 Request Entity Too Large。这是由于 GitLab 服务器的 nginx 配置了 client_max_body_size 100m,限制了 POST 请求不能超过 100 MB。目前该限制已经增加到 2 GB,而 LUG GitLab 限制的单个仓库最大为 2 GB,因此不再会出现由于 nginx 的限制而 push 失败的问题了。

GitLab 修复移动线路 IP 无法访问问题

4 月 12 日 GitLab 添加移动线路 IP 之后,由于路由表配置错误,校外用户无法通过该新增 IP 访问 GitLab。今天才从 DNSPod 的报警中发现这一问题。非常抱歉此问题给您带来的不便。

问题原因是 GitLab 服务器挂上了 LUG VPN。挂上 VPN 的机器要想仍然可以从外网访问,需要设置策略路由。而 GitLab 服务器新增移动线路 IP 地址之后,没有更新策略路由规则。

这个问题之所以没有被发现,是因为校内可以正常访问 GitLab 的移动 IP。为了优化校内访问,我们对校内 IP 不走 VPN,如下路由表所示。从移动 IP 出来的回复包尽管走错了出口(本来应该走移动出口,但现在走了电信出口),但仍然能被正确路由。发往校外 IP 的回复包则会根据 default 那条路由规则,发送到 VPN 服务器,这就不可能到达目的地了。

boj@gitlab:~$ ip route
default dev tun0  scope link
default via 202.141.160.126 dev eth0  metric 10
10.1.14.0/24 dev tun0  proto kernel  scope link  src 10.1.14.7
10.38.0.0/16 via 202.141.160.126 dev eth0
114.214.160.0/19 via 202.141.160.126 dev eth0
114.214.192.0/18 via 202.141.160.126 dev eth0
121.255.0.0/16 via 202.141.160.126 dev eth0
202.38.64.0/19 via 202.141.160.126 dev eth0
202.141.160.0/25 dev eth0  proto kernel  scope link  src 202.141.160.98
202.141.160.0/20 via 202.141.160.126 dev eth0
202.141.176.0/25 dev eth1  proto kernel  scope link  src 202.141.176.98
202.141.176.0/20 via 202.141.160.126 dev eth0
210.45.64.0/20 via 202.141.160.126 dev eth0
210.45.112.0/20 via 202.141.160.126 dev eth0
210.72.22.0/24 via 202.141.160.126 dev eth0
211.86.144.0/20 via 202.141.160.126 dev eth0
218.22.21.0/27 via 202.141.160.126 dev eth0
218.104.71.160/28 via 202.141.160.126 dev eth0
222.195.64.0/19 via 202.141.160.126 dev eth0

解决方法是添加策略路由规则:

ip route replace 202.141.176.0/25 dev eth1 table 1001
ip route replace default via 202.141.176.126 table 1001
ip rule add from 202.141.176.98 lookup 1001

Blog Google Fonts 不再需要代理

去年由于谷歌字体被墙,我们提供了 Google Fonts 代理服务。今年早些时候,Google 把字体服务解析到了国内的服务器,不再需要代理了。

现对 USTC Blog 的 fonts.googleapis.comfonts.gstatic.com 两个域名取消强制代理。其余的域名,如 ajax.googleapis.comthemes.googleusercontent.com,IP 地址仍然在国外,因此仍然实施强制代理。

.lug.ustc.edu.cn 上的谷歌字体代理服务将继续运行,有需要的用户可以继续使用。

GitLab服务器维护通知

GitLab服务器计划于2015年4月13日升级维护,计划维护时间为01:30 ~ 04:30。届时GitLab代码托管服务将中断。

维护内容:

  • 升级GitLab至 7.9.3 stable
  • 服务器迁移到少年班学院机房

给您带来的不便,深表歉意。

update 2015-4-13 03:41  GitLab更新完成。但由于一些原因,没有迁移服务器。

GitLab 添加移动线路出口

为加速移动、国外和部分教育网用户访问科大 GitLab,今天我们请 jameszhang 给 GitLab 添加了移动线路出口,IP 地址为 202.141.176.98。

目前移动、国外和部分联通用户访问 gitlab.lug.ustc.edu.cn 使用新增的移动线路出口,其余用户仍然使用电信出口。git.ustclug.org 则会同时返回两个 IP 地址,客户端会随机连接其中一个。