原文:http://blog.bbzhh.com/index.php/archives/110.html
在Windows Server 2012R2上使用Hyper-V黑了一个群晖使用
硬件环境是HP Gen8,加到了10G内存,CPU依然是乞丐版,光驱位改为SSD,SATA1-4为 WD 4T * 4 红盘
本来想硬盘直通给黑群晖使用,但是考虑到万一挂掉了数据不好恢复,外加硬盘休眠的问题一直无法很理想的解决,所以就有了现在的方案:
hyper-v虚拟黑群晖,然后windows上把四块硬盘作带奇偶校验的存储资源池,然后通过NFS共享的方式给群晖加载使用,这样一来即保障了数据安全性,在windows上对于NFS文件夹也可以直接读写,方便管理,更重要的是再也不用纠结群晖到底是虚拟硬盘还是直通硬盘了。
网上有很多群晖挂载NFS的例子,大多数都是在计划任务里新建一个任务,来mount nfs格式分区,但这个方法很不爽的一点是,比如video,在启用video套件时,这个文件夹是不允许rename、mount等操作的,显示资源正忙,所以脚本的方法也不是很完美,结合台湾省的一个群晖论坛上的提示,我有了以下的方案:原文参考
1、ssh到群晖上,这个不用多说了,群晖得首先开启SSH服务,然后root用户的密码和初始化群晖时设置的密码一致;
2、编写开机自启动脚本:
vi /usr/syno/etc.defaults/rc.d/S99mount.sh
我这里索性将volume1里的所有文件夹都移动到了windows机器上,请注意替换实际的ip地址,具体内容为:
/bin/mount -t nfs -o hard 10.20.55.1:/music /volume1/music /bin/mount -t nfs -o hard 10.20.55.1:/homes /volume1/homes /bin/mount -t nfs -o hard 10.20.55.1:/photo /volume1/photo /bin/mount -t nfs -o hard 10.20.55.1:/video /volume1/video /bin/mount -t nfs -o hard 10.20.55.1:/svn /volume1/svn /bin/mount -t nfs -o hard 10.20.55.1:/work /volume1/work /bin/mount -t nfs -o hard 10.20.55.1:/document /volume1/document /bin/mount -t nfs -o hard 10.20.55.1:/other /volume1/other
3、将开机脚本设置为全员可以执行
chmod a+x /usr/syno/etc.defaults/rc.d/S99mount.sh
4、在windows上设置nfs共享,这里我使用haneWIN NFS Server 2.1.16版本,虽然windows原生支持NFS,但是windows server 2012r2的nfs v3版本不支持utf-8编码,v4版本虽然支持,但是群晖作为客户端只有nfs v3,具体映射路径有:
D:nfsdocker -name:docker 10.20.55.10 D:nfsmusic -name:music 10.20.55.10 D:nfshomes -name:homes 10.20.55.10 D:nfsphoto -name:photo 10.20.55.10 D:nfsvideo -name:video 10.20.55.10 D:nfssvn -name:svn 10.20.55.10
5.勾选haneWIN NFS Server中的Server标签下的“UTF-8 character set”
6.点击haneWIN NFS Server中Exports标签下的“Restart Server”
7.为了保险,我把原来群晖/volume1下的所有文件夹做了一个备份:
mkdir /volume1/ori_bak cd /volume1/ori_bak mkdir @S2S @autoupdate @docker @tmp docker music @SynoDrive @cloudstation @download homes photo video @appstore @database @eaDir svn
cp -r /volume1/@S2S/* /volume1/ori_bak/@S2S/ cp -r /volume1/@autoupdate/* /volume1/ori_bak/@autoupdate/ cp -r /volume1/@docker/* /volume1/ori_bak/@docker/ cp -r /volume1/@tmp/* /volume1/ori_bak/@tmp/ cp -r /volume1/docker/* /volume1/ori_bak/docker/ cp -r /volume1/music/* /volume1/ori_bak/music/ cp -r /volume1/@SynoDrive/* /volume1/ori_bak/@SynoDrive/ cp -r /volume1/@cloudstation/* /volume1/ori_bak/@cloudstation/ cp -r /volume1/@download/* /volume1/ori_bak/@download/ cp -r /volume1/homes/* /volume1/ori_bak/homes/ cp -r /volume1/photo/* /volume1/ori_bak/photo/ cp -r /volume1/video/* /volume1/ori_bak/video/ cp -r /volume1/@appstore/* /volume1/ori_bak/@appstore/ cp -r /volume1/@database/* /volume1/ori_bak/@database/ cp -r /volume1/@eaDir/* /volume1/ori_bak/@eaDir/ cp -r /volume1/svn/* /volume1/ori_bak/svn/
8、重启群晖,再次ssh到群晖,到这一步其实已经ok了,然后我们要把备份的内容给还原到nfs对应的文件夹中:
cp -r /volume1/ori_bak/docker/* /volume1/docker/ cp -r /volume1/ori_bak/music/* /volume1/music/ cp -r /volume1/ori_bak/homes/* /volume1/homes/ cp -r /volume1/ori_bak/photo/* /volume1/photo/ cp -r /volume1/ori_bak/video/* /volume1/video/ cp -r /volume1/ori_bak/svn/* /volume1/svn/
9.大功告成,再次重启,验证