收起左侧

个人经验分享:飞牛 Docker 项目迁移到 SSD 全过程

0
回复
44
查看
[ 复制链接 ]

49

主题

182

回帖

255

牛值

共建版主

社区上线纪念勋章社区共建团荣誉勋章

起因是这样的,我的测试小主机里面有一块机械硬盘,起初我以为用机械硬盘跑 Docker没啥问题,最多不休眠,结果随着部署的服务越来越多,好几个镜像都是3G以上的,加上我用 PT 下载了 500+GB
的视频资源,750g的旧硬盘几乎马上就占满了,这一块机械硬盘就成了性能瓶颈的源头,硬盘的 IO 压力大,卡IO还经常造成系统崩溃。

最烦人的就是系统更新重启后,Docker容器也加载不出来,应用中心安装的应用也加载不出来,每次重启后得等十几分钟才能正常使用,我的影片也没坏道,很正常,就很难受了!!

看几张图吧!!



如上图所示,是我更新系统后重启等待5分钟后依旧在加载docker

但是看下图,繁忙度94,但是读取和写入速度并没有多少,大概率可能非连续的随机读写,频繁移动磁头,延迟高,效率低,随便删除一些文件,文件夹也得重新加载一遍,另外就是硬盘空间几乎被占满也会影响性能吧!!!


有时候我电脑上2T的M2固态硬盘, 读速 5000MB/s,放了1t多的影视资源有时候打开文件夹也会加载很久,不知道有没有遇到这种情况的朋友。

⚙️ 所以最后决定把现在的机械换成ssd硬盘,看看能不能解决这个问题。

  • 把 SATA 接口的机械硬盘换成一块 SSD
  • 飞牛系统依旧装在 32GB的mSATA硬盘不变,
  • SSD 专门用于运行 Docker 和存放项目文件,
  • 视频和其他大文件将存在外接的飞牛硬盘柜中,不用的时候休眠,还能省电

📦 数据迁移怎么做的?

我只需要打包所有 Docker Compose 项目目录即可,包括 docker-compose.yml、挂载的本地目录、配置文件、脚本等,
因为我部署的项目全部都将配置文件映射到本地了,包括我发布的教程也一样,都是将目录持久化存储在本地的,所以很方便打包。

如下图全部打包

比如我的,所有项目都在docker目录下

所以我只需要通过电脑挂载文件夹,直接把docker文件夹全部压缩打包拷贝到电脑就行,NAS有其他盘的,拷贝到其他盘也行。

更换硬盘之前,把所有的容器项目都停止删除,应用中心的软件如果安装在机械硬盘也卸载掉,然后换上闲置的ssd硬盘就行了

然后把我备份的docker配置文件拷贝回NAS,按照原来的目录设置好

然后再去compose里面重新构建一下就行了,新增项目,选择项目目录,他自动会调用之前的 docker-compose.yml文件,确认,等待自动部署就行了,之前配置过的内容都还在

lucky为例,之前配置过得内容都还在

这样我就把docker顺利的从机械硬盘迁移到ssd硬盘里面了,我最开始也想过重新做一下系统更稳妥,但是还要去申请飞牛内测,和内内测就懒得重做系统了,还是用我上面所说的办法好使,还节省时间。

然后我去重启了一下系统,大概14秒的样子就加载完成了,很奈斯!!!

如果有遇到和我一样的朋友,可以按照我说的方式操作一下,只要 docker-compose.yml文件里面的路径保持不变可以直接重新构建就行,变了就修改一下,也很快的,如果就一两个项目的,就无所谓了,随便搞都行!

当然我相信各位大佬肯定还有加便捷的办法,单上述是对我来说最方便最简单的办法了,有其他方法的大佬欢迎留言哦!

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
公众号:知新坊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则