家庭网络是否应该 计算/存储分离?

2023-07-05 09:22:10 +08:00
 fanxasy
目前家里使用的 nas 是白裙,plex 、emby 、qbittorrent 等都是以 docker 形式部署在 nas 里与本机硬盘交互。想把这些 docker 迁移到另一台 pve 机器的 debian 虚机中,通过 smb 与 nas 硬盘交互,这样做有哪些优缺点?
8620 次点击
所在节点    宽带症候群
68 条回复
anubu
2023-07-05 12:34:45 +08:00
没什么应该不应该的,我的重心是折腾本身,所以各种都会试试。如果你的重心是服务和数据本身,那应尽量避免折腾。或者,至少做好数据安全的情况下折腾。
如果做网络共享存储,仅仅文件存储( SMB 、NFS )应该是不够的,至少还需要一个块存储(比如 iSCSI ),有些服务对权限比较敏感,调试比较费劲,直接上块存储省事。最后往往还会再拉一个对象存储,这就差不多齐活了。
BeautifulSoap
2023-07-05 12:35:52 +08:00
如果不在乎通过网络传输文件的性能和 io 损失,这么做也不是不行
lithiumii
2023-07-05 12:41:59 +08:00
emby qbittorrent 都可以这样搞,因为我是小主机跑服务,空间不够了才买的 nas 。而且我服务都是 docker compose ,原生支持 cifs 或 nfs 挂成 volume 。另外我有俩电脑有显卡,用 docker 装 stable diffusion web ui ,模型也是放 nas 再挂载
fanxasy
2023-07-05 12:44:23 +08:00
@locoz 感谢提醒,我用的 rb5009 硬路由,跟虚机软路由 openwrt 做 vrrp 保证稳定性
fiht
2023-07-05 12:52:27 +08:00
白群 NAS 负责存储需要保存 10 年+的内容,设置合理 RAID ,数据有保障。
工作站用来跑 PVE ,定期备份数据到白裙 NAS 上。

在安全、成本中、性能和易用性保持平衡
ikano
2023-07-05 13:32:27 +08:00
根据我这种小白的情况来说,不要把事情变得太复杂,还是白裙管理文件吧
vsyf
2023-07-05 14:06:17 +08:00
@StoneHuLu
nfs 不清楚,但我 omv smb 挂载 truenas 的硬盘是没问题的。要不你试试 smb ,我现在用的参数是
iocharset=utf8,vers=3.0,nofail,_netdev,mfsymlinks,x-systemd.automount,noauto,uid=1000,gid=1000

另外这种方式千兆内网使用 jellyfin 会存在一个问题。在 DirectPlay 的时候,jellyfin 会先将源文件(存在 truenas 上) remux 成适合串流的 fragment MP4 (在 omv 的 cache ssd 上),,相当于要拷一遍。如果源文件较大,在起播的时候就会等很久。
而客户端起播只会等待一段时间(似乎 15s),还未播放成功就直接暂停了,导致根本无法播放成功,只能改成 transcoding 或者用万兆。
s1e42NxZVE484pwH
2023-07-05 16:29:33 +08:00
@TerranceL 大佬,你的具体方案是啥
我现在白裙外网看视频,遇到必须转码的就非常痛苦
darksword21
2023-07-05 16:30:10 +08:00
如果你要保存服务配置的话要看下这个服务是不是用 sqlite ,因为 sqlite 好像不支持 nfs ,我现在都是手动备份一下
mithrilyue
2023-07-05 16:54:00 +08:00
机器上不一定,概念/管理上可以区别开来。

算归算,存归存,确保算的部分能稳定可靠的归档到存的部分,并且存的部分能有可靠的应急方式。

个人实践是:
PVE 的 allinone ,vm 有 黑裙、unraid 、debian docker 等
unraid 直通 hba 卡,做一个 PBS 的 docker ,一个 rsync 的 docker
PVE 直接往 unraid 的 pbs 里面备份,这样包括黑裙在内各种 vm 都被备份了
黑裙再单独 rsync 同步到 unraid 做一个可以直接读取的单备份,

至于 PVE 的宿主机,那个重新配置也很简单。

唯一的问题是 unraid 自己不能备份到 PBS ,但 unraid 可以走 vzdump 备份,可以很方便的导出来。而 PBS 数据都在 unraid 下的硬盘里面。

如果完全 boom 了恢复顺序是 重装并配置 PVE-->从 vzdump 恢复 unraid 和一些其他虚拟机-->从 unraid pbs 恢复其他虚拟机

不考虑硬件 boom 的情况下,这个思路很可靠,其实只要确保多备份,备份能简单的导入导出就都很可靠了。
TerranceL
2023-07-05 17:16:47 +08:00
@zayia 白群 SMB 挂给 unraid ,unraid 用 docker 装 emby 解码。写一个脚本循环执行当检测不到 SMB 文件的时候自动 docker stop
solodxg
2023-07-05 18:45:20 +08:00
应该,现在我是软路由(pve+ lxc +openwrt+docker) + NAS(docker), 混在一起感觉不太方便动 openwrt, 后续打算把 openwrt 拆出来 变成 ,软路由 + 服务器 + NAS 。 软路由负责网络相关,服务器 就是各种 docker 服务之类,nas 可以只放一些负责下载和影音的 docker 服务。
emptyzone
2023-07-05 20:19:04 +08:00
nfs 挂载后你会失去 inotify ,plex 只能通过扫盘更新媒体库。为了媒体库更新及时硬盘就不能休眠了。
bs10081
2023-07-05 21:25:07 +08:00
我一開始也是用分佈式的方式,Router Hosting Storage 分離,但是這樣就會造成家用的維護難度上升,我異地上學的時候,沒辦法維護。

所以現在是用 DS920+ 做 All in One ,甚至直接把 NAS 放在 DMZ 裡面,然後在 NAS 裡面做防火墻的工作,數據的話,則是通過 Hyper Backup 和 CloudSync 備份到學校的 NAS 還有 Azure SharePoint
basncy
2023-07-05 21:25:39 +08:00
https://www.v2ex.com/t/954204 这个提案有没有兴趣? 还能把计算部分随身带.
ericzhou1994
2023-07-05 21:44:15 +08:00
我就是这么搞得
1.首先是机器内存不够 nas 只有 8g 而且里面太多定制化了 不是很方便 nas 就应该拿来做存储
2.nuc 装 pve docker 配置文件放一个文件夹 每天定时打包压缩 然后 ssh 到 nas 上面 存一个文件夹 做备份
3.nas 有网盘备份功能的 每六小时比对远程文件夹 有新增就会备份到网盘

这样一来 存储归存储 折腾归折腾 加上双重备份 怎么搞都不怕了
ltkun
2023-07-05 22:43:23 +08:00
all in one pve 配合 zfs 用硬盘笼 十几个硬盘无压力
vitoliu
2023-07-05 23:03:46 +08:00
建议购入云厂商计算服务通过 ssh 穿透,家庭网络在老家也放一个,做多 region ,配条专线网络,计算、存储分离。异地容灾,读写分离啥的都能做了。
misadonfdfl
2023-07-05 23:55:21 +08:00
我现在是 nas 只干它应该干的事,自建服务都在其他服务器里面
menghan
2023-07-06 00:41:53 +08:00
我就是这么干的。

既然谈到计算存储分离,那就是应用的计算和存储分离。现在给应用分下类:

- 依赖特殊硬件的,有 router (openwrt) 需要多网卡,有 plex 等需要 gpu 直访或者直通的,这类应用的部署位置往往固定
- 依赖特殊 OS 的,比如 synology 系软件,openwrt 系软件,openmediavault 系软件等,这类应用部署位置也固定
- 不依赖 os 和硬件的,这些应用就可以实施存储计算分离了

为了更好的资源隔离和利于迁移,我把这些应用部署在虚拟机里。
我部署了一个 4 节点 k3s 集群,两个本地 x86 vm 节点,一个本地 arm 板子节点,一个云节点。这是计算
我把所有的应用存储都暴露在同一个 nfs 下,所有对存储的访问都走 nfs 协议。这是存储
在此基础上,我部署了近十个应用,包括 cronjobs, daemonsets, deployments 等

上面只是逻辑概念。其实我的两个本地 x86 节点,是群晖上的 2 个 vm ,但我觉得这样也算存储与计算分离。

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

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

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

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

© 2021 V2EX