Mirrors 部分服务中断说明

近日,Mirrors 由于增加了 Bcache 缓存,导致服务器负载出现不明异常,进而影响多项服务。
在排查原因的同时,我们会优先保证 HTTP/HTTPS 服务,但无法保证 Rsync, Git 等服务的可靠性。

在此期间,用户可以选择 Tsinghua Mirrors 作为替代。

给您造成不便,请谅解。

UPDATE 2016-11-14
目前外部磁盘阵列有一块盘损坏,Raid 控制器正在 Rebuild。Rebuild 时间较长,且影响性能。

UPDATE 2016-11-14 18:19:18
卸载了正在rebuild的阵列,该阵列上的软件源的HTTP/HTTPS请求会被重定向到其他站点。

UPDATE 2016-11-16 11:00:00
Mirrors 早上失联,已将域名解析到备份站点,所有访问将被重定向到其他镜像站,
重定向规则见 https://git.ustclug.org/mirrors/mirrors-backup/blob/master/redirect.lua

只有 HTTP/HTTPS 会被重定向,Rsync, Git 暂停服务。

UPDATE 2016-11-21 14:13:51

去掉bcache后仍然出现了好几次宕机,但仍然没有定位到原因。而且没有了缓存机制镜像站的负载居高不下(60~70),近两天还发现内部阵列(raid5)有两块服役56328小时的硬盘smart信息很不乐观(Raw_Read_Error_Rate已经高达98884520和235269563)。近期镜像站极其不稳定,不论是硬件软件都频出问题,非常抱歉给大家带来诸多不便。我们会尽快排查问题并提供更稳定的服务。

此外,我们已经联系学校的网络中心老师,筹备买新机器的事宜,但不确定什么时间能上线。最后,欢迎提供帮助(联系我们or捐赠)

新增 OpenPGP Keyserver

新增 sks.ustclug.org,同时已加入 SKS Keyserver Pool。
SKS Keyserver Pool 监控信息:https://sks-keyservers.net/status/ks-status.php?server=sks.ustclug.org
SKS Keyserver 状态信息:https://sks.ustclug.org/pks/lookup?op=stats

GnuPG 用户可以设置 keyserver 服务器为 hkp://sks.ustclug.org 来直接使用。如:
gpg --keyserver hkp://sks.ustclug.org --refresh-keys

GnuPG 2 的用户可以将 sks.ustclug.org 加入配置文件中,方法:
.gnupg/dirmngr.conf 中加入 keyserver hkp://sks.ustclug.org
然后运行 gpgconf --reload dirmngr 使配置生效。

hkps 协议暂未支持,正在申请 hkps 证书中 🙂

update 2:

https/hkps 证书改为由 Let’s Encrypt 签发。

对应的 CA 请使用 DST RootCA X3

Linux 用户一般可以从 /usr/share/ca-certificates/mozilla/DST_Root_CA_X3.crt 这个地方获取 CA 文件。

update 1:

hkp 协议为 http 协议的子集(默认端口不同),所以 hkps 和 https 也是类似的(都使用 443 端口)。
SKS Keyserver Pool 的 hkps 要求使用的是 sks-keyservers.net CA 签发的证书(不被浏览器信任),所以我们决定保留使用 StartCom 签发的证书用于
443 端口,即用于 https 和 hkps 服务。

请使用 hkps 的同学在配置文件中加入 StartCom_Certification_Authority 这个 CA。

具体以 GnuPG 2.1.11 为例:


mkdir ~/.gnupg/trusted-certs
cp /usr/share/ca-certificates/mozilla/StartCom_Certification_Authority.crt ~/.gnupg/trusted-certs/StartCom_Certification_Authority.pem
# 注意 dirmngr 只认 pem 结尾的证书
echo "hkp-cacert ~/.gnupg/trusted-certs/StartCom_Certification_Authority.pem" >> ~/.gnupg/dirmngr.conf
echo "keyserver hkp://sks.ustclug.org" >> ~/.gnupg/dirmngr.conf
gpgconf --reload dirmngr

Mirrors 验证 ISO 下载

当使用浏览器(User Agent 中带有 Mozilla)下载科大 Mirrors 的 ISO 时,用户会被重定向到 iso.mirrors.ustc.edu.cn,这会是一个使用 javascript 设置 cookie 的转跳页面。最后用户会被转跳到 verify.iso.mirrors.ustc.edu.cn,此时会验证用户的 cookie 是否有效,无效则会返回 403 拒绝下载。

使用 Wget 等方式下载不受影响;教育网用户亦不受影响。

如果你在下载时出现问题,请与我们联系。


技术细节

server_name iso.mirrors.ustc.edu.cn;
location ~ \.iso$ {
  types {}
  default_type text/html;
  content_by_lua '
    local s1 = [[<html><head><meta http-equiv="refresh" content="0; url=http://verify.iso.mirrors.ustc.edu.cn%s">]] ..
    [[<script>document.cookie="addr=%s;domain=.iso.mirrors.ustc.edu.cn";</script></head></html>]]
    ngx.say(string.format(s1, ngx.var.uri, ngx.var.remote_addr))
  ';
}
server_name verify.iso.mirrors.ustc.edu.cn;
access_by_lua '
  if ngx.var.cookie_addr == ngx.var.remote_addr then
    return
  else
    ngx.exit(ngx.HTTP_FORBIDDEN)
  end
';

Mirrors 新增 Docker Hub Registry Mirror

为了加快 Docker Hub 镜像在校内及其他地方的访问速度,USTC Mirrors 新增了 Docker Hub Registry Mirror。注意,通过这个 Mirror 只能用于从 Docker Hub 上 pull 镜像,也就是只读 Mirror,用户无法通过 USTC Mirror push 新的镜像到 Docker Hub 上。并且即使只是 pull 镜像,用户仍旧需要访问 index.docker.io


docker 用户可以通过以下方式来使用:

参考 https://docs.docker.com/articles/registry_mirror/#step-1-configure-your-docker-daemons-to-use-the-local-registry-mirror

将 –registry-mirror=https://docker.mirrors.ustc.edu.cn 加入 docker 的启动参数。

Ubuntu 用户(包括使用 systemd 的 Ubuntu 15.04)可以修改 /etc/default/docker 文件,加入如下参数:

DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn"

其他 systemd 用户可以新建 /etc/systemd/system/docker.service.d/override.conf (通过 sudo systemctl edit docker.service 命令)

[Service]
ExecStart=
ExecStart=/usr/bin/docker -d -H fd:// --registry-mirror=https://docker.mirrors.ustc.edu.cn

LUG更换SSL证书

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

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

原有 StartSSL 并未吊销。

少院机房维护

freeshell所在机房(即少院机房)需要新安装空调。

但由于空间不够,所以需要挪动现有服务器位置,以及安装空调管道时会涉及到机房网线的挪动,

因此,不排除施工时由于人为因素使得机房内服务器暂时掉线。

施工时间:2013年8月21日早上9:00起。

涉及到的服务器有 http://ourscgy.ustc.edu.cn/tech/index.php?title=%E6%9C%8D%E5%8A%A1%E5%99%A8

由此带来的不便,敬请谅解。

 

2013/8/20

少院技术部