NextCloud 迁移数据盘

NextCloud 迁移数据盘

由于NextCloud默认的路径是系统盘,当系统盘空间不足的时候,会导致NextCloud无法使用。系统盘是无法扩容的,如果系统盘无法“瘦身”,要解决空间不足就只能购买数据盘。

迁移数据之前请务必做好快照备份,否则迁移一旦失败后果不堪设想

迁移到数据盘,我们提供两种可选方案:

方法一:将NextCloud的存储路径更改到数据盘

NextCloud的文档数据默认是存放到:/data/wwwroot/nextcloud/data 下,此方案通过在OwnCloud下新增一个目录(对应数据盘),然后修改默认存储路径实现目标。具体操作如下:

  1. 提前买好数据盘,然后到云厂商控制台上做一个数据盘挂载到服务器的操作;
  2. 停止Apache服务systemctl stop httpd
  3. 通过SFTP工具,在 /data/wwwroot/nextcloud 目录下新建一个文件夹,名称建议为:bigdata
    此bigdata文件夹就是迁移之后的默认文档存放位置
  4. 将数据盘挂载到:/data/wwwroot/nextcloud/bigdata (参考云厂商的数据盘挂载方案)
  5. 将 nextcloud/data 下的数据全部剪切或拷贝到 nextcloud/bigdata数据较大的话,剪切或拷贝可能会失败。参考《Linux下如何剪切或拷贝海量数据?》
  6. 修改 nextcloud 配置文件中的数据存储目录位置,配置文件路径为 /data/wwwroot/nextcloud/config (部分旧版镜像的配置文件路径为:/data/wwwroot/default/nextcloud/config
  7. 启动 Apache 服务systemctl start httpd

方法二:将服务器的 /data 目录转移到数据盘

此方案会将服务器上所有的网站(包含NextCloud)、数据库一起转移到数据盘

如何将数据转移到数据盘?

默认情况下 /data 是在系统盘的,当需要转移到数据盘,步骤如下:

  1. 开始操作之前,请务必做好数据备份
  2. 提前买好数据盘,然后到云厂商控制台上做一个数据盘挂载到服务器的操作
  3. 停止 Apache 和 MySQL 服务systemctl stop httpd mysqld
  4. 将数据盘挂载到:/mnt 目录,挂载教程请参考《LAMP环境–如何将数据转移到数据盘?
  5. 将 /data 下所有文件拷贝到服务器临时文件夹 /mnt 中数据较大的话,剪切或拷贝可能会失败。参考《Linux下如何剪切或拷贝海量数据?》
  6. 数据转移完成之后,将数据盘挂载到:/data
  7. 运行以下命令重新启动 Apache 和 MySQL:systemctl start httpd mysqld

一条评论

留下评论