准备组建一个NAS服务器
要实现全网的千兆,必须所有的网络设备都能达到千兆的标准,否则就会像木桶的短板效应一样,水桶装水的多少是由最短的那块木片决定的。局域网内仅一两台设备实现千兆网接入是不够的,需要网卡、网线以及千兆交换机都必须达到千兆的标准,这样,才能实现局域网内千兆。而要实现千兆WIFI,目前成本太高。
由于阿里云线上有NAS存储,又不能公网访问,所以本地通过软件构建一个NAS以供测试。
NFS的挂载原理
NFS分为客户端与服务器端,一般设置为一个Server端,多个客户端,也可设置为多对多,当服务器端设置好共享目录/data后,客户端通过相应的访问权限,将共享目录挂载到本地系统的某个目录下,就可以透明的看到共享目录里的文件了,依据服务器制定的相应权限做操作
NFS服务器与客户端的通信原理
客户端NFS和服务端NFS通讯过程
1)首先服务器端启动RPC服务,并开启111端口
2)启动NFS服务,并向RPC注册端口信息
3)客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
4)服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
5)客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
NFS系统守护进程
nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;
mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。
当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务所提供的文件前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
portmap:主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。
环境:
新建一个虚拟机,系统安装使用最小化安装,可参照我前面的文章,有详细介绍。一般情况是系统盘是和数据盘分开。系统盘在线上我一般情况是分配20G,如果是容器等应用系盘我会分配50G,当然如果是有很多镜像的容器环境,那么我会系统将/var/lib/docker等用单独的数据盘来挂载。
安装配置NAS文件共享存储
1、服务端安装
2、关闭防火墙
3、配置nas
配置文件:/etc/exports
共享目录创建:
4 本地NAS存储目录 1921682300/24(授权访问客户端的地址段)
5 重新加载NFS配置
参数说明:
rw:可读写的权限
ro:只读的权限 anonuid:可以自行设定这个UID的值,这个UID必需要存在于你的/etc/passwd当中anongid:同anonuid,但是变成groupID就是了 sync:资料同步写入到内存与硬盘当中 async:资料会先暂存于内存当中,而非直接写入硬盘 insecure:允许从这台机器过来的非授权访问
no_root_squash:登入NFS主机,使用该共享目录时相当于该目录的拥有者,如果是root的话,那么对于这个共享的目录来说,他就具有root的权限,这个参数『极不安全』,不建议使用
root_squash:登入NFS主机,使用该共享目录时相当于该目录的拥有者。但是如果是以root身份使用这个共享目录的时候,那么这个使用者(root)的权限将被压缩成为匿名使用者,即通常他的UID与GID都会变成nobody那个身份
all_squash:不论登入NFS的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是nobody
6 启动服务
7 设置开机启动
8 查看端口占用,以便开着防火墙的时候设置,如果闲麻烦,可以通过限制访问IP
Linux nfs客户端安装
vi /ettc/hosts
在末尾加入
开机自动挂载
vi /etc/fstab
##尾行下面新增加一行写入
注:_netdev表示设备需要网络
1、硬件安装
先打开硬盘仓,将硬盘放入并用提供的螺栓固定,然后推上硬盘仓,注意不要用蛮力。将NAS通过网线接入局域网,也可直接与计算机连接,连接电源,启动 NAS。
2、软件安装
QNAP提供三种方式安装系统:在线安装、云端安装和 CD安装(部分机型已不提供安装CD),在线安装需下载 Qfinder软件,而云端安装则不需下载安装软件到本地。在线安装和云端安装的入口均在此:startqnapcom选择好机型按提示进行即可。
安装过程中会初始化设定硬盘,时间受硬盘容量影响,2T机械硬盘整个安装过程大约需40分钟。初始化设定的硬盘会清除其上的所有内容,设定好后硬盘无法直接在 Windows环境下读取,需经过 NAS对其进行操作。
3、使用
使用前需对 NAS进行一些基本设置,保证最大限度发挥 NAS的功能。用 NAS分得的局域网地址进入 NAS管理页面,初始用户名密码均为 admin,记得及时更改。
4、基本设置
(1)进入控制台-系统设定-一般设定,更改系统通讯端口为非80的其它口,因为 ISP互联网服务提供商如电信,都将家庭用户的80端口入站访问封闭了。
1 序
前段时间终于把自己设想了好久的家用NAS配好了,想好好写一下自己的心得,希望对别人有一点帮助,也希望和大家交流关于ZFS和Freenas的意见和想法。
2 你需要NAS吗?
你认为数据的价值很重要,愿意投入一点资金来降低数据丢失的风险。比如,你自己原创的文字和、各种word和excel的文件、各种照片和视频,这些原创性的内容都是全世界仅此一份的,还有一些你认为很难再从网络上下载到的资源,这些内容都需要一个比台式机(或者手提电脑)、U盘、移动硬盘和光盘等,更安全可靠的储存方式。由于网络条件和价格的限制,或者是由于对云储存的不信任,把大容量的文件备份到云端好像也不是最好的选择。
你的家庭网络内有2台或更多的电脑,需要中转空间来传递文件,特别是大容量的文件。如果只有2台电脑的话,网络邻居共享或者FTP访问也算可行。但如果3台或更多电脑,动辄几个G容量的内容,还要分发到每一台电脑,这个时候如果有一个大容量、访问速度快的共享储存空间就方便很多了。
如果以上两段描述符合你的实际,那么你应该开始考虑入手一台NAS了。
3 买成品还是DIY?
31 NAS与其它备份手段的比较
311 U盘和移动硬盘
NAS一般容量相对比较大。如果U盘和移动硬盘也是在线使用,除了RAID 0的配置,个人觉得其它RAID配置的可靠性都比U盘和移动硬盘好。当然,如果把U盘和移动硬盘作为离线备份的手段,可靠性应该会提高不少,不过要牺牲部分的数据可用性。
312 光碟(DVD和蓝光)
如果是可擦写的,每次重新擦写的速度比较慢。如果是不可擦写的,倒可以作为离线备份的手段。数据的不可更改始终会带来不方便,比如整理好资料目录,刻碟完,结果以后又发现要往中间加内容。
313 云储存
主要有三方面的限制:速度、容量和价格。那些不是世界知名的IT巨头搞的,会担心它不知道哪一天就宣布停止服务。Amazon的S3倒是信得过(相比之下),但是访问速度和价格又是个问题。
32 成品NAS和自己DIY的区别
321 安全性、价格和售后服务
几个著名的品牌(如synlogy、qnap、thecus、zyxel、buffalo、netgear等等)提供的家用NAS,大部分最多到六盘位,组RAID 6吧?(不知道可不可以组多个RAID 1),理论上是最多允许两只硬盘损坏。如果是自己DIY的话,无论是硬RAID或者基于ZFS,RAID的配置都可以更加灵活,只要硬件配置跟得上,提供更高的可靠性完全没有问题。
盘位越少,成品NAS的价格貌似更有优势。假如需求只是两个盘组RAID 1,那毫无疑问成品NAS更便宜。DIY的话,固定成本是主板、CPU、内存、机箱和电源(或者加上RAID卡),硬盘数量一般不少于3个。同样是4个盘位,不算硬盘的话,DIY的价格已经大大低于成品NAS。6个盘位,京东上有个要9k+,自己DIY的话,2k搞定。
自己DIY的NAS,各个零配件的售后服务要看你选择的硬件品牌的生产商。整台NAS在组装和调试的时候,以后的使用中要排除故障或增加功能,都需要你自己在网上找资料或者和别人讨论,所以如果你是伸手党,还是买成品NAS好了。
322 功能、灵活性和功耗
成品NAS提供的功能,大部分可以通过各种开源的解决方案来实现。而DIY的NAS提供的灵活性,比如和htpc或者网关结合在一起,硬件配置的更改都是成品NAS所不能比拟的。
功耗方面,DIY的NAS要追求低功耗,可以选择直流电源+整合主板,貌似网上也有人可以做到待机十几瓦的。个人就觉得没必要苛求,相比节省的电费,我更希望电源和UPS都稳定可靠,机箱内空间够大方便散热。
323 噪音控制和外形
现在很多DIY的机箱,也足够小巧和精致了,摆在客厅或书桌台面都完全没问题。舍得花钱的话,用无风扇电源和CPU散热器,加上机箱内全用静音风扇,相信可以把噪音控制在非常低的范围。
33 DIY NAS的种类
首先要把专用和多用途的NAS区分开来。专用的NAS一般只提供文件共享和相关的网络服务,可能也作为247的下载机。多用途的NAS有的是作为HTPC,连接电视来直接播放媒体内容,也有是利用虚拟化,通过一台硬件服务器提供网关、媒体服务器等多台虚拟服务器的功能。主要有以下三种组建RAID的方式:
软RAID,利用主板芯片组自带的功能组建RAID。性能比不上硬RAID,和ZFS的比较我不清楚,感觉应该也不如。好像有些软RAID认主板,转移的时候一定要同型号的主板才可以认出来原有的RAID配置,也有人说intel的是认芯片组,不要求同型号主板。虽然不需要额外的硬件RAID卡投入,也限制了安全性的提示和功能的扩展,除非是换主板。
硬RAID,在主板上插RAID卡,RAID卡再接硬盘。注意有些便宜的RAID卡其实是把运算交给CPU的,自己纯粹就是一个接口。一般好的硬RAID卡上有专门的运算芯片,还要带电池,防止数据丢失。硬RAID是目前最主流的解决方案,价格范围广,可以投入很小,也可以很发烧。
基于ZFS,不需要安装RAID卡,也不利用主板芯片组的RAID功能。硬件配置丰俭由人,数据安全可靠。。。(ZFS的特点请看41)
4 软硬件配置
41 ZFS的特点
请允许偷懒一下,介绍ZFS的资料网上已经有很多了,如果有兴趣,一定可以深入了解,
简单来说,基于ZFS的储存,不怕断电(就算正在写入的时候断电了,数据也不会损坏或者丢失,用硬RAID卡的有可能的哦),有快照功能,不怕误删除(而且快照占空间很小),可以通过加入固态硬盘来大幅提高读写性能(跑满千兆局域网很轻松),容易扩充(把原来的RAID里面每个硬盘都换成容量更大的,总容量自动增加),硬件无关(换主板都毫无压力),操作简单(常用命令才几个,如果是用Freenas的图形管理界面的话,更加简单)。
42 操作系统的选择
所有支持ZFS的操作系统(或发行版)都可以在ZFS的wiki查到,主要用来做NAS的系统有以下几个:
421 Oracle Solaris和 OpenIndiana
Oracle Solaris的zpool(ZFS的管理软件)版本最新,不过是商业软件;OpenIndiana是OpenSolaris的后续,开源的,我自己没有用过,跟FreeBSD一样,应该没有ZFS的图形管理界面。
422 FreeBSD
网上介绍也很多,简单说就是稳定、稳定和稳定。我在virtual box里面用FreeBSD,对照着文档,测试过ZFS的各种操作和功能。另外,FreeBSD的Handbook写得非常好,有中文版哦,喜欢折腾的同学首选。
423 Freenas
主角登场,热烈鼓掌!安装简单,界面清爽!第5章将会介绍安装和配置的过程。这是一个商业公司维护的开源,基于FreeBSD,专门用于NAS的系统。
424 NexentaStor Community Edition
跟Freenas一样,都有ZFS的图形管理界面,根据网络上的测试报告,貌似这个的IO性能比Freenas好。一点小限制是免费版最大容量为18TB。
43 硬件配置
431 终于写到我最喜欢的部分了,确定硬件搭配让我纠结了n长时间,最终结果兼顾了钱包、个人喜好和性能,还算满意。我的NAS的配置如下:(推荐配置从432开始)
UPS:APC Smart-UPS SC420
(UPS最重要,所以排第一。虽然说ZFS不怕断电,不过有个在线式的UPS,应付各种拔插头、按开关和电网的浪涌,还可以接NAS的串口实现市电中断时自动关机,实在是硬件配置里面的MVP。这个UPS是以前买的,伏安只有420,容量有点小,现在拖三个硬盘,估计拖5个没问题)
电源:全汉(FSP)蓝暴节能版360
CPU:AMD A4-3300
技嘉(GIGABYTE)GA-A75M-D2H
(选这个主板CPU的搭配是因为功耗较低又有较多的SATA 6G接口,最大内存又可以到32G,跑ZFS的话,内存越大越好。写文章的时候才看到技嘉出了F2A75M-D3H,更加适合,搞到我都想换主板了,T_T)
三星(SAMSUNG)DDR3 1600 4G 2
西部数据 WD20EARX 3
(这三块硬盘是跑去广州的百脑汇买的,第一次的时候自己小白了,居然买到两块是换标签的WD20EARS,只好跑多一次去换,大家如果在电脑城买的请小心)
联力PC A04A
(我是第一次用联力机箱的土人,一边安装一边赞叹“做工果然好啊”,然后各种调整硬盘位置,各种拆装硬盘笼子,各种调整走线。等写完这篇文章的第一版再补上)
因为一开始就确定了NAS要配已有的UPS,而且不兼任HTPC,所以我的NAS是放在书房里面的。书房里面有一台D-Link的5口百兆交换机,连接一台台式机,一台手提和NAS,再通过电力猫连接整个家庭网络的核心交换机和无线路由Linksys WRT610N。
功耗测试用的是深圳北电的电力检测仪,实测数据如下:
关闭NAS电源(全汉蓝暴)上的开关,0 W
打开NAS电源上的开关,NAS未开机,32 W
按NAS机箱面板的开关开机,功耗一直爬升,最高达到 72 W
NAS的启动过程结束,进入正常状态,44 W
测试连续读取,通过百兆的LAN连接,台式机播放NAS共享出来的mkv文件,44W
测试连续写,用FTP上传大文件,速度大概10MB/s,56W
在NAS的web管理界面点关机,等到机箱的电源指示灯熄灭,15W
另外,在Freenas里面可以设置每个硬盘的电源选项,比如多长时间之后进入待机。我这台NAS现在还负责BT下载,所以硬盘是一直没有停的,测不了全部硬盘都进入待机时候的功耗。
432 普通版配置
强烈推荐UPS作为标配,花的钱不多,可靠性大幅提高。后备式的也可以接受。注意UPS一般容量标的是伏安,要转换成瓦特。这里插播一段网上找来的计算硬盘功率的方法:先通过spec sheet找到硬盘12V的最大电流(据说就是启动的时候了),比如WD20EARS的是175A,然后在硬盘标签上找到5V的电流,这个例子里面是055A,所以这个硬盘的最大功率就是12V x 175A + 5V x 055A = 24W。在挑选UPS和NAS的电源的时候就要注意考虑功率了。当然,服务器专用的主板通常有逐个启动硬盘的功能,可以降低对功率的要求,这个在高帅富版的推荐配置里面谈。
千兆网络,你懂的。
最少三个硬盘,组RAIDZ 1,可以承受其中一个硬盘损坏。ZFS当然也支持条带(RAID 0)和镜像(RAID 1),还有RAIDZ 2和RAIDZ 3,还可以加热备,加L2ARC等等,看需求和预算来配置吧。如果你的配置里面硬盘数量超过9个,最好分组,具体参考:
http://docfreenasorg/indexphp/Hardware_Recommendations
8G+ 的内存,跑ZFS的话,内存越大越好,所以挑选主板的时候注意选最大内存容量比较大的。
一个4G+的U盘,做系统盘。把Freenas的系统装在U盘上是最简单快捷的,还可以把这个系统U盘备份多几个。安装到硬盘上的话,Freenas一定要独占整个硬盘,浪费空间和一个SATA接口。
433 屌丝版配置
百兆网络,我用的就是了,泪奔。
两个硬盘,组镜像。其实这个组合也很灵活,以后你可以把这两个硬盘都换成容量翻倍的,那么你的ZFS的容量也翻倍。或者再增加一对镜像配置的硬盘,跟原有的镜像做条带,总容量也可以增加。再或者为了提高可靠性,加入第三块硬盘到镜像里面,变成1:3的镜像,ZFS果然很灵活吧,呵呵。
4G内存,最低配置了。
434 高帅富版配置(其实这些高端硬件我也不是很懂,不过yy起来好爽,哈哈)
全屋强电弱电的防雷装置,这个算题外话,不过确实很必要,特别是多雷雨的地区。
在线式UPS,作用前面讲过了。
冗余电源,这个算服务器的基本配置了吧。
服务器主板、服务器CPU和ecc buffered内存。可以用容量更大、可靠性更高的内存,可以接更多的硬盘,可以热插拔,可以ooo,可以xxx。。。
SAS硬盘,N个,怎么组RAID就只看对容量、可靠性和速度的需求了。记得其中一些硬盘做热备。
固态硬盘,N个,做L2ARC,大幅提高NAS的读性能;做ZIL(ZFS Intent Log),大幅提高NAS的写性能。
千兆网卡,N张加上支持LACP(链路聚合)的千兆网管交换机,突破千兆局域网的带宽就靠它们了。
机箱,塞得进上面所有东西的,随便挑吧。
作为高帅富,当然不只一套房子了,请把以上配置克隆到每一套房子,这样就可以实现异地容灾远程镜像自动备份了,鼓掌!
5 Freenas的安装和配置
大概的流程是这样的:
把映像文件写到U盘
用U盘启动,进行初始化设置,包括网卡、DNS和Web界面的密码
创建volume
设定scrub(对volume的定时检查)
在volume里面创建dataset(dataset是Freenas里面的管理单位)
针对dataset设置snapshot(快照,用于回滚和远程备份)
建立用户和用户组
针对dataset设置权限
设置share(有CIFS、NFS、iSCSI、AFP等等)
从客户端测试(测试连接和读写权限)
备份配置文件和系统U盘 。
0条评论