分享一下我用 hyper-v 做的 nas 服务器,非常稳定省心,模块化,懒人福音

266 天前
 huangdog
分享一下我用 hyper-v 做的 nas 服务器,非常稳定省心,模块化,懒人福音

这里提供方向理念和思路,至于实现(安装,设置 等等具体步骤),网上教程已经非常多,在这里就不表了。

我在我的 diynas 安装 windows server 2019 ,只开 hyper-v ,不安装第三方软件,尽量在 host 保持软件纯粹。

在 hyper-v 里,我开了 2 个 vm:
一个 vm 是用来管理硬盘的 nas 系统,作用只有一个,就是提供访问接口(比如 SMB ),给其他电脑,vm ,其他设备等存取硬盘的内容。在 host ,我把所有硬盘都脱机,然后都安排给这个 vm ,硬盘直通,让这个装了 nas 系统的 vm 直接管理它们。这个 nas 系统,可以装 windows server ,可以装 omv ,可以装 truenas ,什么都可以。我自己为了方便让硬盘用 ntfs ,就装 windows server 2019 。因为 ntfs 的兼容性非常棒,随时把硬盘拔出来插到电脑上直接读取。如果想要更详尽的硬盘管理,比如硬盘休眠,可以装 truenas 。由于我会定时整机关机,所以我不需要由 nas 系统来提供硬盘休眠。这个 vm 尽量不要折腾它,改变它,让它持续稳定运行,没有折腾它的必要。

另一个 vm 是下载机,用作下载和文件同步的系统,以 smb 的方式连接装了 nas 系统那个 vm ,装的 os 是 windows 10 ltsc 2019 ,里面装了各种下载软件,百度云,bt ,pt 软件,btsync ,goodsync 等,非常繁杂,这是我这套 nas 服务器提供各种花样服务的 vm 。这个 vm 是经常被折腾的,很容易出问题,但这个 vm 出问题,也不会影响到其他设备访问硬盘里面的内容。,喜欢折腾的可以装黑群,但我不喜欢无意义的折腾,而且不够稳定,所以我装 windows 。黑群的软件,在 windows 上面很容易找到代替品,没必要迷信黑群。windows 的兼容性是无与伦比的。

使用 hyper-v 的好处是,可以更方便管理这些干活的系统:
0.windows 系的极高硬件兼容性,省心!
1.比如定期快照,vm 出问题崩溃了,1 秒恢复。
2.还有把功能模块化,一个 vm 专门做管理硬盘,不安装任何第三方软件。一个 vm 专门提供功能,安装各种软件,非常繁杂,这个 vm 特别容易出现问题,比如出现软件冲突等,即使这个 vm 炸了,也不影响旁边专职管理硬盘的 vm ,对其他设备访问硬盘毫无影响。
3.host 关机,可以自动保存 vm 的运行状态。host 开机就可以自动恢复这些 vm 的运行状态,在 vm 的角度,就像从来没有关机过那样。非常方便。为了延长硬盘寿命,我在 host 设置了每天半夜定时关机,白天定时开机,整机停机。
4.最重要的是,使用 hyper-v 这种 type1 虚拟机对性能的损耗非常低!既有 type1 虚拟机的高性能,又有图形界面的方便管理。

备份文件方面:
在手机上,我在手机上安装 btsync ,在下载机 vm 里也安装一个 btsync ,手机文件会自动经过做下载机的 vm 里面的 btsync ,以同步方式存储到隔壁 nas 系统的 vm 的硬盘里面。

在 pc 上,我用 goodsync ,直接往第一个 nas 系统的 vm 提供的存储接口(就是 SMB )备份 pc 的文件进去。整个过程,管理硬盘的第一个 vm ,从来不需要安装任何第三方软件,只需要提供访问硬盘的接口,其他系统会自己用各自的软件通过这个接口往 nas 系统提供的硬盘存取东西。这才是 nas 的最基本基本功用:管理硬盘,提供访问接口。

我的理念就是:
不重复造轮子,尽量依赖现成的成熟软件( windows server ,btsync ,goodsync )。模块化管理,vm 可随时替换,复原,保存运行。非常稳定省心。

平时管理这台 nas 服务器,我都用 RDP 连上去 host 和 vm 。使用 RDP ,比群晖那个 web 界面管理,强多了,最纯粹直接的桌面体验。
9508 次点击
所在节点    NAS
60 条回复
kk2syc
265 天前
@lslqtz solidworks 渲染起来什么远程顶得住啊 /doge
ltkun
265 天前
咖喱味好浓啊 不习惯用 win 除了办公 Windows 不可靠
y1y1
265 天前
说得好 我选择 pve
yytbob
265 天前
@xclimbing 之前 我之前也是和你一样的问题,Windows Server 2012 使用 SMB 共享的确好多奇怪的 bug ,今年改换 Windows Server 2022 之后 bug 全部消失了。Time Machine 也是可以支持的,YouTube 上有教程可以搜,用了小半年还挺稳定的。
tsanie
264 天前
@hez2010 pve 也可以开 vGPU 把一张显卡同时分配给多个 vm
SakuraYuki
264 天前
现在黑裙用 rr 引导非常稳定了,不算折腾,开机个一年都出不了问题,反倒是 windows 的软件开久了会有小 bug
mcluyu
264 天前
我连主路由都是 hyper-v 跑的,winserver2022 , 其他服务用 docker desktop 使用 wsl 管理, 远程可以 ssh 连回去,也可以 RDP , 不好的就是 Window update , 平均大概一个月多会重启一次,不过也好就当定时重启了、 另一个是重启后 docker 概率 bind volume 读取失败, 导致某些服务获取不到配置文件会出问题需要删掉重新运行
sairoa
264 天前
同样使用 Windows server ,配置是 cc150 加上 64G 内存,因为有台 ds220+所以文件管理同步备份之类的都在白裙里,这台服务器主要跑下载和备份 ds220+里的重要数据,还有一些虚拟机服务。平常也用这个服务器远程桌面做回家跳板机。
个人用 windows server 主要就是喜欢 ntfs ,硬盘抽出来随便插到哪个电脑都能读数据。hyper-v 也在用,博客就放在 hyper-v 虚拟机里,不过对于楼主各种直通就有点无法理解了,hyper-v 做直通很麻烦,想用直通个人觉得 esxi 更方便。
leonme
264 天前
pve 和 esxi 不是更好吗?
zhucegeqiu
264 天前
为了延长硬盘寿命,每天定时关机再开机???
relsoul
264 天前
之前用 pve 的时候 有次断电 导致磁盘文件有问题,整个服务都起不来,后面直接换 win11 +hyper-v 做 all in one ,
omv+owt+qb download
目前运行了好几个月 还没啥问题
naoying
264 天前
Linux 内核在服务器和高并发场景下更具优势,而 Windows 内核在应用和桌面虚拟化场景下更适合
qqjt
264 天前
消费级主板装 windows server 经常有部分驱动装不上的问题,虽然不影响使用,但是强迫症很难受
ifwww
263 天前
硬盘经常通电断电是减寿,不是延长
yijiangchengming
263 天前
差不多,不过我是装的 win1124H2,然后激活成企业多会话版。WSL 提供基础的 k3s 和 smb 服务。剩下的靠 hyper-v 虚拟机。原本是 PVE ,但是我发现 windows 更省电。
huangdog
263 天前
@ifwww 哪有经常,一天以内,开关各 1 次而已,硬盘的设计是接受这种开关频率的。普通家用 pc 也是这种开关频率,甚至一天以内多次开关都有。靠硬盘休眠的话,很少机会可以让硬盘可以真正休眠,SMB 稍微检查一下连接状态,硬盘就又要重新被唤醒了。所以我认为让硬盘减少损耗,最直接的方法就是关掉,停电,让它不转。
huangdog
263 天前
如果在 windows server 设置的 SMB 只能读,不能写,需要这样做

右键其中一个共享
![Markdown logo]( )
![Markdown logo]( )
![Markdown logo]( )
![Markdown logo]( )

选上“完全控制”,并按确认,一路确认
huangdog
260 天前
开 gpg-pv 和 hba 卡直通的教程,里面的 easy gpg-pv 脚本,脚本本来只支持 win10 和 win11 ,稍微改改,比如把 windows 版本检查去掉,就变得支持 windows server 了。开启 gpg-pv 后,就可以在 vm 里支持 jellyfin 硬解视频了。
https://foxi.buduanwang.vip/virtualization/hyper-v/3293.html/
huangdog
256 天前
即使不做 gpu-pv ,不在同一台 nas 服务器上做硬解,也可以搞 scale out ,去闲鱼买台 mini pc ,专门装 jellyfin 做硬解,觉得这种方案也很简单。存算分离。
huangdog
256 天前
其实真的不用搞得太复杂,没必要非要追求存储和硬解( jellyfin )都在同一台 NAS 服务器上。
我在我的笔记本电脑,客户端播放端,安装 jellyfin ,媒体文件夹设置了 NAS 服务器分出来的 SMB 磁盘映射的文件夹,在笔记本电脑使用它自身的 GPU 进行硬解(看我右边任务管理器的 GPU 用量爆满),也可以很流畅播放 4K ,而且,它不是整个视频文件下载到我的笔记本电脑的(看我右边任务管理器的网卡流量,并没有爆满,全程保持在 300Mbps 以下,平均 150Mbps ),jellyfin 也是以串流的方式从 NAS 服务器提取视频文件然后播放。在这里我直接是把 jellyfin 当成了本地播放器,来播放 NAS 里面的 4K 视频文件。这种做法直接简单,兼容性更好(因为是在 windows ),又有串流,又有硬解,jellyfin 带来的好处都可以满足,何必非要存算一体。
如果我手机端需要看视频,我让手机连到笔记本电脑上面的 jellyfin ,让笔记本帮我把 NAS 里面的视频硬解。就省下一台 minipc 专门用来做流媒体服务器。
如果我的客户端播放端上面有 4090 ,用 4090 做硬解,难道不比 NAS 上面的破核显硬解香得多吗? NAS 服务器太老的核显,又可能不支持硬解 4k ,又要为了硬解视频而把 NAS 整套硬件换掉,不值得!
这种方案不完美,但胜在不折腾,又能达到目的。

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

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

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

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

© 2021 V2EX