将家庭服务器从DELL R720迁移到蜗牛星际+MacbookPro

将家庭服务器从DELL R720迁移到蜗牛星际+MacbookPro
前几年网HomeLab, 买了一台二手Dell R720机架服务器, 用来做家庭服务器. 但是由于这台服务器的功耗太高, 双cpu待机就要快200w, 换了低功耗的志强后,只安装一个cpu,也有100w+, 一年下来电费不少,而且,到了夏天,非常的热,后来使用ipmi工具,用python写了个代码,根据温度来调节暴力风扇,要舒服许多,但是,夏天,室温升高,风扇还是会平方提高转速. 一直想换成低功耗的服务器. 之前买了蜗牛星际, 这个使用的是j1900, 功耗很低的, 于是就把家庭服务器从Dell R720迁移到了蜗牛星际.
尝试
Dell R720买回家后,前前后后装了太多vm, lxc, 折腾k8s, rancher等,内存加到了64G, 还可以往上加,毕竟ddr3 ecc的服务器内存太便宜了,不过64g足够了,根本用不完,搞多了费电.
目前保留了两个lxc, 一个跑bt,qt, 我都用的是qbittorrent, 把bt和pt服务分开了.
目前已经用qbittorrent下载了快40t的数据:

qbittorrent非常稳定,之前用transmission,感觉不好用,速度也一般. 这个lxc是必须要迁移的.
另一个lxc也是是跑ubuntu, 用来存储整套媒体工作流:
jellyseerr用来检索影片prowlarr用来检索index,提交下载任务sonarr用来提交电视剧任务radarr用来提价电影任务jellyfin用来播放影片
这套工作流非常稳定了, 需要迁移. 因为这些用不了太多资源, 放R720上太浪费资源.
步骤
星际蜗牛上安装pve, 这个是必须的.星际蜗牛上配置两个ubuntu的lxc, 这个是必须的.- 将原来各个
docker使用的docker-compose文件和挂载用的config文件夹,用rsync全部同步过来 - 在
蜗牛上使用mount -t nfs挂载影视资源和下载目录. - 将
docker-compose映射的目录改成mount后的目录 docker-compose up -d启动所有服务
就这样完成了,为什么需要挂载nfs,而不直接将硬盘移动过来,因为我不知道蜗牛的j1900+4G 内存是否能搞定这多的服务. 先测试过可以,最后再迁移硬盘.
发现的问题
内存不够
星际蜗牛开机没多久,就会出现cpu占用100%, 但是top查看, 是一个叫kswapd名称的进程, google了一下, 是交换空间管理进程, 说明4g内存不够了.
默认swap只有512M, 于是准备用swapon等命令创建几个G的swap分区, 结果发现root分区不够了,因为我一开始就是测试下, 所以在蜗牛上内置的sata接了一个120G的ssd, 用来做root分区, 但是120G的ssd太小了, 光是lxc的硬盘就占了80G, 现在没有去买大的sata接口的ssd了,就先将就,后面直接用大的ssd, 用clonezilla替换.
先把lxc的硬盘迁移到机械硬盘组的zpool上去,慢一点其实无所谓,都是后台服务,不需要太快的io读写. 然后用swapon加了4G空间,现在好多了:
占用cpu最多的是baidupan的服务,其实什么也没有下载,截图的时候.
可以看到qbittorrent确实占了很多内存,因为任务太多了.
几百个,能不多吗.
j1900 解码能力
j1900毕竟快10年了,好多解码不支持. 对比n100 解码:
特别是现在下载的都是4k HDR的视频,大多是h.256, HEVC编码的,都不支持,就做不了转码,好多客户端使用jellyfin就看不了4k的视频.
于是我想了一个办法,我的MacbookPro不是在家里吗, M1Max应该可以解码大部分了吧:
除了AV1, 基本都可以了,于是在MacbookPro上安装jellyfin, 这个时候又出了两个问题:
jellyfin在m1 mac上,运行一段时间,他的服务端就卡死了,原因不明,搜索了下github上的issue, 也有人提了这样的问题,但是没有解决.MacbookPro我使用的是HP G2的雷电hub, 连接了有线网卡, 只要合盖或者锁屏, 有线网卡就断开, 这个问题之前使用mac的桌面共享就发现了,使用有线网卡的ip去连是不行的,这个时候如果用无线网卡的ip连一下,有线网卡的ip就通了.
解决办法
- 换
emby, 没什么问题. - 应该是休眠问题, 使用
sudo pmset -g:
|
|
使用命令pmset -a disablesleep 1 禁用系统休眠, 完美解决, 还在m1待机功耗,真的太低了,比起R720真实天壤之别.
其他要迁移的
icloud_photo_backup这个是用来备份icloud的照片的cron一些定时任务,比如使用acme更新证书等.cups打印机服务, 我直接迁移过来, 配好了,结果打印没有反应,最后把打印机重启,就好了.
全部完成后,再把硬盘转移过来, 重新在/etc/fstab中挂载就可以了.