搭建个人NAS服务器,有闲置的电脑就能做。
一、前言:家里闲置了一台HP Gen8小型服务器,正好假期闲来无事,又突然产生了一些使用NAS存储的需求,便想着鼓捣鼓捣,自己弄一台出来,消磨时间,也增长见识。
注意~:我对于NAS,服务器等等,在这之间没有过接触,大部分的方案与过程都来自网上的教程,希望能通过分享我整合各个方案的经验,来帮助到更多和我一样缺乏经验又希望做出尝试的人。
如果您比我的方案有更好的解决办法,或者我有任何地方的不恰当、错误,我都非常希望您能提出,这也是我学习的重要来源!
二、先列出我的主要材料:
- HP Microserver Gen8 一台(如果仅仅需要局域网访问,这就够了)
- 宽带开放公网访问。我是电信宽带,直接打电话给客服要求改成公网ip就可以了。但只能申请到动态公网ip,静态的好像要专线宽带才可以(不太确定)。这里会留下一些小小的麻烦,不过后面会提到替代解决的方法。
- 一个域名。我是在阿里云上注册,购买了DNS解析服务。
三、方案概述
HP Gen8安装Windows server 2012 (2012R2不知道为什么在安装后有些问题),
Vmware虚拟机安装黑群晖7.0,配置脚本、套件
实现期望功能:本地,外网访问NAS上硬盘文件,自动同步其他电脑文件到NAS,自动更新域名解析IP地址(实现DDNS)。
四、具体实施
有疑问可以直接评论或者私信,看到有能力都会尽量帮助解决。
(1)Gen8 iLO的设置与使用
俗话说的好,买一台Gen8,一千块钱,八百块钱花在了iLO上。Gen8所带的iLO,对于服务器的配置与调试,真的大大降低了难度与繁琐程度。关于ilo的配置与调试,我就不过多赘述了,百度上的教程十分详细。贴几个链接做一下指引:
HP Gen8配置iLO以及安装系统 | Nicky Blog
https://blog.nicky1605.com/gen8-ilo4-and-install-windows.html
iLO4 固件2.70版本与中文包下载
链接:https://pan.baidu.com/s/1dU9n370z_rfCVEN-BX7V2A
提取码:3369
- 安装系统与虚拟机、黑群晖
系统我选择Windows server 2012 安装镜像建议MSDN上寻找
Windows Server 2012 (x64) – DVD (Chinese-Simplified) :ed2k://|file|cn_windows_server_2012_x64_dvd_915588.iso|3826081792|6A56281311F9FE6973F66CF36E2F50BE|/
安装方法在前文的链接中有了,再次声明,这只是我完成自己需求的经验分享,链接都是我参考过,再写一篇目录来方便大家查找。
在这一步完成之前,操作都必须通过ilo界面来完成,相信大家都已经不太能忍受ilo模糊的界面以及极高的输入延迟了,因此在进入windows界面后,我的第一件事便是设置好服务器的固定Ip地址,以方便之后通过windows自带的远程桌面功能来完成之后的设置,那体验的提升不是一星半点。设置固定ip,百度经验上非常详细。
可能会遇到的问题:用户账户密码复杂性不符合要求。
解决办法:https://www.reneelab.com.cn/windows-password-requirement.html
Win+R输入gpedit.msc
下载安装Vmware虚拟机
贴一篇非常详尽的教程,可以说是保姆级别的,VMware虚拟机安装黑群晖7.0教程https://blog.csdn.net/u012514495/article/details/120424940
这里只要跟着教程一步步来就可以了,应该不会有什么问题。
注意:记得修改下载的虚拟机默认的内存大小,1GB容易出现内存不足报错的情况,建议2GB起步。
- 群晖中的配置
群晖的各种套件的功能可以说是十分强大了,我也只是用到了其中的冰山一角,斗胆分享一下我的配置。
1.网络设置
设置静态ip,退出前记得要点确定保存。
2.安装套件
在套件中心下载所需的套件
我目前使用的有:Synology Drive -用来同步文件,手机、ipad上app可以访问NAS文件;WebDAV Server- 实现远程可以挂载NAS上的共享文件夹。更方便的云盘!
Cloud Sync -将同步到NAS上的文件同步到云端(可以是百度云、Onedrive等等),万一服务器挂了数据还有备份。
3.示例
接下来我就示范一下我如果要再添加一个NAS用户并分配文件夹的过程。
①添加用户
输入名称和密码,密码要求大小写混合,至少八位,点击下一步
设置好用户群组,如果只是普通使用,users就可以了。
设置文件夹使用权限,可以根据需求来设置,这里我还没有给test用户创建文件夹,所以先不分配。
应用程序访问权限我都直接全允许,这里可以看不同需求,但是Synology Drive权限需要分配,否则之后这个账户不能登录Drive的客户端。剩下的直接一路确定就好了
②创建文件夹。控制面板-共享文件夹-新增-新增
到这一步分配访问权限,我一般给test和另一个管理员账号权限。
③打开文件夹对Synology Drive的共享
注意,操作完成后一定要记得保存!
这时候test文件夹就已经可以在局域网内通过Synology Drive客户端访问了。
④启用SMB服务
在控制面板-文件服务-启用SMB服务打开SMB服务后,就可以在局域网内通过映射网络驱动器来访问test文件夹了。
右键我的电脑-映射网络驱动器
用刚刚设置好的ip地址按照上面的格式就可以访问test文件夹了
记得使用其他凭据连接,用test的账号密码登录就可以了。
⑤使用Synolony Drive同步文件
安卓app下载:官网https://cndl.synology.cn/download/Mobile/Android-Drive/2.3.0-361/Android-SynologyDrive.2.3.0-361.apk
苹果应用商店搜索Synolony Drive就可以下载。
下载安装完成后,打开Synolony Drive,直接用ip地址和刚刚创建的用户账号密码来登录就可以了,同步的文件夹请自行选择。我在在登陆的时候会关闭SSL加密传输(没有SSL证书会产生一些奇怪的问题,所以我选择关闭,如果有了解这方面的可以讲解一下)。
手机app同样方式登录,可以访问用户账号权限内的文件夹。
- 实现不在局域网内的访问
这也是我选择自建黑群晖的主要目的,这里最好是家里宽带有公网ip。我家是电信宽带,直接打电话给客服,要求改成公网ip就可以了。但这个ip过段时间或是重启路由器就会改变,我们假如需要经常更换登录的ip的话是非常不现实的,因此我们便需要一个域名。我在之前已经在阿里云上注册好了域名,接下来便是设置。
①以阿里云为例。教程https://developer.aliyun.com/article/755182?spm=a2c6h.13813017.content3.2.102c4d57vf1qhT
Python安装:菜鸟教程https://www.runoob.com/python3/python3-install.html
这里我做一些根据实际使用的补充:可以把上面教程中获得的py文件放到一个固定的目录中,再新建一个.bat批处理文件,输入
python 你py文件的路径/文件名.py
再保存。用这个批处理文件作为每次定时计划要运行的程序,可以省去设置参数的麻烦。如图
这样我们便通过python脚本实现了自动更改域名解析记录为当前ip地址,方便我们直接通过域名访问我们的NAS。
②配置端口映射。
打开控制面板-外部访问-路由器配置-新增-内置应用程序,我们可以看到群晖内置套件的端口,这里我用的都是默认端口。现在参照每条的端口号、协议到路由器管理界面配置端口转发就可以了。
到这一步,就已经可以远程通过你的域名来访问NAS服务器了。找一台电脑,通过手机热点,尝试登陆Synology Drive,成功进行同步,同步速度取决于你的宽带上传带宽。假如对宽带上传带宽不满意,联系宽带服务商,每月增加一些资费可以提高带宽。如果只是同步文档,一般来说是够用的,图片视频就会比较让人捉急,按需使用就可以。
假如想要想在局域网内一样使用映射网络驱动器的方式来访问NAS上的文件夹,推荐方法:https://unwit.cn/zsk/14.shtml
因为我在实际使用中会遇到用Windows自带映射网络驱动器功能时,不能直接通过域名访问我的NAS文件夹。猜测是没有信任的SSL证书的问题,上网获得一个免费的SSL证书后就可以正常访问了。但免费的SSL证书又影响到了其他地方的使用,故作罢,使用RaiDrive访问也是十分方便的。
- 虚拟机自启动
Vmware的虚拟机与hyper-v不同,想要设置自启动不是十分方便,直接放进启动文件夹里,在用户登录之前不会启动,不方便使用。
解决方案:将程序做成系统服务,随系统启动一起运行。
教程:https://blog.csdn.net/konglongaa/article/details/80055814
启动程序我们也可以像DDNS一样,写一个.bat文件,内容是
cd cd "C:\Program Files (x86)\VMware\VMware Workstation\"
vmware.exe -x C:\DS3615xs_7.0\DS3615xs_7.0.vmx
其中”C:\Program Files (x86)\VMware\VMware Workstation\”是你vmware安装的目录,C:\DS3615xs_7.0\DS3615xs_7.0.vmx是你按照之前教程里下载的虚拟机文件的路径
用这个文件作为你刚刚注册的服务要启动的程序,就可以实现服务器启动时自动启动虚拟机了。
PS:其实服务器稳定运行后最好不要随意重启,这是为了方便维护和万一出现断电情况可以自动运行,不用人工启动。
2.远程维护
我的方式是映射服务器的端口号3389,这样就可以外网远程桌面控制windows 2012来进行维护。
好了,到这里我的服务器配置就告一段落了,以后如果还有什么新的功能添加,还会再更新,欢迎各位提出意见和建议!
总结:
- Gen8安装windows server 2012
- 安装vmware虚拟机,黑群晖
- 设置网络,设置脚本实现自动运行
在这之前我也是完全零基础的,从最基本的开始一点点学习过来,完成NAS的搭建,也是很有成就感的一件事情,受益匪浅。把我搭建学习的过程分享给大家,写成这样一篇类似目录的文章,希望可以帮助到有需要的人,也欢迎大家和我来讨论,帮助我的进步!