• DIY-NAS-2020-04-23


    前言

    先说一点题外话,最近发现自己工作中出的很多问题都是因为不够细心和不够耐心,有的时候很鄙视人家的东西但是做都做不好。做不好,又拿什么鄙视人家呢?所以既然现在拒绝不了,那我就拥抱它,做到最好,才有机会证明自己的想法是对的,不然①直这个态度应该还会有什么好处吧。这也是今天写这篇文章的原因,从现在的每一件事情做起,做到耐心细心。不可能百分之百圆满,但要有因有果。

    认识NAS

    很遇然的知道了NAS这种神奇的东西,了解了一翻大概知道他的结构和用途。

    NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。

    我的理解是

    • 结构:一台低功耗一直运行的服务器。
    • 用途:日常家用服务器。

    看了网上大佬们组装NAS的方法大概有两种

    1. 直接买NAS主机,买回来之后开机即用就好了。
    2. 自己利用旧电脑,闲置硬盘等设备组装。

    为了了解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算了。

    遇到几个非常狗的问题

    1. FTP分主动模式和被动模式, 只映射21或22端口是不好用的。
    2. SMB也不是一个端口就可以搞定的,要好多接口。
    3. 使用WIFI情况下,访问FTP可能会跑断网,目前的方案就是用网线,或许可以搞一搞无线网卡双开工,上传限制,断点续传,但是目前还是网线最稳。
    4. Windows Server 如果用的评估版的话基本意味着阉割版,没什么意思。

    求救

    其实想用Mouse without border 但是并不知道端口使用范伟如有大神知道怎么调查Windows 程序的商品范围的话,请不啬赐教。

  • 相关阅读:
    tcp/ip协议listen函数中backlog參数的含义
    oracle exp实例
    js21---单体(单例)模式
    js20---接口3种方式
    js19--继承终极版本
    js18--继承方式
    js17---创建对象:构造函数式和原型组合模式、动态原型模式、稳妥构造函数式
    js16--自定义原型对象
    js---15,模拟数组的ecah方法
    js14--原型2
  • 原文地址:https://www.cnblogs.com/hoyu/p/12839932.html
Copyright © 2020-2023  润新知