你必须要知道的知识

新的征程!
一:磁盘了解
磁盘分类
固态硬盘SSD:容量小,读取快
机械硬盘SSHD:容量大,读取慢
固态机械结合硬盘HDD:混合盘

磁盘阵列(RAID)
磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,并在存储性能上、容错上会有一定地提升。
RAID是一类多磁盘管理技术,其向主机环境提供了成本适中、数据可靠性高的高性能存储。

★标准RAID
◇RAID 0
优点:使用 n 颗硬盘,即可拥有将近 n 倍的读写效能。
缺点:数据安全性较低,同组数组中任一硬盘发生问题就会造成数据遗失。
硬盘数量:最少 2 个。
◇RAID 1
优点:安全性依照数组里的实体硬盘数量倍数成长。
缺点:空间利用率是所有 RAID 中最没有效率的。
硬盘数量:最少 2 个。
在 RAID 0 追求效能极端的彼岸,存在着强调数据安全性的RAID 1,RAID 1 的数据储存方式恰好与 RAID 0相反,欲写入硬盘的数据被复制成与硬盘相同数量的份数,分别写入数组中的各颗硬盘。如此一来每个硬盘内都拥有着同份数据的不同拷贝,只要数组中的其中 1 颗硬盘还可使用,数据就不会遗失,可忍受 n-1 颗硬盘同时损毁(n 为数组中实体硬盘的个数)。
效能部分则分为写入和读取 2 种不同状况,写入时因为须将数据复制多份写入各颗硬盘,写入效能与单颗硬盘差不多;读取时则能够同时从各颗硬盘同时读取数据的不同部分,所以能够和 RAID 0 相提并论,约是单颗硬盘读取效能乘上数组中的硬盘个数,不过也有以单颗硬盘读取的设计。
数组可使用容量是 RAID 1 最大的缺点,由于各实体硬盘中的数据几乎是以镜像的方式储存,因此无论数组中放入了多少颗硬盘,可用容量都是以最小的那颗硬盘为主;同 RAID 0,如果数组中有着硬盘容量不一的情形,大硬盘的剩余容量能否可利用端看控制器的设计,之后的 RAID 模式也是如此,将不再赘述。
◇RAID 5
优点:兼顾空间利用率与安全性。
缺点:需要额外的运算资源,仅能忍受 1 个硬盘损毁。
硬盘数量:至少 3 个。
◇RAID 6
优点:容错硬盘数量比 RAID 5 多 1 颗。
缺点:运算量比 RAID 5 大、空间利用率比 RAID 5 低。
硬盘数量:至少 4 个。
◇RAID 2、3、4 呢?
RAID2、3、4较少实际应用,它们大多只在研究领域有实作。
★混合RAID
◇JBOD
JBOD 为 ”Just a Bunch Of Disks” 的缩写,意思就是「一堆硬盘」,指的是RAID 磁盘阵列以外的所有组态。
实作上 JBOD 有 2 种方式,第一种与我们直接将硬盘安装在计算机中相同,各颗实体各自管理自己的容量,当然也可进行磁盘区分割。第二种则是能够将不同实体硬盘的空间串在一起,例如 2 颗 1TB 硬盘串成 1 个 2TB 的空间运用,如此能够放入大于 1TB 的单一档案。
◇RAID 7
RAID 7并非公开的RAID标准,而是Storage Computer Corporation的专利硬件产品名称。
RAID 7的效能超越了许多其他RAID标准的实做产品,但也因为如此,在价格方面非常的高昂。
◇RAID N+N
在厂商支持的情况下,使用者甚至可以将 2 种以上的 RAID 组态放在同 1组磁盘阵列内,也就是有时可以看到的双位数 RAID 01、10、50、60……等。
建立的方式也很好理解,首先利用前位数字的 RAID 方式建立数组,接着再将后方数字所代表的数组建立其上。
譬如 RAID 10 就是先建立 2 组 RAID 1,接着这 2 组 RAID 1 再组合成 RAID 0;RAID50 就是先建立 2 组 RAID 5,接着再组合成 1 组 RAID 0。
当然,这种组合等级的成本一般都非常昂贵,因此只在少数特定场合应用。
★1+1大于2,SSD组RAID 0真的值得吗?[3] [4]
◇引言
在HDD机械硬盘横行的时代,有人为了追求性能而组RAID 0,理论上能获得双倍的读写速度提升,而在SSD固态硬盘时代中,RAID似乎变得更加麻烦了,因为二者的工作原理太不一样了,光是一个RIAD下的TRIM问题就困扰了玩家很久,直到RST 11驱动才解决。
SSD组RAID 0还有一个问题就是性能提升与成本提升不那么明显,因为主流SSD的速度已经够快,组RAID对随机性能提升也不明显,再加上成本方面的影响,SSD组RAID只是少数玩家才会考虑的事。
◇测试
Tom’s Hardware就做了一个类似的测试,对比是256GB SSD vs.128GB RAID 0、512GB vs.256GB
RAID 0下的SSD性能,包括连续读写、随机及日常应用等各个方面。
组成RIAD 0模式之后,SSD性能提升最明显的就是连续读写速度了,简单来说就是从500MB/s量级提高到了900-1000MB/s量级。
其实从随机性能上的测试来看,IOMeter中的数据库IOPS之类的性能也是有变化的,但是从延迟上来看RAID 0的延迟确实比单SSD要高了一点,PCMark及日常应用测试中其性能并没有随读写速度的提升而改善,有的甚至还下降了。
◇小结:读写速度提升,但总体弊大于利
所以,Tom’s Hardware的最终态度就是不赞成SSD组RAID 0,用户还是选择大容量的SSD产品,组RAID 0还要面临成本更高、风险更大等问题,所以还是单块大容量SSD算了,除非用户对连续读写速度有非常强烈的需要。
★选择适合的 RAID 模式
对于玩家们或是强调系统效能的主机来说,通常都是为了要来增加数据传输的速度。而对于重视数据备援及安全性的用户或是企业用户来说,磁盘阵列就是一个很好的数据保护模式。
像我们这种屌丝,一般只有一块SSD或一块SSD+一块机械硬盘,RAID好像没什么卵用。
但是近几年 NAS 这项产品的需求大开,不论是什么原因而购买了NAS 这项产品,大部分的用户都很难逃过「该选哪种 RAID 模式」这一关。
RAID 0 和 RAID 1 最少都需要 2 颗硬盘,RAID 0 是效能和储存空间的最大化,不注重安全性,因此比较适合放一些消失不见也没关系的档案,例如快取、或是整理档案时的暂存空间,RAID 1 则是安全性最大化,适合放一些重要的数据。
在 4颗硬盘规格的 NAS 产品中,RAID 5、RAID6、RAID 10则是可以放在一起探讨,以安全性来排序由高至低为 RAID 6>RAID 10>RAID5,空间利用率则是 RAID 5>RAID 6=RAID 10。此外还必须加入处理效能去探讨,如果处理效能不高,那么使用 RAID 10能够获得比 RAID 6、RAID 5 还要高的访问速度(因为不用运算校验码)。
二:企业存储系统
1.DAS存储架构(直连式存储)
eg:硬盘不够了,买个移动硬盘直接USB连接
2.NAS网络接入存储
eg:通过以太网连接(必须是局域网),比如连接树莓派
3.SAN存储区域网络存储
eg:交换机的专用网络
4.三者的区别

三:文件系统
介绍:
是一种存储和组织数据的方法,它使得对文件访问和查找变得容易
使用文件和树形目录的抽象逻辑概念代替了硬盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关心数据底层存在硬盘哪里,只需要记住这个文件的所属目录和文件名。
文件系统通常使用硬盘和光盘这样的存储设备,并维护文件在设备中的物理位置。
文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract data type)。
文件名
DOS操作系统中文件名由文件主名和扩展名组成,之间以一个小圆点隔开
文件名可用于用于定位存储位置、区分不同文件,计算机实行按名存取的操作方式
某些符合因有其特殊含义, - -般不允许出现在文件名中
元数据
元数据( metadata )又称之为解释性数据,记录数据的数据
文件系统元数据一 般指文件大小、最后修改时间、底层存储位置、 属性、所属用户、权限等信息
基于磁盘的文件系统
是在非易失介质上(磁盘、光盘)存储文档的经典方式。用以在多次会话之间保持文件的内容。包括Ext2/3/4、XFS、NTFS、FAT和iso9660等众所周知的文件系统。Linux中可以使用df -Th查看。


虚拟文件系统
在内核中生成的文件系统,比如proc。
proc文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux内核空间和用户间之间进行通信。
网络文件系统
网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制。
允许本地计算机访问另一台计算机上的数据,对此类文件系统中文件的操作都通过网络连接进行。