如何 DIY 一个自己的 NAS
我一直有个想法:等毕业后租房子后,淘一些二手服务器、交换机、机架,自己在家里搞一个私有云,私有云需要准备一些文件存储服务器,用于支持 KVM 热迁移或者是自己的一些数据备份。
NAS 是啥
NAS (Network Attached Storage)泛指网络附加存储,也就是一个存储服务器,你的多台设备可以通过网络连接到该服务器,读取里面的文件、往里面写入文件。最理想的状态下,NAS 的文件读写速度应该与本机的存储无太大差距,不过这可能需要读写速度更快的存储服务器和超过 10Gbps 的内网带宽。
NAS 的原理
NAS 原理很简单,便是一个存储服务器,通过特殊的协议与其他终端设备共享存储空间。常见的NAS协议如下:
- 网络文件系统 (NFS):该协议是 Linux 和 UNIX 系统的常用协议。作为一个供应商中立型协议,NFS 适用于所有硬件、操作系统或网络架构。
- 服务器消息块 (SMB):大多数使用 SMB 的系统运行的都是 Microsoft Windows,该协议在 Windows 中被称为“Microsoft Windows 网络”。SMB 是基于通用互联网文件共享 (CIFS) 协议开发的,所以它也被称为 CIFS/SMB 协议。
- Apple 文件传输协议 (AFP):运行 macOS 的 Apple 设备的专有协议。
如何 DIY 一个简易的 NAS 系统
网络上大多数 DIY NAS 的方法便是在 linux 服务器下安装 samba 相关的的软件,配置一个可以与 windows 共享的文件共享协议。而且,支持 SMB 协议的不只是 Windows 操作系统,安卓、苹果等都可以通过安装一些文件管理 app 来实现访问 SMB 协议的 NAS。
我也在自己的工作站上安装了 SMB 和 FTP 服务,通过千兆路由器与自己的笔记本连接,并将其挂载为网络位置,可以很方便的在计算机中访问到他,并且访问速度可以达到逼近 100 M/s 的传输速度。
常见的 NAS 系统
但上述的 DIY 方式其实很简陋,需要修改配置都需要在 NAS 服务器上手动调整,事实上也存在很多种专门的 NAS 操作系统。
- 群晖:群晖算是国产之光了,他的 NAS 操作系统非常的好用,被广大网友评价 “买系统送硬件” 但该系统只能用于群晖自己的 NAS 服务器,用于其他服务器需要破解且不够稳定;
- FreeNAS:FreeNAS基于FreeBSD系统开发,是现在最受欢迎的开源NAS系统之一,官方文档很全而且中文教程也很多。不过FreeNAS基于ZFS文件系统,只支持64位CPU,最小内存要求8GB,对硬件的要求比较高,主要面向企业级用户。
- OpenMediaVault:OMV是基于Debian的开源NAS系统。我比较熟悉Linux,所以更倾向于OMV。它本身就有很多插件,还有很多第三方的插件可以安装。如果想自己扩展其它功能(比如Aria2)的话也很方便,和其它Linux系统一样。OMV还有树莓派的版本,感兴趣的话可以下载试试。
- NAS4Free:NAS4Free是基于FreeNAS开发的,可以算是FessNAS的一个分支,最近更名为了 XigmaNAS。它对硬件的要求比较低,适合家用。不过文档和教程不多。
Reference
- KVM实战:原理、进阶与性能调优
- 自己动手搭 NAS
如何 DIY 一个自己的 NAS相关推荐
- 树莓派存储方案_还在用笨重的NAS存储服务器?你可以自己动手用树莓派DIY一个...
原标题:还在用笨重的NAS存储服务器?你可以自己动手用树莓派DIY一个 树莓派就像一台微型的电脑,麻雀虽小五脏俱全.利用它可以开发出各种各样的功能,其中就包括搭建一台迷你号的NAS网络存储服务器! 传 ...
- DIY一个粒子检测器 2020-10
➤ 01粒子检测器 在 TLE207x低噪声高速JFET-输入运算放大器的噪声特性测量 中实现了TLE207x的低噪声放大器.放置在金属盒屏蔽盒内进行信号放大. 基于上面的实验电路, DIY一个粒子检 ...
- 怎么DIY一个粒子检测器
01在家带娃能干什么? 最初是在今日头天-大数据文摘(2020-09-28)看到一篇文章 在家做核子研究:怎么DIY一个粒子检测器 ,介绍了Steve Foster(一个刚刚退休英国中央银行 TI ...
- DIY一个基于树莓派和Python的无人机视觉跟踪系统
DIY一个基于树莓派和Python的无人机视觉跟踪系统 无人机通过图传将航拍到的图像存储并实时传送回地面站几乎已经是标配.如果想来点高级的--在无人机上直接处理拍摄的图像并实现自动控制要怎么实现呢?其 ...
- 2、基于wsgiref模块DIY一个web框架
一 web框架 Web框架(Web framework)是一种开发框架,用来支持动态网站.网络应用和网络服务的开发.这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方 ...
- jQuery:从零开始,DIY一个jQuery(2)
在上篇文章我们简单实现了一个 jQuery 的基础结构,不过为了顺应潮流,这次咱把它改为模块化的写法,此举得以有效提升项目的可维护性,因此在后续也将以模块化形式进行持续开发. 模块化开发和编译需要用上 ...
- jQuery:从零开始,DIY一个jQuery(1)
从本篇开始会陪大家一起从零开始走一遍 jQuery 的奇妙旅途,在整个系列的实践中,我们会把 jQuery 的主要功能模块都了解和实现一遍. 这会是一段很长的历程,但也会很有意思 -- 作为前端领域的 ...
- 无需Docker, 5分钟徒手DIY 一个Linux容器
容器技术,其优势以及应用场景想必大家都不陌生.本文旨在用DIY一个简陋的Linux容器作为例子,让感兴趣的同学大致体会容器是如何建成的. 什么是容器? 提到容器最容易想到的大概就是Docker了, 然 ...
- DIY一个UNISOLDER焊台无线红外休眠座
前言 UNISOLDER5.2焊台是Sparkybg大神的开源作品,这款焊台让买不起原装的玩家以较低的成本享受到JBC的出色回温性能.目前UN实际使用中的休眠方案一个是Sparkybg的原创红外休眠和 ...
最新文章
- pip导包CalledProcessError: Command '('lsb_release', '-a')'异常处理
- 掌握 Ajax,第 7 部分: 在请求和响应中使用 XML
- semget创建文件_linux信号灯操作
- python链接mysql系统结构设计_MySQLpython交互
- 图神经网络(二)GCN的性质(2)GCN能够对图数据进行端对端学习
- 前端学习(1255):promise用法
- 【linux高级程序设计】(第十三章)Linux Socket网络编程基础 2
- 西瓜书——EM算法(一)
- osx+配置+php扩展,Mac系统升级到10.9(mavericks)时安装php扩展问题解决
- 集合框架(List、Collection、迭代器)
- java绕过加密密码_JAVA中使用MD5加密实现密码加密
- 矩池云升级JupyterLab版本教程
- 从时分复用、频分复用到码分复用(CDMA)
- @param注解什么意思_Java反射是什么?看这篇绝对会了!
- mysql 安装no key_No package mysql-server available错误解决(centos mysql安装教程)
- Youtube视频码率,帧率,分辨率那些事
- 小蜜蜂吉他谱 高八度和低八度
- 百度AI市场热品试用 | 台面式双目活 体检测USB摄像头
- php数字对应的大字母,PHP判断数字,字母,特殊符号,中文 - 米扑博客
- 极大似然估计详解,写的太好了!