存储面临三大挑战:1、性能挑战;2、容量挑战;3、可用性挑战
由于存储介质单位容量密度提高,存储设备出现错误数也增多,而容量增长往往会放大存储数据的出错概率,进而有影响到数据可用性。
对此,按照冗余放置、分散布局等方法来组织和管理存储数据,已成为构建高性能、大容量、高可用性存储系统的一种技术趋势。
现在的存储系统是具有:计算处理单元、数据存储空间、网络传输部件的独立计算机系统,能够提供独立的数据存储服务。
随着存储系统规模的增大,存储管理开支的增长速度远高于硬件投资的增长速度。——应对:存储虚拟化技术。
存储虚拟化在存储设备上加入一个逻辑层,通过逻辑层访问控制资源
IT系统是在计算机系统的基础上所进行的扩展和延伸,由软件资源、计算资源、网络资源和存储资源组成。
存储系统是指计算机中由存放程序和数据的各种存储设备、控制部件及管理信息调度的设备(硬件)和算法(软件)所组成的系统。
计算机的主存储器不能同时满足存储速度快、存储容量大和成本低的要求,在计算机中必须有速度由慢到快、容量由大到小的多级层次存储器,
以最优的控制调度算法和合理的成本,构成具有性能可接受的存储系统。
计算机系统中存储层次可分为高速缓冲存储器(Cache)、主存储器、辅助存储器(外部存储)三级。
设计和部署存储系统需要理解I/O访问路径,是指 指令和数据在存储系统中传递的通道。
包括物理过程和逻辑过程,前者是数据在硬件部件上实际流动的过程,后者是软件对数据处理的过程。
文件系统(File System,FS)是操作系统用于存储文件的方法和数据结构,即在存储设备上组织文件的方法。
为了访问硬盘中的数据就必需在扇区之间建立联系,也就是需要一种逻辑上的数据存储结构,文件系统负责建立这种逻辑结构,
在硬盘上建立文件系统的过程通常称为“格式化”。例如:硬盘数据的管理通过文件分区表,记录数据的地址,然后通过地址记录实现对数据的读取。
常见的计算机系统的为主机文件系统,也称为本地文件系统。
还有一类重要的文件系统是分布式文件系统,其均为客户端/服务器端(Client/Server,C/S)架构,数据保存在服务器端,
而客户端的应用程序能够像访问本地文件系统一样访问位于远程服务器上的文件。
SNIA对存储虚拟化(Storage Virtualization)的定义如下:“The act of abstracting , hiding , or isolating the internal function 【of】 a storage(sub)
system or service 【from】 applications , computer servers or general network resources 【for the purpose of】 enabling application and network
independent management 【of】 storage or data ”其含义是,通过对存储(子)系统或存储服务的内部功能进行抽象、隐藏或隔离,使存储或数据的管理
与应用、服务器、网络资源的管理分离,从而实现应用和网络的独立管理。
对存储服务和设备进行虚拟化,能够在对下一层存储资源进行扩展时进行资源合并,降低实现的复杂度。
数据块级虚拟化的两个典型案例是RAID和SAN(存储区域网络,Storage Area Network)
文件级虚拟化的典型案例是分布式文件系统。(Lustre、HDFS)
用户最终通过问及系统提供的访问接口来存取数据。在Linux环境下,最好的方案是提供可移植操作系统接口(Portable Operating System Interface of Unix,POSIX)
的支持。