Nextcloud -2- 挂载外部磁盘

本文最后更新于:2022年7月4日 上午

原生 NextCloud 无法挂载外部设备,本文记录NextCloud管理外部磁盘的方法。

背景

  • 系统磁盘空间有限,不足以成为网盘,因此需要将外部存储挂载到 NextCloud管理范围内。
  • docker 创建时一定要加上 --privilege==true ,或想办法让nextcloud 拥有root权限

开启外部存储设备

Nextcloud默认是没有开启外部存储功能的,需在手动启用插件

  • 启用插件 External storage support
  • 该插件使管理员能够配置到外部存储提供程序的连接,如 FTP 服务器、 s3或 SWIFT 对象存储、其他 Nextcloud 服务器、 WebDAV 服务器等。

  • 设置Nextcloud所有用户都能使用外部存储

  • 此时进入外部存储会提示 “smbclient” 未安装。无法挂载 "SMB/CIFS", "使用 OC 登录的 SMB/CIFS",虽然不一定用到可以安装一下包解决这个提示

  • 进入控制台:

    1
    2
    3
    4
    5
    6
    docker exec -it vvd_nextcloud bash
    apt-get update
    apt-get upgrade
    apt install smbclient libsmbclient-dev
    pecl install smbclient
    docker-php-ext-enable smbclient

    之后具备了挂载 cifs 的能力,也就没有警告提醒了。

挂载宿主磁盘

这里采用 nfs 挂载的方法

  • 在容器中安装 nfs 相关包
1
2
3
apt-get install nfs-kernel-server
apt-get install cifs-utils
apt-get install nfs-common
  • 在宿主机开启对当前容器的 nfs 配置

  • /etc/fstab 中配置需要挂载的文件夹

    源文件夹 目标文件夹 nfs defaults 0 0

1
2
3
4
5
6
7
8
# UNCONFIGURED FSTAB FOR BASE SYSTEM

#DATA_I_S
192.168.1.111:/srv/dev-disk-by-uuid-5f4c1f5e-ad7c-4050-bb1b-80de395a428b /data/DATA_I/S nfs defaults 0 0

#DATA_I_M
192.168.1.111:/srv/dev-disk-by-uuid-7721f5e3-ce9a-452e-9114-42ba9547d5a7 /data/DATA_I/M nfs defaults 0 0

  • 使得 fstab 修改生效
1
mount -a
  • 在nextcloud 中进入设置,选择管理中的外部存储,配置外部磁盘,配置完成后勾选右边的 ✔:

  • 在文件中可以看到新加入的文件夹

  • 新加入的磁盘可以在图片管理插件中被发现:

至此可以确定外部拓展磁盘添加成功

参考资料


Nextcloud -2- 挂载外部磁盘
https://www.zywvvd.com/notes/environment/nas/nextcloud/nextcloud-add-disk/
作者
Yiwei Zhang
发布于
2022年1月13日
许可协议