避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

2019-07-08 07:30:00 72点赞 700收藏 92评论

方案选择

首先感谢矿难,性价比超高的蜗牛星际,在值友中掀起了一股NAS热。张大妈上各位大神写了不少关于黑群晖的优秀文章,给大家提供了超详细的安装和使用指南。

多数NAS采用的方案有两种:

  • 使用PVE或者EXSI作为主系统,虚拟化群晖。硬盘采用多种不同的直通方式到群晖。

  • 电脑直接安装群晖系统。

在经历过,恢复群晖数据时丢失部分数据的惨痛经历后。自己的NAS就都换成了Windows Server作为主系统。由于最开始安装的系统是所谓优化版的Windows Server2019,心里一直有个疙瘩。同时一直心心念念群晖的Photo Station等便利的功能。所以这次下决心采用MSDN版本重装下主系统,同时虚拟黑群晖,并且通过NFS实现主系统和虚拟群晖之间的文件共享。具体方案如下:

  • 主系统采用Windows Server 2019,并使用存储池管理4块硬盘。在Windows下开启NFS共享文件夹。通过Hyper-V虚拟黑群晖5.2,最后黑群晖通过NFS挂载Windows的共享文件夹作为黑群晖本地文件夹。


NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。


这个方案有几个好处:

  • 硬盘可以用Windows Server自带的存储池管理,可以灵活配置各个硬盘的Raid方案。可以非常方便添加硬盘调整存储空间大小。最重要的是存储池不依赖操作系统。主系统重装,或者换个电脑,原来的存储池可以直接识别。

  • Windows下软件丰富,可玩性非常高。Windows Server 2019的稳定行还不错。并且现在Windows Server不光支持远程桌面连接,也支持网页连接配置。

  • 群晖通过NFS挂载windows磁盘后,就跟群晖下本地磁盘一样。Photo Station等预览都可以实现。并且不影响磁盘休眠。


唯一的缺点就是Hyper-V目前最稳定的只有群晖5.2系统,不能使用新的6.2。但是5.2基本也够用了,不够不是还有Docker来补嘛。避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

安装过程

先说下自己NAS的硬件配置。具体配置如下。整体采用非常实惠的1155平台。E3 1275主频3.4,睿频3.8,加上16G内存。跑个Windows加虚拟机,非常够用了。机箱采用迎广的MS04,四盘位NAS机箱,自带265W铜牌电源。不论做工,还是热插拔模块的质量,电源的可靠性,比起蜗牛还是省心不少。带4块硬盘,整体功耗在50-60W左右,7*24小时开机,一年电费300不到。

避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

Windows+Hyper-V安装黑群晖的过程,我就不详述了。张大妈上大神们已经写的很清楚了。有需要可以参考@火麒麟大神的这篇文章。

WIN10虚拟机 Hyper-V 安装黑群晖,内部网络设置教程相信很多人安装Hyper-v都是为了方便,还有就是一个它支持内部网络10G的速度,这就直接打破网卡千兆的限制,算是比较有用的一个技能,我从VMwareWorkstationPro转头Hyper-v原因也在这。在这里主要说下内部网络的设置,因为我百度下来发现还没有类似说明的教程,对于刚刚接触这个虚拟机火麒麟11| 135 评论152 收藏1k查看详情

下面就详细说说怎么在windows上开启NFS共享,以及群晖如何自动挂载NFS共享文件夹作为本地文件夹使用。

首先在Windows上开启NFS服务器,并设置好共享文件夹

最早我试用的是Windows原生的NFS功能,但不得不说这就是个大坑(也可能是我不会用,各位大神轻喷):

  • 权限管理有问题。NFS共享的文件夹,在MAC下连接死活没权限。

  • 服务器端编码格式没有UTF-8,客户端版本低的话,连上后中文都是乱码。

这里推荐使用第三方NFS软件,haneWIN NFS Server,简单,好用。下载地址

下载后安装,安装完后记得重启下系统,避免一些奇怪的问题。重启后在系统Pogram Files文件夹下找到nfsd文件夹。右键管理员权限运行firewall文件。这是个批处理文件,目的是让让nfsd服务能够通过windows防火墙。不运行的话,客户端连接会被防火墙阻挡。

避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

打开桌面上的NFS Server。软件是英文的,但都比较简单,不影响使用。

避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

在主界面上点击Edit,选择Preference,打开配置页面。选择Export页,点击Edit export file。在这里我们可以编辑Export文件,添加你需要共享的文件夹。

避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

直接在Export文件末尾添加要共享的文件夹即可。以我添加的共享文件夹来说明下参数:

D:photo -name:photo -maproot:0 -range 192.168.1.2 192.168.1.254

  • D:photo 是你要共享的windows下的文件夹路径。如果你想共享整个D盘,就改成了D:

  • -name:photo 这是定义你共享后显示出来的文件夹名字。

  • -maproot:0 这个参数一定要加。

  • -range 192.168.1.2 192.168.1.254 这个参数是定义可以连接这个共享文件夹的IP地址范围。因为我家内网网段是192.168.1.*,我这么设定的话整个内网的电脑都可以连接这个共享文件,但是如果IP是192.168.0.*网段的电脑就不能连接这个共享文件夹。如果你只想要你的群晖有权限连接这个共享文件夹,去掉-range,然后只写上你群晖的IP地址即可。


编辑完成后关闭窗口。点击主界面上file菜单,重启下service。这样Windows端配置就完成了。是不是很简单。避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

接下来配置黑群晖端,目的实现启动自动挂载NFS文件夹,并给群晖套件使用,比如Photo Station。

首先按照下图,在群晖设置界面下开启SSH。

避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

打开终端软件,输入 ssh root@你群晖的名字或者IP地址Windows系统可以使用Putty)。输入密码后,就以root账号登录你的群晖。密码就是初始化群晖是输入的密码。登录成功后界面如下。

避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

输入群晖 vi /usr/syno/etc/defaylts/rc/d/S99mount.sh 来编辑脚本文件,将挂载命令添加进这个文件中。这样群晖启动时就会自动运行这个脚本,挂载NFS文件夹。

避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

添加挂载文件夹命令道脚本文件中,以群晖下photo文件夹为例(安装完photo station组件后群晖就会自动创建photo文件夹)。

避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

/bin/mount -t nfs -o hard qiu-server:/photo /volum1/photo

  • /bin/mount -t nfs -o hard 这段不要动,作为mount指令固定格式

  • qiu-server:/photo 这是windows下nfs共享文件夹 qiu-server是我的NAS计算机名,也可以用IP地址。photo是nfs共享文件夹名字。也就是刚才命令D:photo -name:photo -maproot:0 -range 192.168.1.2 192.168.1.254中-name:参数后面的名字

  • /volume1/photo 是你要挂载到的群晖文件夹。可以通过下面这个图看到这个地址。

避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖


简单说下vi编辑器的使用方式:首先按下"i"回车进入编辑模式,编辑完成后按“ESC”退出编辑模式,按下":"进入命令行模式,输入"wq"保存文件并退出vi编辑器。


编辑并保存文件后,输入命令,使得脚本能够被运行。

chmod a+x /usr/syno/etc.defaults/rc.d/S99mount.sh


避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

完成后输入reboot,重启群晖。重启后打开file station,就能看到photo文件夹挂载成功了。

避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

接下来重建下媒体文件夹索引,photo station就可以看到缩略图了。

避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖

这里说下另一个坑就是之前expeort挂载文件夹时的"D:photo -name:photo -maproot:0 -range 192.168.1.2 192.168.1.254" -maproot:0参数。如果没有这个的话,群晖能够挂载,但是没有没有写入权限。photo station的索引就无法写入,缩略图会显示错误。一开始,我就没写这个参数,折腾了好久。

至此,就实现了群晖开机自动挂载windows下NFS文件夹。使用同样的方式,还可以挂载像docker文件夹,video文件夹等。

总结

花了一整天各种试坑之后,终于成功实现了设想的方案,还是颇有成就感的。这里也给使用windows作为NAS系统,同时又想使用群晖服务的朋友一个参考方案。

总结下避坑经验:

  • 使用第三方NFS软件,尽量不要使用windows自带NFS服务

  • 使用-maproot:0参数让群晖对挂载文件夹有写入权限

最后祝大家NAS玩的开心。因为技术有限,如有任何错误请多多指正。如果喜欢本文的话,也请收藏并多多打赏。谢谢大家!


展开 收起
92评论

  • 精彩
  • 最新
  • 搞定了,纠正下几个问题
    root进去后修改之前要输入 su root 用root权限修改 sudo -i 是没用的!!!!
    命令为 vi /usr/syno/etc.defaults/rc.d/S99mount.sh
    关键是在于需要在输入su root才有效 修改S99文件提示不存在的话检查下最后是不是输入了空格

    校验提示文案

    提交
    多谢指正。
    但是sudo -i 也是切换超级用户,道理上应该也是可行的。可能和你的当前账户不是超级管理员有关系。

    校验提示文案

    提交
    嗯,我也在纳闷,账户确实也是超级管理员

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 楼主的这个解决方案貌似是我一直想要找的,收藏了仔细研究 [赞一个]

    校验提示文案

    提交
    很高兴能对你有用哈,开心没有白写 [惊喜]

    校验提示文案

    提交
    收起所有回复
  • Windows Server作为日常办公玩lol方便么 这样我就可以愉快的用主力机了

    校验提示文案

    提交
    不是太适合。当然,一翻调教后是可以的。 [龇牙]

    校验提示文案

    提交
    收起所有回复
  • 能再补充一下存储池管理的配置就更好了 [高兴]

    校验提示文案

    提交
    下次来一篇 [得意]

    校验提示文案

    提交
    求更新啊大神

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 很给力啊,谢谢

    校验提示文案

    提交
    多谢多谢。

    校验提示文案

    提交
    收起所有回复
  • 好艰难,需要看好多遍才会

    校验提示文案

    提交
    哈哈,搞定就好啊。

    校验提示文案

    提交
    收起所有回复
  • 这样配置的话,远程文件夹还是ntfs格式吧?如果想用两个文件夹在群晖中组镜像备份怎么弄?

    校验提示文案

    提交
    是的。镜像的目的是什么呢?如果是备份的话,可以通过windows存储池实现类似raid1的镜像。

    校验提示文案

    提交
    收起所有回复
  • 有个问题,nfs共享速度有多快呢?楼主有没有测试过?我的只有 2、30mb/s左右

    校验提示文案

    提交
    我的没问题 有110左右

    校验提示文案

    提交
    收起所有回复
  • 请教:我按教程在win10(10.0.0.35)上搭了nfs服务,并在防火墙里面放过了应用,在proxmox里面添加存储时,提示设备不在线(create storage failed: error with cfs lock 'file-storage_cfg': storage 'hppc' is not online (500)),怎么解决啊?(配置文件:D:\vm -name:hppc -maproot:0 -range 10.0.0.2 10.0.0.254)proxmox端配置(ID=hppc;服务器=10.0.0.35;export=/ vm )

    校验提示文案

    提交
    proxmox的ip多少?

    校验提示文案

    提交
    10.0.0.5

    校验提示文案

    提交
    收起所有回复
  • 请问这样配置的话连到这个win-nas的读取速度能到多少啊?我怎么觉得虽然nas内部是用了nfs协议,但nas跟外部设备(尤其是windows设备)还是走smb或者ftp啊

    校验提示文案

    提交
    这个方案只是为了共享空间给群晖的部分套件。如果只是为了共享,直接连win已经nfs共享的文件夹就可以了呀。

    校验提示文案

    提交
    收起所有回复
  • 我直接使用win7的ntfs服务我下载某个文件win7系统出现windows安全服务警告怎么解决

    校验提示文案

    提交
    是不是防火墙没设置规则?

    校验提示文案

    提交
    。。。。。

    校验提示文案

    提交
    收起所有回复
  • 小白一个依葫芦画瓢在群晖开启了ssh,在hanewin添加了文件夹和群晖的ip,然后在终端软件卡了,我用的win10所以下了putty(不会终端软件),按教程输入群晖的ip连接不上。。是不是我操作有什么问题

    校验提示文案

    提交
    流程是这样的呀,群晖不用ssh连接没问题吧

    校验提示文案

    提交
    我不确定是hanewin还是putty的问题,ip地址应该就是群辉登陆的ip吧,putty我看用法是输入群辉ip然后直接连但是没连上,是因为我hanewin挂的是SAS硬盘的地址群辉认不出来吗

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 感谢分享,我现在也是Windows搭建nas,然后hyper-v上装unas,正到处查找共享物理硬盘的办法,就搜到这一篇,非常的好。可惜的是里边提到的nfs server是共享软件,提示只能使用30天 [皱眉]

    校验提示文案

    提交
    百度一下有很多和谐版哇 [大吃一惊]

    校验提示文案

    提交
    改为不用nfs了,直接Windows共享一个目录出来,让后在unas中mount,简单方便。

    校验提示文案

    提交
    收起所有回复
  • 经过两天的研究,发现使用自带的NFS最为稳定,而且也能实现你同样的功能,不需要去借助任何第三方软件,也能解决中文乱码的问题

    校验提示文案

    提交
    分享下方法呢,我用自带的死活连不上,才找了第三方

    校验提示文案

    提交
    直接用自带的NFS,不过我用的是WIN2012和2019的系统,需要给权限,还需要给群辉的文件夹由原理的700改为777,整体还算可以,就是好像老是提示ACL,我正在找相关的办法解决,NTFS格式的也提示,纠结

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 哪里还有便宜的蜗牛淘? 闲鱼已经太贵了

    校验提示文案

    提交
    这个我也不清楚哦,还是觉得蜗牛的性能差了些。

    校验提示文案

    提交
    收起所有回复
  • 楼主 你用的群晖是5.2哪个版本,我试了几个5.2的都没有s99mount.sh这个文件

    校验提示文案

    提交
    你在这个目录下新建一个呢,这文件本来就是个空的。

    校验提示文案

    提交
    非常感谢 折腾好久了 都没有相关教程

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 敲得命令那部分,文章的文字有好多错误,图片上是对的。同时修改文件时,需要sudo -i使用root账号

    校验提示文案

    提交
    还真是,感谢指正。

    校验提示文案

    提交
    收起所有回复
  • 请教下楼主,我的用虚拟机安装群辉,每次重启电脑后,进去虚拟机就什么都没有了?不知这是什么情况

    校验提示文案

    提交
    什么虚拟机软件?

    校验提示文案

    提交
    hyper-v,重启后就显示boot failure

    校验提示文案

    提交
    收起所有回复
  • 楼主你好,你说的:打开终端软件,输入 ssh root@你群晖的名字或者IP地址Windows系统可以使用Putty)
    请问这个终端软件是什么?

    校验提示文案

    提交
    如果你是windows的话 要下个putty

    校验提示文案

    提交
    收起所有回复
  • 楼主,你好,我下了putty,打开后进入了putty configuration界面,不是你帖子里面的类似dos的界面,请问怎么才能进入,我是小白用户。谢谢
    另外,我试着用winscp,
    但是,winscp 点登录,出来network error software caused connection abort,怎么办啊
    麻烦帮忙解答,谢谢

    校验提示文案

    提交
    putty使用可以百度下,要设置下,协议是ssh

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
700
扫一下,分享更方便,购买更轻松