unraid 的目录设计的很混乱,大家觉得呢

160 天前
 xinmans
比如/mnt/user /mnt/disks 和/mnt/cache 等的关系,然后如果想挂载额外的共享目录,必须挂载到/mnt/user 下面的目录里,如果 unraid 重启,又有几率发生目录错乱的场景,就是/mnt/user 和/mnt/cache 的内容不一样了

大家怎么解决这些问题?
2015 次点击
所在节点    NAS
19 条回复
bankroft
160 天前
mark ,刚用 unraid

顺便问一句大家是怎么备份文件到云中的,我试了几个,除了 duplicacy 比较满意(可惜收费),就剩下一个 rclone 写脚本了
whileFalse
160 天前
人类的本质是乌合之众
Licsber
160 天前
重启之后自动 start 关掉 自己设置好再重新提供服务就好了
我觉得设计上还是挺不错的 提供 disks 等可以直接操作数据存在哪块盘上的接口
也提供 user 和 user0 前者指代阵列本身 后者如果配置的 share 目录有 cache (第二存储空间)会忽略掉
打算有空出一个文章详细讲一下吧 感觉不少小白并不清楚 unraid 的 mnt 下所有的文件结构 加上现在有了 zfs 之后更混乱了
fuis
159 天前
> 顺便问一句大家是怎么备份文件到云中的,我试了几个,除了 duplicacy 比较满意(可惜收费),就剩下一个 rclone 写脚本了

@bankroft 可以用 kopia
bankroft
159 天前
@fuis #4 kopia 卡在了 create repo 上点了没反应,还没细用。有空研究一下
libook
159 天前
/mnt/user 是 array+缓存池的聚合目录,/mnt/cache 是纯缓存池的目录,/mnt/user0 是纯 array 的目录。

unraid 有个 mover 机制,就是定时移动文件,从 array 移动到缓存池或者从缓存池移动到 array 可以自己在共享设置里面调,比如从缓存池移动到 array ,就是 mover 执行完之后/mnt/cache 里没有被占用的文件都会被移动到/mnt/user0 里。

不清楚你具体说的错乱指的是啥问题。
teasick
159 天前
大家都是草台班子,不过有的草台糊得好看一些
Licsber
159 天前
@libook #6 我来帮楼主回复一下 他说的“有几率发生目录错乱的场景”
估计是重启 又打开了自动启动阵列 然后文件共享还正常的启动了
但是他重启前手动的 mount 了一个子文件夹 (如果不 mount 到 user 下 在容器的网页管理 volume 里看不到)
如外置的 USB 盘 或者啥 U 盘设备 或者 NFS 设备 命令可能是 mount /dev/sda /mnt/user/download/usb_disk
重启后 容器仍然正常运行了 并且配置的 volume 仍然是 比如 /mnt/user/download/usb_disk
但是此时没有 mount 导致容器直接写了文件到阵列里 如果这个时候楼主没有发现这个问题
又直接 mount 了外置存储 就会导致阵列里已有的文件被掩盖 后面又需要挪来挪去

如果只是对 mover 有问题 感觉不至于发生楼主说的目录错乱

顺带一提 备份方案我是用的是 rsync 远端全量同步 到云是用的是 restic 设置 128M 的备份文件大小 全量上传至云
libook
159 天前
我是使用 Unassigned Devices 这个插件来管理 array 和 pool 之外的存储设备的,支持自动挂载,挂载之后会在/mnt/disks 下有一个挂载入口,通常是以硬盘名称命名(自己可以改)。

如果容器、虚拟机、脚本啥的要访问这个存储设备,直接让它访问/mnt/disks/下的这个挂载入口就行。

如果想在 WebUI 上查看和操作文件,可以在主界面的 Disk Devices 板块里直接点击这个硬盘 Identification 一列的挂载点名称就可以。或者使用 Dynamix File Manager 插件直接访问 disks/挂载点。再或者用 docker 部署 File Browser 并将/mnt/user 和/mnt/disks/设备名全挂载到容器里。

如果想将这个硬盘通过 smb 或 nfs 共享到网络上,可以在 设置->未分配的设备( Unassigned Devices ) 中开启 smb 或 nfs ,再在主界面的 Disk Devices 板块里的 设置 一列点选这个硬盘,在里面开启 共享。

有个这个教程详细讲述了 unraid 的/mnt 下面各个目录的作用 https://www.jackiewu.top/article/unraid-storage-mount-point-explanation
如果自己 hack 的话,也最好根据 unraid 的使用范式来使用或规避,避免冲突。
xinmans
159 天前
@Licsber 你说的对,我没有用默认的阵列,而是用 zfs ,结果这货必须要在/mnt/user 下面的目录才能实现备份到 zfs
xinmans
159 天前
@libook 可能是因为我没有用 arry 的缘故,今天早上 4 点多 unraid 突然重启,然后/mnt/user 下面的内容都不见了,我把所有的 docker 和 vm 的目录都相应的改到 cache 目录下才恢复
xinmans
159 天前
@Licsber 我有一些脚本在 unraid start 的时候自动执行,特别是 zfs 的 mounti point 自动设置
xinmans
159 天前
@libook 我看看,个人觉得 unraid 还是作为基础系统吧,其他的都通过 VM 直通来解决,我目前有点混用。unraid 上有 zfs ,VM 里建 truenas 也有 zfs ,然后 unraid 上有跑容器,VM 里也有跑容器。
libook
159 天前
@xinmans unraid 整个都是以它的 array 为核心来设计的,unraid 引入的 zfs 也是被当做 array 的缓存池来设计的,只不过你可以不将数据 move 到 array 里,来当成普通 zfs 阵列用,只是按照我上面介绍的目录用途,你要按照 unraid 的设计来使用 mnt 下的目录。
zfs 池被 unraid 定位为缓存池,所以你仍然只能在 array 启动的情况下使用 unraid 的 zfs 池,配置共享目录的第一存储为 zfs 池,然后数据就都是在/mnt/cache 里了。
如果你在 vm 里直通硬盘组 zfs 阵列,那么你就不应该把 zfs 阵列挂载到 unraid 的任何挂载点里,以免造成两个系统之间的冲突,比如你可以在 mnt 下单独创建个目录用来放虚拟机创建的 zfs 阵列的挂载点。
xinmans
159 天前
@libook 我的 cache 已经被两块 nvme 组的硬 raid 占用了,zfs 是 unraid 上的硬盘(没有组 array ,性能太拉,且容灾不行)组的 raidz2
hanbagui0021
158 天前
@bankroft Duplicati 也还不错的,走 alist 的挂载。kopia 不知道为啥我添加 alist 挂载的云盘就是不行
bankroft
157 天前
@hanbagui0021 duplicati 很多人说会有恢复失败的几率不敢用,kopia 似乎是因为 rclone 对 alist 的 webdav 支持问题
xinmans
157 天前
备份用 unraid 默认的 VM backup ,还可以
hanbagui0021
157 天前
@bankroft 感谢告知,目前还没使用过恢复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/996476

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX