IT技术之家 网络技术 Seafile 企业版挂载群晖NAS网盘教程(解决非root用户访问权限问题)

Seafile 企业版挂载群晖NAS网盘教程(解决非root用户访问权限问题)

seafile 本身已经支持”快照(特有的版本镜像)“和文件历史,但是一旦底层物理存储故障,上层应用做的再好也是于事无补的。所以今天应很多同学要求,写一遍挂载群晖NFS教程数据迁移思路。

总体思路

  1. 群晖上创建存储池并创建存储卷,我这里用的raid10,兼顾性能但是空间损失一半。
  2. 另外很多反馈把seafile直接安装在群晖的虚拟机中不更好,除非你是SSD存储卷或者能让系统运行在SSD上面,不然效果会很差,具体表现就是网页加载巨慢。
  3. 所以推荐seafile前端跑在单独的服务器上面,配置不需要太高。
    200G的SSD盘,4核16G内存(集成在线编辑推荐16G),数据存储在有raid保障的存储上面。
  4. seafile 安装可以参照:Centos8/Ubuntu 20 安装 seafile 8.0.11 专业版脚本快速安装

挂载迁移步骤

配置存储卷并共享(群晖)

首先确保安装配置好群晖

1、群晖上面创建一个共享文件夹Seafile,空间根据需要定义,这里已1T为例。

  • 开启【隐藏共享】,防止其他电脑对数据进行操作。
  • 关闭回收箱,历史版本seafile自身会处理,没有必要开启。

2、关闭加密,配置容量为1T

配置容量为1T

3、新增NFS权限

  • 注意:Squash:一定要改成【无映射】,之前全部映射有个问题,就是挂载后文件无法修改文件所属用户,因为绑定映射为admin了。
  • 服务器名称或者IP:填写seafile主机IP
  • 记住最下面的挂载路径,挂载的时候会用到。

4、其他用户访问权限设置

如果还有非root用户访问,需要自定义添加Everyone读写权限。

网上有很多版本说Linux的NFS挂载只能root用户,此处纠正下,并不是哦。只是群晖权限管控模式是基于文件夹-用户映射。这样的好处的权限管的细,但是缺点就是容易把人带到坑里去。

添加Everyone 读写权限,这样非root用户也可以正常读写权限。

临时挂载,并迁移数据到NFS上面

1、创建临时迁移目录,并拷贝数据到群晖NFS共享盘上面

#切换到seafile目录
cd /opt/seafile/
#创建临时迁移目录
mkdir seafile-databak
#挂载
/usr/bin/mount -t nfs -o vers=3 192.168.31.205:/volume2/Seafile/ /opt/seafile/seafile-databak
  • 如果挂载提示如下错误,则需要安装nfs客户端

安装客户端(挂载正常的不需要安装)

#Redhat、Centos系:
yum install nfs-utils
#debian、Ubuntu系:
sudo apt-get install nfs-common

2、检查是否挂载

df -h

3、迁移已有的数据到群晖NFS盘上面

注意:如果数据量很大,中途意外断开,可以重复执行。rsyc是增量同步,可以无限执行。

/usr/bin/rsync -rvt /opt/seafile/seafile-data/*  /opt/seafile/seafile-databak/

迁移速率差不多稳定在30M

正式挂载到seafile数据存储目录,并设置开机自动挂载

确保上面老数据迁移完成,如果是新安装seafile的基本秒结束。

1、卸载临时挂载,并挂载到真实seafile的数据目录

#卸载
umount /opt/seafile/seafile-databak/
#挂载到真实seafile目录
/usr/bin/mount -t nfs -o vers=3 192.168.31.205:/volume2/Seafile/ /opt/seafile/seafile-data
#设置权限
chown -R seafile:seafile /opt/seafile

2、设置开机自动挂载

  • 有两种办法,加到fstab或者rc.local
  • 这里偷懒就加到rc.local了。
vi /etc/rc.local
#并追加下面挂载脚本
/usr/bin/mount -t nfs -o vers=3 192.168.31.205:/volume2/Seafile/ /opt/seafile/seafile-data
#按 :wq 回车保存
#给予执行权限
chmod +x /etc/rc.d/rc.local

3、重启seafile主机验证

更新:

2022年12月5日:

之前Squash设置为:全部映射为admin,虽然主机挂载后各个用户都有读写权限,但是却无法修改文件归属人,执行 chown 会提示不允许的操作。

提示不允许的操作

问题分析:因为Squash权限映射群晖上面设置了 全部映射为admin,所以是不允许更改文件归属用户的。

所以修正Squash设置改成:不映射,但是又带来了新的问题,挂载的文件权限明明已经777了,其他用户(如seafile用户)却无法读写。因为群晖上根本没有seafile这个用户啊,群晖不认识。

 

问题解决:

既然知道问题了,就好解决了,就是给与共享文件夹Everyone的读写权限

问题排查

a、NFS已经开机自动挂载,但是seafile没有启动

检查挂载目录权限是否正常,检查命令

su - seafile -c "ls /opt/seafile/seafile-data"

如果报没有权限,则执行chown -R seafile:seafile /opt/seafile

如果手动挂载正常,开机就没有权限,排查思路从群晖上面入手,比如群晖上面的Square权限映射。

其他问题,欢迎留言反馈,一起探索,互帮互助

1、如果您发现本站资源已经失效不能下载请评论留言反馈,谢谢支持
2、友情提醒:部分内容来自网络,如有侵犯您的权益,请速与我联系! 如有转载请注明出处:https://www.ittel.cn/archives/12237.html
guest
14 评论
内联反馈
查看所有评论
ignore612
ignore612
10 月 前

seafile后端怎么挂载两个NAS的网盘

大约摸咋
大约摸咋
11 月 前

按照老师的说法,我到了挂载真实路径也成功了,chown的时候说没有这个seafile用户,然后重启seafile 也报错Job for seafile.service failed because the control process exited with error code.
Apr 14 20:23:01 seafile.localdomain systemd[1]: Starting Seafile Server…
Apr 14 20:23:01 seafile.localdomain seafile.sh[2520]: Your seafile server data directory “/seafile-data/seafile” is invalid or doesn’t exits.
Apr 14 20:23:01 seafile.localdomain seafile.sh[2520]: Please check it first, or create this directory yourself.
Apr 14 20:23:01 seafile.localdomain systemd[1]: seafile.service: main process exited, code=exited, status=1/FAILURE
Apr 14 20:23:01 seafile.localdomain systemd[1]: Failed to start Seafile Server.
Apr 14 20:23:01 seafile.localdomain systemd[1]: Unit seafile.service entered failed state.
Apr 14 20:23:01 seafile.localdomain systemd[1]: seafile.service failed.

大约摸咋
大约摸咋
11 月 前
回复给  无欢不爱

我在nfs的路径中含有seafile的文件夹,这个是没有用的对么?需要在新建一个seafile文件夹?

大约摸咋
大约摸咋
11 月 前
回复给  无欢不爱

/dev/mapper/vg-lv        1.5T 1.4T 106G 93% /seafile-data
172.16.220.99:/volume1/seafile  84T 1.4T  83T  2% /seafile-data/seafile-databak
上面的是真实路径,下面的是我备份的路径,我切换的时候直接mount 172.16.220.99:/volume/seafile到seafile-data路径下么?

大约摸咋
大约摸咋
11 月 前
回复给  无欢不爱

多谢

yes168
yes168
1 年 前

按照上述的方法挂载,报mount.nfs: access denied by server while mounting 192.168.0.9:/volume2/seafile/的错误,会是哪一步出了问题了?

最后由yes168编辑于1 年 前
yes168
yes168
1 年 前
回复给  无欢不爱

嗯嗯,解决好了,谢谢!还有个疑问,我想改一下默认gly的邮箱账号,这个需要在哪里更改了

yes168
yes168
1 年 前

楼主你好,everyone这个用户是群晖系统内置的,还是需要另外新建了

联系我们

联系我们

QQ:877196754

在线咨询: QQ交谈

邮箱: 877196754@qq.com

工作时间:周一至周日,8:00-21:00
关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部