SysAdmin

ZFS的自动化备份

(最后修改: Data Management #ZFS #Backup #automation #SysAdmin #data management

主任说:

冗余不做,日子甭过;备份不做,十恶不赦。

以前一直是每天手动给自己的新服务器做备份,最近找时间写了一套脚本来自动完成这个事情。

脚本没啥复杂的,大体的思路是这样:

  1. 在源上根据日期命名生成一份新的快照;
  2. 将上次备份机器收到的快照和新快照之间的差异 pipe 给 xz,然后再把结果pipe给ssh(使用key验证),传到备份机上;
  3. 备份机解压缩、zfs receive之后,如果成功,ssh到源系统上记录自己拿到的那个新的快照日期;

由于是通过 Internet (从AS6939送到AS33651)传递快照,所以使用了压缩。用ssh来完成传输的考虑主要是因为它能够做到互相验证身份。

阅读全文… ( 本文约 704 字,阅读大致需要 2 分钟 )

在服务器上运行的 ssh-agent

(最后修改: Security #ssh-agent #SSH #SysAdmin #Authentication

之前 @quakelee 提的一个问题(通道上登录第二台机器作为跳板登录第三台机器,但不把ssh私钥传到中间那台机器上)。如果shell是csh,在 ~/.cshrc 中加入:

source ~/auth.csh
[ -e ${SSH_AUTH_SOCK} ] || ssh-agent -t 15m -c > ~/auth.csh && source ~/auth.csh

然后所有的 csh 就可以使用同一个ssh agent了。

阅读全文… ( 本文约 294 字,阅读大致需要 1 分钟 )

关于备份

(最后修改: Security #Backup #redundancy #data protection #SysAdmin

指望硬盘不挂掉是 很拼人品的事情(附带说一句,从某种意义上说,21世纪的硬盘质量并没有下降,只是单位容量出现故障的概率没有显著提高,而硬盘容量的扩大使得单块硬盘的故障率看起来提高了,但是如果我们从单位容量的故障率来看,坏损率并没有非常显著的增长)。所以想要长久地保存数据,就必须采用各式各样的冗余和备份手段。冗余和备份是不一样的,前者往往会采用同样的访问控制逻辑,提供在线或近线的数据存储,强调的是数据访问的及时性;而后者则强调的是数据的可恢复性。

关于访问控制

一般来说,不希望备份与原始数据采取相同的访问控制机制。例如,对网站来说,可以读写数据库的那个 Web 访客的数据库账户,很可能并不能直接读写网站的备份数据。有时,备份甚至是以一种"外科手术"的方式进行的:对文件系统做快照,然后将快照打包发到异地的另一套系统。

阅读全文… ( 本文约 1155 字,阅读大致需要 3 分钟 )

nginx中的TLS/SSL配置

(最后修改: Security #nginx #TLS #SNI #HTTPS #SysAdmin

nginx可以作为很多种不同的用途。对Web服务器来说,nginx可以直接用作https服务器,也可以用于为现有的http Web服务器作为前端代理和负载平衡的同时提供https之用。

阅读全文… ( 本文约 1201 字,阅读大致需要 3 分钟 )

测试SSL

(最后修改: Development #nginx #Movable Type #FastCGI #TLS #SysAdmin

周末抽时间对网站做了一些调整。主要是把网站迁移到nginx上,不过遇到一些问题。Movable Type以FCGI::Spawn运行的时候,有时会反复出现先前的页面(例如,在mt.cgi上登录时,在提交登录之后仍会出现登录界面,而不是正常完成登录)。用ktrace看了一下FastCGI进程,结果发现之前看到的资料里面有相当多的小问题,但这个问题最终没有解决,暂时起了一个Apache来以cgi方式处理来绕过问题了。

阅读全文… ( 本文约 239 字,阅读大致需要 1 分钟 )