一、我们为什么需要专用的存储服务器?
随着接触到的计算机技术的深入,我们有必要将自己的资源进行存储、分类,有序的堆放起来。以及整理笔记、帮助文档等各种重要资源。
正所谓 硬盘有价,数据无价,
你如果在做运维,假如有一整套整理好的且随时可用的全版本镜像资源,那是一件肥肠nice的事情
如果你的文件是这样的
如此众多的文件,种类复杂,且文件极其庞大。而且会随着自己收集到的资源无限扩大。如果存到本地硬盘,先来后到的资料,各种各样的文件,难免会把本地磁盘搅的一团乱;而且机械硬盘一旦遭到不可逆的伤害,对数据就是毁灭性的打击。我觉得这种重要数据无备份随意存放到本地磁盘是十分不优雅的!
虽然我们可以养成良好习惯,定期把文件备份到阿里云、百度云,避免数据丢失;但是这样的操作是极其繁琐的。
我个人觉得这种存储方式十分的不优雅!假设你得到了一个新的工具软件,把他压缩好了进行重命名存到了文件夹,然后又将它上传到云盘进行备份。一次且还好,多次操作下来难免会极度烦躁
难道就没有高可用性的本地存储方案?这就是本期《数据安全:分布式存储》的主题了
二、方案介绍
本期主题:群晖NAS(Synology)
群晖NAS本质上是一个专用于存储服务的Linux系统,官方开放了引导镜像和系统镜像,由于自身系统对硬件要求极其的低,我们可以使用闲置且即将报废的电脑安装此系统。Synology NAS (Network Attached Storage),中文名为群晖NAS,是由群晖科技公司开发的网络附加存储设备(NAS)操作系统,其主要功能是提供网络存储、文件共享、数据备份、多媒体服务、远程访问等功能。群晖系统基于Linux内核,通过图形化的管理界面,使得用户可以方便地进行各种管理操作,同时也提供了丰富的官方套件以及第三方套件,可以扩展系统的功能和应用场景
群晖系统并且可以应对多种场景需求,利用群晖的生态安装各种套件可以达到各种需求。
1、搭建网站
2、搭建虚拟机平台
3、Docker
4、影片共享服务器
5、迅雷挂机下载
6、挂机下载直链
7、使用套件搭建内网穿透
8、使用套件挂载网盘到服务器
以及众多待挖掘的功能。
实施方案的技术要点:
1、计算机硬件基础知识,能够理解RAID(阵列)原理。
2、基础的网络环境知识,布线类型,带宽限制的问题。
3、动手能力!!
不会也问题不大,后期会有保姆级教程。
此方案需要达到的目的:
1、高可靠性:多个硬盘合为一个存储空间,即使有硬盘突然寄了,也能保证数据不丢失
2、高扩展性:当存储空间不足时,可自由扩展硬盘到阵列、存储空间,且不影响原有数据
3、高效率性:使用RAID技术以及群晖的缓存技术,大幅度提升读写能力
4、高效益性:使用最低的成本,创造最高的价值!
5、高可用性:可以满足文件类型复杂、文件大小巨大且高速传输的要求
最重要的是高冗余性,部署分布式存储的初衷就是打造一个高可靠的大容量存储服务器。
三、分布式存储方案选型
1、简单方案
简单一站式存储方案:单台裸机服务器安装群晖。
采购清单:
1、一块H61主板,能够正常引导启动即可【约60元】
2、一个CPU,因为群晖本身性能消耗极低,因此推荐G2030【20元】
3、一根2G内存条(要更多也行,无所谓的)【10元】
4、一个U盘,4G大小足够,用来做群晖引导盘。【10元】
5、至少四块机械硬盘,容量不限,但是每块的容量要相等【500G x4,22元/块,共100元】
6、千兆网卡(可选)【25元/张】
上述硬件的付出成本极其的低!300封顶!但是带来的服务能力已经远超这笔付出。
①在裸机上面安装群晖(后期出教程会把链接放在此处)
②将群晖部署网络环境(交换机、路由器,或者更高级的部署方式,如链路聚合)
③为群晖配置静态ip
④为群晖部署RAID 5阵列
⑤使用群晖创建共享文件夹,Windows将此文件夹挂载
⑥使用群晖创建iSCSI(一种网络磁盘)在Windows上面连接此iSCSI目标即可显示为一块真实存在的物理磁盘,传输带宽被网络限制
方案说明:
1、群晖的网络连接方式:
群晖作为一种网络存储设备,网络的连接方式便决定了其价值,H61主板自带千兆网口,传输速度可达100MB/s,可以再插一张网卡,设置第二个ip,拥有第二个100MB/s。也可以使用《链路聚合》将两张网卡合二为一,变成一张200MB/s的网卡, 但我并不建议这么做 。首先,你的网络设备要支持链路聚合(链路聚合,字面意思,将多个数据链路层聚合),其次你要有一定的网络部署经验,例如,对OSI七层模型的了解,接口带宽与传输介质带宽。并且,客户端电脑上面要享受到这个速度,客户端电脑的网卡是否能达到千兆、2500兆?相对应的网络设备接口带宽是否能达到要求等。这些都决定了传输文件的速度。
如果确实有高速度网络硬盘的需求,可以购买两张2.5G网卡,将群晖和电脑直连。因为同属一个数据链路层,只需要把ip配置在同一网段,即可通信,将主板原有的网卡接入局域网即可。
2、RAID5阵列:
什么是RAID?RAID就是一种提升硬盘利用率的部署方式
说白了,就是把多个硬盘变成一个硬盘!
试想一下,你有4块1T的硬盘,难道要存满一块了,再建立第二个硬盘的空间进行存储? 我认为这样是十分不优雅的!
RAID技术就把多个硬盘当成一个硬盘使用,而RAID 5就是使用方式了,RAID 5是一种综合了冗余性、性能的方案,RAID 5使用一块硬盘(视硬盘总数而定,如果一共4块硬盘,其中1块就是校验盘)作为校验盘,数据存储时分别存到其中3块盘中,当其中四块硬盘,随机一个幸运儿歇菜了,可以保证数据不丢失,以便运维人员及时更换新的硬盘修复阵列。
并且这样还有一个极大的好处 :数据分别被存到三块盘,性能会提升三倍,例如:机械硬盘一般是100MB/s的读写速度,现在组建了RAID 5阵列,理论速度就是300MB/s。当然会有一些损耗,不过都不重要。
阵列方案有很多,例如RAID 0、1、5、6等等,更高级的用法包括混合RAID(例如:使用两个RAID 5阵列组建一个RAID 0阵列),后面再细讲。
当四块硬盘组成的RAID 5 空间使用达到了饱和度可以将新购置的硬盘加入RAID,且并不影响原有数据。便在高冗余性的前提下保障了高灵活性、高扩展性。
3、磁盘挂载、iSCSI
这就是使用存储服务的方式,因为是共享式存储,在多台电脑可以快速的查阅到文件。并不用担心安全问题,群晖等级分权很严格,后期详细讲解。
并且根据存储部署方式,这个iSCSI在后面可以再次提升存储性能,扩展存储方案及灵活性。上面所讲,iSCSI基本上和物理磁盘无区别,在Windows上面如果有两个iSCSI,在网卡带宽允许的情况下,可以 不做链路聚合 ,也能享受到高带宽的网络磁盘。
2、虚拟化部署
ESXi虚拟化部署群晖集群方案:
VMware ESXi是一种虚拟化操作系统,由VMware公司开发。它是一种专门为虚拟化应用程序而设计的裁剪版Linux操作系统,用于在虚拟机中运行多个操作系统和应用程序。ESXi通常被用于构建虚拟化环境,允许多个虚拟机在单个物理服务器上运行。通过虚拟化技术,ESXi可以将硬件资源抽象化,从而允许多个操作系统和应用程序同时运行,从而提高了硬件资源的利用率。
此方案仅适合高速的外置存储需求,安全性略差,本人并不推荐使用
因此这种方案对硬件、使用环境的要求都比较高,并不推荐资源紧张的情况下使用
①服务器主板要求:需要有板载RAID功能
②服务器网络要求:服务器要有2.5G或万兆网卡,如果是千兆,那就没意义了
③使用环境要求:使用服务的电脑需要同等带宽网卡直连,或拥有同等带宽的网络设备
方案说明:
1、RAID方案变更
RAID分为软RAID和硬RAID,顾名思义,一个是有软件进行支配,一个由硬件进行支配,先不论硬RAID出现故障并不方便及时发现处理。 ESXi这个虚拟化平台并不支持软RAID。 这就意味着,必须使用主板自带的RAID功能组建RAID。一定要有丰富的硬件知识、经验,避免出现数据火葬场的惨烈后果!
2、极高带宽的网络环境
仅千兆的网卡对于存储服务器是绝对不够用的
此方案的好处:
一台机器运行群晖存储服务的同时,也可以运行其他的虚拟机提高服务器的利用性。因为本身群晖对资源的占用极其的低。
总的来讲,如果不是环境受限,我非常抵触这种部署方式,强烈建议不要使用这种部署方式作为自己的长期存储服务器
3、集群部署
节点分布式存储集群:
此方案是为了更高效的利用即将被淘汰的低配置配件,如果你拥有一步到位的硬件资源,可以略过此方案。
①服务器要求:至少两台,配置不限
②环境网络要求:拥有两张千兆网卡
方案说明:
两台群晖直连到主机,使用iSCSI分别挂载每台群晖的网络硬盘。再在客户端上面将两块iSCSI硬盘组建带区卷(RAID 0);可以使用极低的成本,将两台机器利用起来,作为高速的网络硬盘。文件也可以存储到高冗余性的共享文件夹。
并且也可以以套娃的方式分布式部署,一台前端的群晖(带宽要高)挂载其他的群晖,对共享文件夹进行集中管理,根据不同群晖的硬件性能,各司其职,综合利用。
四、总结
上述的三种方案在后文中进行详细部署操作分享。
系统始终都是群晖系统,只是部署方式、网络拓补的差异。群晖作为网络存储,始终只使用物理层、数据链路层、网络层的功能,购买多张网卡就可以极大程度的改变部署结构,提升服务能力,根据需求进行调节。千兆网卡非常廉价,完全可以自行购买,自行扩展。灵活度可谓非常高
简而言之部署高可用性、高冗余性的存储方案很多,但是这种方案极具性价比,可以说将即将卖废铁的电脑零件变废为宝,对于有众多资源的IT爱好者能提供极大的服务资源且拥有易维护、易扩展、易操作的特点。
群晖可以以极低的价格为个人、家庭以及各位IT爱好者带来极高的可用性,并且群晖的生态也拥有极高的可玩性,各种自制的套件,以及Docker环境。由于群晖基于Linux,更多高级的功能也可以尝试手搓一下。
关于群晖的安装、使用以及更高级的用法在下期文章中展示,敬请期待!
本文来自投稿:
FranXX.TecH
https://vioe.top/post/2
数据安全:分布式存储(一)项目简介
评论