DIY-NAS-2020-04-23
前言
先说一点题外话,最近发现自己工作中出的很多问题都是因为不够细心和不够耐心,有的时候很鄙视人家的东西但是做都做不好。做不好,又拿什么鄙视人家呢?所以既然现在拒绝不了,那我就拥抱它,做到最好,才有机会证明自己的想法是对的,不然①直这个态度应该还会有什么好处吧。这也是今天写这篇文章的原因,从现在的每一件事情做起,做到耐心细心。不可能百分之百圆满,但要有因有果。
认识NAS
很遇然的知道了NAS这种神奇的东西,了解了一翻大概知道他的结构和用途。
NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。
我的理解是
- 结构:一台低功耗一直运行的服务器。
- 用途:日常家用服务器。
看了网上大佬们组装NAS的方法大概有两种
- 直接买NAS主机,买回来之后开机即用就好了。
- 自己利用旧电脑,闲置硬盘等设备组装。
为了了解NAS,所以我在油管上丘看了很多视频,印象最深的是一个美女UP主,她有一台Gen8并做作为自己的NAS,关于NAS她前后出了两个视频,时间跨度大概一年。
第二个视频中明显感觉她在这方面的理论知识上有了更深刻的见解,这也促使我想更快一点拥有一台属于自己的NAS主机,至少在这方面的知识上有一定积累。
其实台如果自己也买①台NAS主机意义不大,虽然有了NAS可以有很多便利,但是还不至于到买一台主机的地步。
现有NAS和我不选择现有NAS系统的原因
看了很多关于NAS的文章或者视频 ,这其中有很多非常优秀的NAS系统,比如群晖、FreeNAS等等。
我的DIY NAS组成是:旧电脑+Win Server+虚拟机
其实最初的想法是得用自己的旧电脑,刷一个NAS系统就好了,但是那样真的就把①台电脑做成服务器了。这样做的话我的PC就只剩一台了,并不是很爽,其实我同时用两台电脑的刚需就是想在一台电脑睡写东西另①台看视频。
而且最让人绝望的事情是,没有一个我喜欢的NAS系统。
- 群晖
黑群晖,一开始完全不明白这是个什么概念,后来才知道这个和黑苹果是一个意思。而且完全不想用所谓破解的东西,也就放弃了。
- FreeNAS
学习NAS的时候知道了众多开源系统中评价比较高的就是FreeNAS, 这个系统真的应该是不错的了,但是在墙内还是有很多问题,比如装完系统之后刷新页面是很费劲的,因为有大量请求去了不存在的地方。而且这个系统最主要的要求是最低4G运存。
虚拟平台的选择
-
Hyper-V 为啥先说这个呢,因为我用的就是这个。没什么特别的对微软自家的系统直持一如既往的好,其它系统也可以。
-
ESXI 和KVM 说实话这两个真的没玩过,所以不评价。
Windows Server
所以接下来要做的就是重新考虑给自己装一个什么系统,经过一翻思想斗争之后我装了Windows Server 2019,就算是给自己一个学习Windows Server 的机会吧。
- SMB:有了这个在文件共享方面可以说解决了日常中的很多问题。
- 操作简单,可以满足我平常对另一块屏幕的很多需要。
Manjaro
这个是我比较喜欢的Linux发行版了,虽然现在对Arch整个生态还不是很了解,但是觉得这是个可以折腾的完意。
即然体验不错,足够稳定,那么Manjaro就作为自己的开发平台及服务吧。开发时要用到的东西基本上都装在这里了,数据库,Nginx, Git项目,博客等等。
- 开机自动挂载Windows Server 的SMB,这样就可以在虚机中操作硬盘中的文件。
- 可以安装Docker 满足我我以服务器的需要。
- 还可以部署离线下载,下载目录就用挂载的SMB就可以了。
OpenWRT
这个是LEDE固件,说白了就是一个可以实现路由器功能,并且可以开启更多扩展,安装更多插件的轻量级Linux系统。考虑到之前自己遇到的情况觉得装这个软路由是非常必要的。
之前其实就折腾过这个东东,但是那个时候没有搞明白,可以实现独臂路由,但是不是特别稳定。
所以这一次又折腾了一次。
- 虚路由是对外的唯一设备,可以实现Windows Server和各个虚拟主机与其它局域网的完全隔离,并不是为的所谓的安全,只是想玩一玩。
- 不确定未来是否会实现访问不存在网站的功能, 但是现在还没有必要。
- 端口映射可以实现外部局域网访问内部应用(远程桌面也是通过这个实现的,Windows Server 和 Manjaro都可以的)
OpenWRT安装过程
安装就比较常规操作了,下载支持uefi的虚拟机镜像,WinServer的Hyper-v中导入镜像,关闭微软安全。
给这个虚机要配置两个网卡, 一个做LAN口,一个做WAN口,LAN口网卡应该为内部网络并且这个应该是先接入的,在虚拟机的设置里应该在上面,WAN口网卡应该是外部网络就是缩主机连接网络的实体网卡,并且要在Hyper-v的虚拟交换机中将这个网卡的允许管理操作系统共享此网络适配器 勾掉。这样做的用途就是将这个OpenWRT虚机作为路由器,将外部网络接入路由器。
接下来就是配置OpenWRT, 配置起来就比较简单了,主要是把外部端口转发给自己想用的虚拟机或宿主机就好了。
其实之前想的是多装几个Linux虚拟机,来个多节点啥的。玩起来也是方便。但是最后还是放弃了,如果有什么需要就在Manjaro 中装Docker算了。
遇到几个非常狗的问题
- FTP分主动模式和被动模式, 只映射21或22端口是不好用的。
- SMB也不是一个端口就可以搞定的,要好多接口。
- 使用WIFI情况下,访问FTP可能会跑断网,目前的方案就是用网线,或许可以搞一搞无线网卡双开工,上传限制,断点续传,但是目前还是网线最稳。
- Windows Server 如果用的评估版的话基本意味着阉割版,没什么意思。
求救
其实想用Mouse without border 但是并不知道端口使用范伟如有大神知道怎么调查Windows 程序的商品范围的话,请不啬赐教。