V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
huangdog
V2EX  ›  NAS

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

  •  1
     
  •   huangdog · 17 小时 0 分钟前 · 1955 次点击
    分享一下我用 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 界面管理,强多了,最纯粹直接的桌面体验。
    25 条回复    2024-12-22 17:12:23 +08:00
    lslqtz
        1
    lslqtz  
       16 小时 47 分钟前
    我是 Windows Server 2022 做 NAS 开 SMB 共享, 同时开了 SS-Server 做内网连接, 然后 BT 软件做种加一些辅助自动化工具, Hyper-V 用于开 VM 跑其它的一些服务和虚拟环境 (共享 GPU). RDP/AnyDesk 管理 (前者图形性能弱, 后者分辨率有限).

    没有太多的需求比如备份文件之类的, 如果有需求的话可能我会自己写个轮子完成.

    GUI 的操作方式对监视资源和使用客户端软件相对比较友好, RDP 的协议优势又提高了远程桌面的使用体验.
    lslqtz
        2
    lslqtz  
       16 小时 46 分钟前
    目前唯一的缺陷是 NTFS 不支持 CoW, ReFS 似乎可靠性不太好. DDNS, 交给 Router 来管理.
    kk2syc
        3
    kk2syc  
       16 小时 15 分钟前   ❤️ 1
    @lslqtz RDP 图形不弱啊,改一下注册表开启高帧,夜深人静的时候,我都用 ipad+RDP 玩黄油。
    COW
        4
    COW  
       15 小时 48 分钟前 via Android
    我也是定时关机,现在懒得折腾了,直接 win server ,搞了个目录开文件共享...
    nicefrp
        5
    nicefrp  
       15 小时 14 分钟前
    同时 Hyper-V ,开了一堆虚拟机,做不同的服务,然后将服务通过 FRP 或者 NPS 暴露出去,不用每次服务器到期搬家都头大了。
    lekai63
        6
    lekai63  
       9 小时 49 分钟前 via iPhone
    host vm 全 win 情况下 op 方案挺好

    只是我们如果把全 win 换成全 debian 不是更好嘛? docker 方便。
    Greenm
        7
    Greenm  
       8 小时 57 分钟前 via iPhone
    win 主要就是自己跑服务,跑自动化,跑计划任务不方便。看你描述,好像备份 vm hyperv 也不提供原生支持? 这个就不如 pve esxi 了
    huangdog
        8
    huangdog  
    OP
       8 小时 31 分钟前
    对于想尝鲜不同 nas 系统,或者部分非全部硬盘开 raid ,可以再开多一个 vm ,在里面装上其他 nas 系统,把部分硬盘安排给这个 vm ,硬盘直通。
    这样的玩法很灵活,不用所有硬盘都开 raid 。而且软 raid 的话,可以这个 nas 系统的 vm 开软 raid 。另一个 nas 系统不开软 raid 。

    群晖也是全系软 raid ,可见软 raid 的稳定性是足够在生产环境使用的。

    对于视频转码,我可以再开一个 vm 去做,或者在现成提供服务的 vm 做,做 nas 系统的 vm 不装任何第三方软件,保持软件纯粹,功能单一性,高稳定性,不被其他服务影响。
    huangdog
        9
    huangdog  
    OP
       8 小时 29 分钟前
    @lekai63 为什么不是部分 vm 装 win ,部分 vm 装 debian ?
    jerrywaffle
        10
    jerrywaffle  
       8 小时 17 分钟前 via iPhone
    之前用 hyperv 出现过 vm 无法恢复的问题,就不再信任 hyperv 了
    bjfane
        11
    bjfane  
       8 小时 10 分钟前
    vm1 如果是也是 windows server ,且只有 smb 共享,是不是直接放在宿主上就更好了
    yinmin
        12
    yinmin  
       6 小时 51 分钟前 via iPhone
    @huangdog windows server 内置“删除硬盘重复数据”功能,开启有惊喜。

    另外,hyper-v 的硬盘性能还不错,ntfs 对掉电保护也好,绝大多数环境下没必要直通硬盘,直接用 vhdx 虚拟硬盘配合“删除硬盘重复数据”更佳。
    bsfmig
        13
    bsfmig  
       6 小时 46 分钟前
    @yinmin 同感。以我的使用体验看,直通硬盘不如直通阵列卡。反正 HV 支持 PCIE 直通也有不少年了。
    bsfmig
        14
    bsfmig  
       6 小时 42 分钟前
    @Greenm 当然支持,Windows Server Backup 就是干这个的。不像 VMW 把自家的备份解决方案直接废弃了,要求用户买第三方的。
    xclimbing
        15
    xclimbing  
       6 小时 36 分钟前
    WinServer 最大的问题就是 smb 等服务兼容性有问题,你 smb 共享出去了,但另一台机器连接不上,是不是就比较恶心。
    再一个对 nfs 、macOS 网络服务等支持也不佳。比如,你怎么让 winserver 支持 TimeMachine 。当然,将提供 nas 的 vm 换成黑群、truenas 之类的专业 nas 系统能解决这个问题。
    n43635
        16
    n43635  
       5 小时 42 分钟前
    和我最开始的 nas 差不多,我是用 server2012 作为宿主虚拟机装 linux 辅助,用了 5 年基本没出过大问题。
    但是我比较爱折腾,时间久了就发现 win 折腾起来比 linux 麻烦太多了,导致很多东西都装到 linux 里去了,winserver 就显得有点鸡肋,
    索性后来直接装 PVE 当宿主,有需要用 win 的地方开个虚拟机辅助一下就行了
    Jacobson
        17
    Jacobson  
       5 小时 37 分钟前
    几台机器,用 server+hyper-v 多年,自从 hyper-v 支持黑群 7.2 之后,基本上补齐了最后一块短板了。

    做 NAS 可以,做服务器可以,做 all in one 更是手拿把攥,可盐可甜,折腾的时间和技术成本极低。

    最主要是 win 的功耗控制非常精细。

    包括主力机也都是常年用 server 系统了。
    gmuubyssss
        18
    gmuubyssss  
       5 小时 36 分钟前   ❤️ 1
    直接 ESXI 不是更舒服么。
    f1ynnv2
        19
    f1ynnv2  
       5 小时 3 分钟前   ❤️ 1
    host 是 Ubuntu, 只装了个 Docker, 所有服务都在 docker 里,包括 smb, syncthing 以及自己写的各种工具。
    lslqtz
        20
    lslqtz  
       3 小时 46 分钟前
    @kk2syc 我搞 solidworks 的, 一顿一顿的, 黄油没什么性能压力, 游戏两个也都不行
    lslqtz
        21
    lslqtz  
       3 小时 46 分钟前
    已经选择用 GPU 编码, 并且开硬件加速了.
    badgv
        22
    badgv  
       2 小时 58 分钟前 via Android
    这种玩法只适合高性能主机,不太通用,更通用的做法是一个系统使用 docker 实现各种服务,尽量少在主系统折腾
    tony666999
        23
    tony666999  
       44 分钟前 via iPhone
    Esxi 不香吗
    kizunai
        24
    kizunai  
       32 分钟前
    请问用于开 hpyer-v 的 windows server 2019 自己要占用多大的内存?
    han3sui
        25
    han3sui  
       17 分钟前
    hyper 直通硬盘,sata 线序还能变吗,换了之后能自动识别?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2772 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 09:29 · PVG 17:29 · LAX 01:29 · JFK 04:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.