避坑指南:基于Windows系统的NAS通过NFS将硬盘空间共享给Hyper-V黑群晖
方案选择
首先感谢矿难,性价比超高的蜗牛星际,在值友中掀起了一股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来补嘛。
安装过程
先说下自己NAS的硬件配置。具体配置如下。整体采用非常实惠的1155平台。E3 1275主频3.4,睿频3.8,加上16G内存。跑个Windows加虚拟机,非常够用了。机箱采用迎广的MS04,四盘位NAS机箱,自带265W铜牌电源。不论做工,还是热插拔模块的质量,电源的可靠性,比起蜗牛还是省心不少。带4块硬盘,整体功耗在50-60W左右,7*24小时开机,一年电费300不到。
Windows+Hyper-V安装黑群晖的过程,我就不详述了。张大妈上大神们已经写的很清楚了。有需要可以参考@火麒麟大神的这篇文章。
下面就详细说说怎么在windows上开启NFS共享,以及群晖如何自动挂载NFS共享文件夹作为本地文件夹使用。
首先在Windows上开启NFS服务器,并设置好共享文件夹
最早我试用的是Windows原生的NFS功能,但不得不说这就是个大坑(也可能是我不会用,各位大神轻喷):
权限管理有问题。NFS共享的文件夹,在MAC下连接死活没权限。
服务器端编码格式没有UTF-8,客户端版本低的话,连上后中文都是乱码。
这里推荐使用第三方NFS软件,haneWIN NFS Server,简单,好用。下载地址
下载后安装,安装完后记得重启下系统,避免一些奇怪的问题。重启后在系统Pogram Files文件夹下找到nfsd文件夹。右键管理员权限运行firewall文件。这是个批处理文件,目的是让让nfsd服务能够通过windows防火墙。不运行的话,客户端连接会被防火墙阻挡。
打开桌面上的NFS Server。软件是英文的,但都比较简单,不影响使用。
在主界面上点击Edit,选择Preference,打开配置页面。选择Export页,点击Edit export file。在这里我们可以编辑Export文件,添加你需要共享的文件夹。
直接在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端配置就完成了。是不是很简单。
接下来配置黑群晖端,目的实现启动自动挂载NFS文件夹,并给群晖套件使用,比如Photo Station。
首先按照下图,在群晖设置界面下开启SSH。
打开终端软件,输入 ssh root@你群晖的名字或者IP地址Windows系统可以使用Putty)。输入密码后,就以root账号登录你的群晖。密码就是初始化群晖是输入的密码。登录成功后界面如下。
输入群晖 vi /usr/syno/etc/defaylts/rc/d/S99mount.sh 来编辑脚本文件,将挂载命令添加进这个文件中。这样群晖启动时就会自动运行这个脚本,挂载NFS文件夹。
添加挂载文件夹命令道脚本文件中,以群晖下photo文件夹为例(安装完photo station组件后群晖就会自动创建photo文件夹)。
/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 是你要挂载到的群晖文件夹。可以通过下面这个图看到这个地址。
简单说下vi编辑器的使用方式:首先按下"i"回车进入编辑模式,编辑完成后按“ESC”退出编辑模式,按下":"进入命令行模式,输入"wq"保存文件并退出vi编辑器。
编辑并保存文件后,输入命令,使得脚本能够被运行。
chmod a+x /usr/syno/etc.defaults/rc.d/S99mount.sh
完成后输入reboot,重启群晖。重启后打开file station,就能看到photo文件夹挂载成功了。
接下来重建下媒体文件夹索引,photo station就可以看到缩略图了。
这里说下另一个坑就是之前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玩的开心。因为技术有限,如有任何错误请多多指正。如果喜欢本文的话,也请收藏并多多打赏。谢谢大家!
ahyang
root进去后修改之前要输入 su root 用root权限修改 sudo -i 是没用的!!!!
命令为 vi /usr/syno/etc.defaults/rc.d/S99mount.sh
关键是在于需要在输入su root才有效 修改S99文件提示不存在的话检查下最后是不是输入了空格
校验提示文案
whaogu
校验提示文案
yuan858916
校验提示文案
mlsky
校验提示文案
大叔爱电脑
校验提示文案
八块腹肌的aleen
校验提示文案
抄表工
校验提示文案
值友1718029912
校验提示文案
smartdll
校验提示文案
wendong92310
校验提示文案
落木遗梦
校验提示文案
Ahiok
校验提示文案
柴门
校验提示文案
湘江雨梦
校验提示文案
chevy11
校验提示文案
Angus疯子
校验提示文案
时光的影子Y
校验提示文案
GDLWH
校验提示文案
武陵守夜人
请问这个终端软件是什么?
校验提示文案
武陵守夜人
另外,我试着用winscp,
但是,winscp 点登录,出来network error software caused connection abort,怎么办啊
麻烦帮忙解答,谢谢
校验提示文案
值友9377386728
校验提示文案
值友7893276571
校验提示文案
路易斯肥肠
校验提示文案
省钱就靠张da妈
校验提示文案
Chris35
群晖的硬盘,共享给win是不是要简单些?
我以前在win10上直接nfs挂载很好用,不知道怎么重装了win10后,怎么弄都不是那么回事了,主要是中文识别乱码,而调成unified beta模式又会导致一些列其他问题。好累。
校验提示文案
值友7893276571
校验提示文案
值友5604015742
校验提示文案
ChiangAm
校验提示文案
小固
校验提示文案
值友7893276571
校验提示文案
L小呆儿
校验提示文案
武陵守夜人
校验提示文案
武陵守夜人
我群晖的虚拟盘只有200G,如果是保存在这里的话,一下就空间不足了。
校验提示文案
武陵守夜人
另外,我试着用winscp,
但是,winscp 点登录,出来network error software caused connection abort,怎么办啊
麻烦帮忙解答,谢谢
校验提示文案
武陵守夜人
请问这个终端软件是什么?
校验提示文案
NewBlash
校验提示文案
Angus疯子
校验提示文案
GDLWH
校验提示文案
打烂你的pp
校验提示文案
ahyang
root进去后修改之前要输入 su root 用root权限修改 sudo -i 是没用的!!!!
命令为 vi /usr/syno/etc.defaults/rc.d/S99mount.sh
关键是在于需要在输入su root才有效 修改S99文件提示不存在的话检查下最后是不是输入了空格
校验提示文案