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

259 天前
 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 界面管理,强多了,最纯粹直接的桌面体验。
9450 次点击
所在节点    NAS
60 条回复
lslqtz
259 天前
已经选择用 GPU 编码, 并且开硬件加速了.
badgv
259 天前
这种玩法只适合高性能主机,不太通用,更通用的做法是一个系统使用 docker 实现各种服务,尽量少在主系统折腾
tony666999
258 天前
Esxi 不香吗
kizunai
258 天前
请问用于开 hpyer-v 的 windows server 2019 自己要占用多大的内存?
han3sui
258 天前
hyper 直通硬盘,sata 线序还能变吗,换了之后能自动识别?
Tink
258 天前
不需要 win server2019 呀,直接装 hyperv 或者 esxi 不是更好吗
huangdog
258 天前
@kizunai 不开 hyper-v 的时候 2G 以下,现在内存便宜,捡垃圾可以捡到很大的内存,我为我的 NAS 服务器装了 32G 内存,DDR3 起跳,DDR2 真的淘汰了,捡垃圾都看不上。
huangdog
258 天前
@han3sui 不能变。为什么要变,插上去之后就很少拔下来。开了“重复数据删除”更不能拔出来,只能在原来的 windows server 上用,要拔出来在其他地方用,要先关掉“数据重复删除”。
huangdog
258 天前
@Tink 为了图形界面,为了 RDP ,方便管理,我不精通 powershell ,命令行。而且装了 windows server 2019 ,不激活也照样可用。无谓提高使用门槛特意装 hyper-v core ,而且听说单纯运行 hyper-v core 很容易自己出现问题,需要 windows admin center 管理着它,那我还不如直接用 windows server 2019 来管理 hyper-v 。windows server 2019 开机不运行 hyper-v ,就占 2G 以下的内存,现在的内存这么便宜,伤得起。
cyan2z
258 天前
op 宿主机啥配置,vm 的下载机卡吗?
ps: rdp 还能连 vm 啊,研究下
huangdog
258 天前
CPU:E3-1285lv4
内存:32G
显卡:核显
SSD:镁光 MX500 1TB

RDP 可以连安装了 windows 10 ltsc 2019 和 windows server 2019 的 VM 。可以连装了 windows server 2019 的 host 。

下载机 VM 给了 8 核,4G 内存,很流畅,系统是 windows 10 ltsc 2019
NAS 系统 VM 给了 2 核,2G 内存,其他设备访问它也很流畅,系统是 windows server 2019

CPU 应该可以用差一点的,比如 i3 ,都不是一些高算力的活动,开虚拟机主要是内存要多。
huangdog
258 天前
如果 NAS 系统的 VM 想要使用 truenas 来进行硬盘休眠的话,需要买一个 HBA 卡,插到 pcie 插槽,在 hyper-v 开 PCIE 直通,让 truenas 全权控制这张 HBA 卡,才可以使用硬盘休眠。windows server 2016 开始,hyper-v 才支持 PCIE 直通。

但我不需要硬盘休眠,我的 NAS 系统的 VM 是装 windows server 2019 ,并开启重复数据删除,半夜 host 自动关机,整机停机。

开启了重复数据删除的硬盘,想要拔出来插到其他电脑使用,需要先在里面关掉数据重复删除,这个硬盘才可以被其他电脑识别并读取。
huangdog
258 天前
@huangdog 对于要使用 truenas ,而且接的硬盘很多的话,HBA 卡要买宽金手指,PCIE X 数多的,就是 PCIE X4 X8 X16 这类,便宜的可能 PCIE X 数不够多,导致带宽不够:
https://forums.truenas.com/t/multiply-your-problems-with-sata-port-multipliers-and-cheap-sata-controllers/1504
fish3125
258 天前
请问为什么您的 e3 的 4 核 8 线程 hyper 可以分配出 8+2 核心。
我用 win11 ,16 线程 cpu ,所有虚拟机加起来如果超过 16 给虚拟核心就无法启动。
huangdog
258 天前
@fish3125 可能 win11 的限制,要 windows server 才可以这样。
raptor
258 天前
PVE 不比这香多了……
PrinceofInj
258 天前
@huangdog #32 如果开启了重复数据删除的硬盘在去重前的体积已经超过硬盘的总容量,会是什么表现?
Admstor
258 天前
楼主这样用完全没问题
而且很提倡这样用
M5tuA
258 天前
谢谢楼主分享
hez2010
258 天前
@raptor hyper-v 有 GPU-PV 半虚拟化,直接把宿主机的 GPU 分区共享给所有 VM 一起使用,而且同时支持客户机是 Windows 和 Linux ,性能几乎没有损失(虽然 Linux 需要自己编译内核把 dxg 驱动搞进去),同时宿主机上使用 GPU 也不受影响。光这点就比 pve 香太多了。

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

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

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

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

© 2021 V2EX