November 27, 2019

QNAP nas中的系统盘gitlab迁移

nas的系统盘是ssd所以gitlab放在ssd里响应速度相对好,但是容量很容易被自动备份的相册撑爆了,所以这次换了系统盘后忘了做备份迁移实在是有够蠢.

幸好旧盘拔下来没有丢数据,所以通过 DiskInternalReader3.5把之前container指定到的gitlab-data卷数据考出来 导入到新建的gitlab-data卷内 修复一些权限让gitlab自动导入.

由于external_url的改变 导致的新gitlab 启动会报50x,所以需要将external_url改回ip地址一下子 然后执行

docker exec -it gitlab gitlab-rake gitlab:backup:create

为了让配置可以从旧版顺利过渡到新版,先还是恢复到旧版的gitlab启动,执行

docker exec -it gitlab gitlab-rake gitlab:backup:restore BACKUP=<刚才成功备份的tar包时间戳> 等他慢慢导入.确定远程读取没问题后再恢复到新external_url,顺便更新到最新的gitlab-ce即可.

一周前的gitlab版本是12.4.3现在是12.5.1,所以又要拉好长一段时间的镜像.说真的 gitlab每次大版本号换新的.0版本真的是毛病多多. 不过,这次总算是安然地恢复了所有仓库的数据.hooyah!

对了 没错,我已经不再通过安装包安装gitlab-ce,转而使用docker-compose. docker明显简化了linux软件的部署,虽然会带来一些的小麻烦,总体上还是有益于减少工作量和等待时间的.完整的compose.yml我贴在自己的github 仓库里了.

https://github.com/afrojewelz/dockerimages

新的yml文件增加了对容器资源的开销限制,由于qnap自带的container_station内置的docker版本比较旧docker-compose.yml只好使用v2之前的规范.所以新版的规范通不过yml验证啦,没关系先用着旧版就好

cpu_shares: 75    

mem_reservation: 768mmem_limit: 3072000000    

memswap_limit: 1024000000

mem_reservation: 768m

增加了定时备份的频率配置.先设置位每周备份一次吧.

qnap这台nas配置不好 但是容量足够大.放心使用啦