Terry Wang (@terrywang)

Sydney, Australia

The below is an off-site archive of all tweets posted by @terrywang ever

November 28th, 2015

GitHub Enterprise 升级文件 .pkg 是二进制,从头来看是 shell 脚本和 7z/xz 打包的整个 rootfs 升级是解压缩到第二个分区 e2label 改分区上 ext4 的标签 chroot 重新装 GRUB2 到第二个分区的过程,回滚就是个逆向,嘿。

via Hotot for Chrome

想到第一个块设备 80GB 分为两个 40GB 分区,和 XenServer dom0 打交道这么久其实一开始就该想到这是给升级备份 fallback 用的 ghe-rollback-rootfs 脚本证实了这点。挂载第二个分区(带 / 标签) chroot 进去改完就又能爆菊了

via Hotot for Chrome

进入系统之后就一目了然了 Ubuntu 12.04.5 Xen PVHVM 模式,里面竟然还装了 XenServer Tools 呵呵。闲来无事还做了一次 2.4.0 -> 2.4.1 升级,重启发现 SSH 设置和用户密码被回滚了,再次 chroot 进去改重启后还是不行,呆

via Hotot for Chrome

因为没有许可证文件 .ghl 懒得申请试用,也不知道默认用户 admin 的密码,这当然不是问题,直接 chroot 进了系统,改了 root 和默认用户密码,外加 sshd_config 允许用密码登录(默认只允许 Public Key 验证) SSH 端口是 122 ;-D

via Hotot for Chrome

为何会想到搞 GitHub Enterprise 呢?因为有客户导入 XenServer 失败,快速帮其搞定后,顺便又帮他解决了虚拟机网络设置问题。官方文档中只给虚拟机分配了 8GB 内存,实际要跑起来没有 14GB 连初始化都过不了。好奇心驱使之下,自己下载了一个玩了一把,囧

via Hotot for Chrome

启动之前还需要给 GitHub Enterprise 虚拟机加第二个块设备(虚拟硬盘),用来做 LVM PV 系统内有脚本会创建 VG 和名为 ghe_user_data 的 LV 逻辑卷,用来保存用户数据。

via Hotot for Chrome

GitHub Enterprise 2.4.x 虚拟机导入 XenServer 资源池后启动至少要 14GB 的内存,主要是因为用了 Elasticsearch 而这货是跑在 JVM 之上的 Java 对内存有多贪婪大家懂的-_-z

via Hotot for Chrome