年轻人的第一台NAS——个人基于Windows server的NAS总结

2019年刚刚过去,自己的NAS从一月底投入使用到最近升级Raid5,前前后后也算折腾了一年了,其中跳过的坑也不少,这篇博客也算是给自己做一点点记录

1、配置

简单说一下配置好了

主板:华擎A320M-HDV

CPU:速龙200ge

内存:科赋2400/8G(后升级为2666/8+16)

硬盘:西数3T紫盘*2(后升级为*4)+西数120G固态(系统盘)

系统:Windows Server 2016 Standard

电源:航嘉睿智300DS+

机箱:银欣珍宝SG02

选这么一套配置,原因主要还是因为预算问题,当然还有一部分原因是我想拿它兼职做一台服务器使用

说到这台NAS,其实是在一位好友的建议下一同组建的,起初的目的只是为了供两位穷学生远程存一存手机照片和文档啥的,预算在两人平摊之后在尚在可接受范围内,当时置办下来一人花费一千出头

至于Windows server嘛,应该是当初用学生认证白嫖的

2、存储配置

Windows Server2016中,原先的磁盘管理被合并至了服务器管理器的文件和存储服务中

我们连接的硬盘首先会出现在存储池的物理磁盘中

年轻人的第一台NAS——个人基于Windows server的NAS总结_第1张图片

这些磁盘都处在全新状态,首先建立一个存储池,将我们的磁盘添加进存储池中

添加进存储池中的磁盘将被重置,一定要确认数据状态!

接下来我们可以新建虚拟磁盘,虚拟磁盘有三种形式,simple,mirror和parity

simple简单来说就是Raid0,最大容量=存储池容量,没有冗余存储

mirror则是Raid1,镜像存储,最大容量只有一半,但另一半提供冗余存储,防止硬盘损坏数据丢失

Parity则是奇偶校验,大概是Raid5还有Raid6之类的,提供一个或是两个硬盘的冗余存储,具体的情况比较复杂,我个人也没有完全弄清楚,因为这里的设置面板是不提供自定义列数的,我四个3T(2.73)盘最大容量给的是7.8T,既不是常规的3列raid5也不是4列raid5……

年轻人的第一台NAS——个人基于Windows server的NAS总结_第2张图片

如果想要自定义Raid列数的话,可以使用Powershell命令

New-VirtualDisk -StoragePoolFriendlyName 存储池名称 -ResiliencySettingName Parity -FriendlyName 虚拟磁盘名称 -Size 磁盘大小 -ProvisioningType 磁盘类型(固定大小Fixed/动态扩展Thin) -PhysicalDiskRedundancy 奇偶校验盘数 -NumberOfColumns 列数

比如说要在名称叫Pool01的存储池中新建一个叫VDiskSimplePS的3GB五列单奇偶可扩展卷,可以允许一块硬盘同时损坏,相当于RAID5,命令如下

New-VirtualDisk -StoragePoolFriendlyName Pool01 -ResiliencySettingName Parity -FriendlyName VDiskSimplePS -Size 3GB -ProvisioningType Thin -PhysicalDiskRedundancy 1 -NumberOfColumns 5

列数在磁盘建立之后就不能再进行修改,所以如果要做Raid5的话尽量在开始就做,否则后期改造的话会花费大量的时间,具体的方法在后面进行介绍

虚拟磁盘建立完成后就可以在这个虚拟磁盘上新建卷,之后和普通Windows操作类似,分配盘符后即可正常使用

关于存储池的具体内容,可以参见

Joe Chen的Win10和Win Server 2019存储池存储空间相关

 

3、软件选择

1、文件管理

在windows环境下能用的NAS系统不多,可道云算是相对比较好的选择了,开源,对个人用户免费

可道云的优点在于简单易用的类桌面操作,还能够直接分享共享连接,当你在向家人推销你的NAS时,这是再好不过的事情了

除此之外部署也十分简单,简直是傻瓜式的操作

缺点嘛,主要是APP比较简陋,手机端访问太困难,同时缺少文件同步

除此之外就是太能咕了,之前暑假说要出的更新,一直咕到现在还没有正式发布,不过新版本据说上面的问题都得到了解决,但鉴于至今没用上,这里就暂不做评价了

可道云DEMO

2、FTP

既然可道云做不了文件同步,那我们只好另寻他路,一般大家常用的都是SMB,但我们是两人使用,而且常年在外(指在学校),SMB着实比较麻烦,不过好在FTP还是很常见的协议,很多软件都支持

但既然是多人使用,每人的空间自然而然要分开,那Server-U就是唯一的选择了

Server-U的部署也并不繁琐,缺点在于需要管理员手动添加用户账号,每个用户的根目录也需要手动设置并勾选锁定

年轻人的第一台NAS——个人基于Windows server的NAS总结_第3张图片

同时在勾选“用户必须在下一次登录时更改密码”后可能会因为利用FTP的软件本身不支持修改密码的操作而导致一直卡在连接FTP的过程中

3、自动同步

FTP下的自动同步软件有很多,我们选择的是GoodSync和FolderSync

GoodSync作为专业的数据同步软件,不仅能够定时自动扫描同步,而且可以选择同步的左右端(指单方向同步),基本可以替代OneDrive

更重要的一点是,这玩意隔三差五就会免费一波

一般限免的key一个账户只能添加一个

但是!

GoodSync支持账户合并!

也就是说可以注册大量的账号白嫖免费key然后合并到一个账户里

但是GoodSync也有一个缺点,那就是没有针对手机的同步软件

这时候就要搬出我们的FolderSync了

在移动端支持FTP自动备份的软件我暂时只找到了FolderSync这么一款

它能够在指定时间在后台启动开始自动备份,基本可以取代各类系统里自带的云备份

4、PT

windows下的pt软件选择很多,个人使用的是urtorrent,可以直接在网页添加任务,部署相比aria2要快捷一些,当然界面也就没那么好看了

5、影音播放

可道云自身可以在浏览器中播放大部分的视频,但第一,效果不好,第二,受限于浏览器的解码格式,部分视频格式无法播放,而且在智能电视上使用浏览器估计会让人摔遥控器

Kodi就是一个不错的解决方案,不仅支持智能电视和手机,同时也能在普通windows机上使用,不过最新版本似乎在小米电视上使用时会闪退,个人使用的老版本的17.4

同时本体不带中文,需要在add-on里下载chinese的扩展包

旧版Kodi下载地址

中文扩展包下载地址

除此之外,Kodi里的豆瓣刮削器似乎已经不能使用了

4、外网访问

作为两名常年在外(学校)的学生,这台NAS当然不能仅限于局域网使用,那想要做到外网访问,就要使用内网穿透或是拿到一个公网ip

内网穿透例如花生壳之类的,之前在学习时试用过,免费版本十分不稳定且带宽可怜

那么就需要一个公网ip了

获取公网ip还是比较简单的,一通电话打到客服处就给了

但是这个公网ip并不是固定的,而且是会变动的,这时候就需要用到DDNS了

现在主流的路由器都有DDNS功能,具体也就是将DDNS服务商下的一个次级域名指向当前的公网ip

例如腾达的DDNS服务会提供给你一个XXXX.tpddns.cn的地址(XXXX为自己设定),利用这个地址就可以成功访问到家庭网络了

年轻人的第一台NAS——个人基于Windows server的NAS总结_第4张图片

但是还有一个问题,这个地址指向的只不过是当前的局域网,而这个局域网内往往有着多台设备,NAS只不过是其中之一

这时候就需要做端口映射,将外网的端口映射为内网固定地址的某个端口

之后,想要访问NAS中端口为200的服务时,只需输入XXXX.tpddns.cn:200即可

可是这样的地址很丑,也很难记,端口暴露在外,而且一看就知道是腾达的ddns,太low了,怎么办?

这时候就需要一个自己的域名和域名跳转了

首先就是需要买一个自己的域名

当然,国内的域名服务往往需要备案才能使用,这时候我们可以选择国外的namecheap更改为自己域名的DNS服务商

namecheap提供FreeDNS服务,仅需在其官网注册即可使用

至于更改域名的DNS服务商的方法,各个域名网站各不相同,这里暂时就不详细说明了

不过将DNS服务商转为namecheap后,具体的设置界面比较难找,位于Account-Domain List中Transfer In的下拉菜单Manage-Advanced DNS中

年轻人的第一台NAS——个人基于Windows server的NAS总结_第5张图片

新增一条URL Redirect Record的记录,host中填入二级域名,value里填入之前的XXXX.tpddns.cn:端口号,选择masked,就做好了域名的跳转,现在就可以用自己的域名访问自己的服务了

5、断电与重启

对于一个长时间难以接触机器本身的人来说,一台NAS,如果在运行时发生断电,那么手动重启显然是不现实的事情

不过好在现在的机器大多支持来电自启,仅需在BIOS的POWER MANAGEMENT将Restore AC Power Loss设置为On即可

不过即使可以做到自动重启,有些前台服务在开机后仍然需要等待用户登录后才能启动

这时候只需要设置开机自动登录即可

设置开机自动登录

当开机自动登录后,需要自动启动各类前台服务,只需将快捷方式加入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\   文件夹中即可

6、其他

1、扩展至Raid5

在前文里我提到了要建立Raid5一定要提早建,否则会非常麻烦,有人也许发现了,我们一开始只购买了两个盘,根本没有办法建立Raid5,,的确,我们一开始才用的Simple模式,也就是Raid0,但随着对NAS的依赖性不断增强,我们最终还是决定给数据增加一层安全保护,又添加了两块硬盘建立Raid5,麻烦归麻烦,但“办法总比困难多”,扩展至新的Parity磁盘也不是不可能的

首先需要将新增添的磁盘加入到存储池中,加入存储池后,存储池的总容量的确增加了,但是,当前的数据仍然存储在旧的磁盘中,如果我们想要新建Parity磁盘,因为旧有的磁盘所存剩余的容量不足,是无法建立的

这时候我们可以使用Powershell命令Optimize-StoragePool对存储池进行优化,将存储池中的数据均匀分摊到每一个存储池的硬盘中

但要注意这是一个高IO的操作,毕竟要持续的对旧盘进行读取新盘进行写入,不过速度尚在可接受范围内,毕竟读写是单向的

当存储池优化完成后每个物理磁盘所存储的数据应当是相同的,如果使用的是相同的磁盘那么剩余空间也是相同的,此时就可以在此基础上新建Parity磁盘了

建立完成后将原数据拷入新的磁盘中,这是一个非常漫长的过程,因为原磁盘和新磁盘的空间在物理上分属不同的磁道,而Parity模式硬盘的写入又牵扯到整个磁盘阵列,也就是说此时的硬盘处于全体边写边读的状态,如果存储的数据更加零碎一点,读写速度会非常的难看,本人约1.9T的数据一共耗时超过60个小时

完成拷贝后将原虚拟磁盘删除,空间释放回存储池,可以按照需要将新磁盘扩容

2、MC服务器与SRV

也许有人注意到了,为何一台NAS后期扩容至了24G的内存,原因其实是我应朋友的请求在上面运行了两个MC的服务端,其中一个加入了大量MOD的服务端甚至吃掉了11G的内存……

MC的默认端口为25565,当只运行一个服务端时我们可以直接使用CNAME记录将我们的域名指向DDNS域名实现域名隐藏

但是当运行两个服务端时势必有一个服务端将运行在另一个端口下,那么在连接服务器时就需要输入这个端口号

这时候就可以使用SRV记录来实现域名的隐藏,以namecheap中的设置为例(很神奇,因为官方的教程也是用的MC举例子)

在记录中选择SRV,按照顺序填入_名称、_tcp.XX(XX即想使用的二级域名),0,5,端口号,DDNS域名,完成后即可在MC中使用该二级域名进行连接

年轻人的第一台NAS——个人基于Windows server的NAS总结_第6张图片

不过Namecheap本身的网页有一些问题,保存之后二级域名在设置中会消失,不过不影响正常使用

具体的SRV域名解析教程

3、校园网与FTP

说到校园网,我有所接触的不少外校学生用的校园网都是一样的模板,蓝白底,发现校园网的“无线”精彩,看起来应该是一家公司出品的玩意

年轻人的第一台NAS——个人基于Windows server的NAS总结_第7张图片

不过在使用过程中发现这个校园网往往在深夜时FTP连接会断开,再次连接也无法连接上,不过解决方法也很简单,注销,然后重新登录一次一般就好了……

4、Steam串流

曾经也试想过通过Steam串流,后期将整个服务器升级为一个家庭运算中心,但是失败了,经过试验主要是Steam串流与windows的桌面分辨率关系较大,无头服务器的桌面分辨率无法固定,会根据上一次远程时的分辨率自动调整,这会导致Steam串流在大多数情况下连接后立刻闪退

7、后记

这台NAS兼服务器前前后后折腾了接近一年的时间,现在基本的功能都趋近完善,唯一的不足可能就是缺少一个UPS了

UPS的选择也不是很多,基本是BK650或是新出的TG-BOX600,不过还得攒攒钱才能上

至于读写效率这一块,存储池的效率听说并不是很美好,不过对于我们这种常年用外网的来说,更大的限制应该还是家用光纤的速度,200M的光纤日常看片基本没啥问题

第一次写这么长的总结,文章写的也比较粗糙,若是有错误或是不妥之处,希望大家能够批评指正

你可能感兴趣的:(个人记录,NAS)