数据存储对象包括处理过程中数据流生成的临时文件或处理过程中要搜索的信息。数据以某种格式记录在计算机的内部或外部存储介质上。NAS数据存储方式全面改进了以往低效的DAS存储方式。它使用独立于服务器的、为网络数据存储而开发的文件服务器来连接存储设备,并自行形成网络。这样,数据存储不再依附于服务器,而是作为一个独立的网络节点存在于网络中,所有网络用户都可以共享。
如前所述,云计算的本质是对有形产品(如网络设备、服务器、存储设备、各种软件等)进行改造。转化为服务产品,并让人们通过网络远程在线使用。计算资源主要指服务器(中央处理器、内存)、存储和网络。一方面,存储是虚拟内存的组成部分,另一方面,它也是软件和数据的存储场所。
CPU和内存通过主板紧密绑定在一起,利用主板上的高速并行总线进行通信。目前的技术无法将它们分开,也没有必要。但是,如果将存储与CPU分开(不是通过主板直接连接),会有很多好处,比如共享存储、无状态计算机、计算资源的方便横向扩展。
目前可以将CPU和存储分离的技术有很多,比如FC、FCoE、iSCSI、NFS、CIFS等。前三种是磁盘块共享技术,后两种是文件共享技术,还有块共享SAN产品和文件共享NAS产品。
一个磁盘块等于整数个磁盘扇区,一个磁盘扇区可以存储512字节的数据(现在大容量硬盘是4KB扇区),扇区是读写硬盘的最小单位。也就是说,小于一个扇区(512B或4KB)的数据一次不能从硬盘读取或写入。直接读取磁盘块不需要操作系统的参与,而是读取硬盘上的文件(比如复制“我的简历。doc”到u盘)需要操作系统的配合。根据存储和CPU的分离程度,存储可以分为以下三种类型。
1)外部存储:存储和中央处理器不在同一台计算机上。例如,存储区域网络和网络连接存储是独立的存储设备,通过以太网电缆或光纤与计算机连接。专用存储网络设备非常昂贵。随着以太网速度的不断提高,基于以太网的存储技术越来越普及。比如iSCSI,10Gbit/s的网卡可以提供1GB/s的理论速度。注意这里的单位是Gbit/s和GB/s,前者代表每秒多少位,一位是二进制数,要么是0,要么是1;后者表示每秒多少字节,一个字节等于8位。计算机中的一个字节在通过网卡传输之前需要加上一个校验位和一个停止位,所以一个字节在传输到网络时需要占用10位。
2)直接存储:内存直接插入主板,通过PATA、SATA、mSATA、SAS、SCSI或PCI-E接口总线进行通信。传统机械硬盘一般采用PATA、SATA、SAS、SCSI接口。与外接存储相比,机械硬盘直接插在主板上的速度优势越来越不明显,但固态硬盘(如mSATA、PCI-E)的速度优势明显,尤其是PCI-E固态硬盘,代表了行业顶级的存储技术。
3)分布式存储:通过分布式文件系统,每台计算机上的直接存储被集成到一个大存储中。对于参与存储的每台计算机,既有直接存储,也有外部存储,因此分布式存储集成了前两种存储方案。由于需要使用分布式文件系统来集成分散在每台计算机上的直接存储,并使其成为一个单一的命名空间,因此涉及的技术、概念和体系结构都非常复杂,并且还会消耗额外的计算资源。
服务器存储区域网络(Server SAN)逐渐被数据中心所采用,发展迅速。Ceph分布式存储系统属于Server SAN,被很多云中心采用。目前,软件定义存储(SDS)的概念是分布式存储。存储的评估指标包括容量、速度、每秒读/写次数(IOPS)和可用性。“容量”很容易理解,即可以存储的数据总量。
在实际项目中,我们更在意有效容量,比如4个1TB硬盘,加起来就是4TB,但如果这4个硬盘是镜像的(RAID-1),那么有效容量就是2tb;如果制成RAID-5,有效容量将再次不同。容量需求容易满足,一般采用水平扩展。“速度”是指每秒传输的数据量,速度和带宽是同一个概念。
IOPS是最重要的指标,它被定义为每秒响应读(或写)操作的次数,反映了并发性和随机访问能力。IOPS与磁盘的速度和平均寻道时间密切相关,磁盘的平均寻道时间为4 ~ 12 ms,对于转速为7200rpm的磁盘,我们可以计算出IOPS的近似值:1000÷[1000÷(7200÷60)÷2+8]= 83。对于单个磁盘,“读/写”磁盘在微观层面上是串行的。
比如100人同时访问磁盘时,磁盘会逐一响应用户的请求,但在宏观层面上却表现出并行性,即一秒钟内有100人同时访问磁盘,给人一种并行的假象。有许多方法可以改善IOPS,例如使用更好的硬盘(如固态硬盘),增加磁盘数量并分散对每个硬盘的访问,或者使用更多的缓存,以便经常访问的内容驻留在缓存中。租用服务器可咨询梦飞云idc了解。