信息存储与管理(二)

接上文 信息存储与管理(一)
在这里插入图片描述
每个盘片上都有两个读写头,每面各一个。

磁道是盘面上以主轴为圆心的一组同心环,磁道从外向内依次被编号,最外面磁道的编号为0。
在这里插入图片描述
元数据(Metadata):存储扇区号、磁头号或盘面号、磁道号等,帮助控制器在磁盘上定位数据。
磁盘的记录方式有两种
1.旧式——非分区记录方式(不同磁道扇区数相同)
2.新式——分区记录方式(不同磁道扇区数不同)
新的解决方式认为,既然磁盘越往外面积越大,那就应该划分出更多的扇区,每个扇区的面积都是一样的,容纳的数据量也是一样的。
越靠外的磁道性能越好。
CHS:利用磁盘物理地址进行定位。
LBA:逻辑块寻址,使用线性地址访问物理块的数据。
磁盘服务时间:磁盘完成一个I/O请求所花费的时间。
• 寻道时间:移动驱动臂将读写头移动到正确的磁道上所需要的时间。一般在3~15ms。
• 旋转延迟:读写头移到特定磁道,同时盘片旋转,将扇区移到读写头下面。5400r/min的磁盘平均旋转延迟为5.5ms,15000r/min的磁盘为2ms。
• 传输速率:每个单位时间内磁盘能够传输到HBA的平均数据量。
读写操作的数据传输速率分为内部和外部。
内部传输速率:数据从一个盘面上的单个磁道传输到内部缓冲区的速率。包括寻道时间
外部传输速率:数据从接口移动到HBA的速率。通常外部传输速率是接口所宣称的速率。
在这里插入图片描述
U指的是I/O控制器的利用率
Rs是服务时间或控制器处理一个请求的平均时间
a是到达速率,或者单位时间内达到系统的I/O请求的个数
1/Rs是服务速率
Ra=1/a,平均内部到达时间
利用率U=Rs/Ra
平均响应时间R=Rs/(1-U)
队列中的请求个数也被称作平均队列长度NQ=U²/(1-U)
一个请求在队列中的等待时间=U*R
响应时间随着利用率增加呈非线性的变化,队列负载增加时,响应时间逐渐增大, 当利用率超过曲线转折点后,响应时间呈指数增长。

主机的逻辑部件
主机的逻辑部件由应用软件和协议组成。主机的逻辑部件包括:
• 操作系统(OS):支持数据访问,监视和响应用户动作。它组织和控制着物理资源并负责分配。
• 设备驱动程序
• 卷管理器(VM):逻辑卷管理器(LVM)把几个小的磁盘组合成一个大的虚拟磁盘。优化存储访问,简化存储资源管理,允许管理员改变存储的分配而不用改变硬件。LVM的基本部件是物理卷(PV)、卷组(Volume Group)和逻辑卷(LV)。
物理卷(PV):每个连接到主机系统的物理磁盘。
LVM把由物理卷提供的物理存储空间转换为逻辑存储空间。一个卷组的创建是把一个或多个物理卷变为一组。在卷组创建时,每一个物理卷都被划分为若干个相同大小的数据块,这些数据块称为物理区域。一个卷组可以划分为许多逻辑卷。一个逻辑卷可以由不连续的物理分区组成,并可以跨越多个物理卷。
• 文件系统
• 应用
数据访问可以分为块级别和文件级别两种方式。取决于应用程序是使用逻辑块地址,还是使用文件名和文件记录标识符来读写磁盘。
文件级别访问,通过指定文件名和路径来访问数据,屏蔽了逻辑块编址(LBA)的复杂性。
带日志的文件系统缩短了文件系统检查时间,保证了文件系统的完整性。
总的磁盘服务时间(Rs)是寻道时间(E)、旋转延迟(L)和内部传输时间(X)的总和。
E是由I/O请求的随机性决定的。
旋转延迟是旋转一圈时间的一半。根据磁盘旋转速率r/min来计算。
内部传输时间(X)可以根据I/O块大小来计算。
每秒最大的I/O服务次数。即IOPS=1/Rs。

第3章:数据保护 RAID

外部RAID控制器:基于阵列的硬件RAID技术。 条带尺寸等于从单个硬盘一次所能读取或写入的最大数据量。
分条中所有的条带都含有相同数目的磁盘块。减小条带尺寸就意味着数据将更分散地存储在多个物理磁盘上。
校验磁盘中校验值计算采用的是位异或(XOR)操作。
奇偶校验所需的额外磁盘开销小,但是校验信息随着数据改变而需要重新计算校验值,耗时将影响RAID控制器的性能。
RAID0:能够并发地读写更多的数据。 适用于大I/O数据块的应用程序。无法提供数据保护和应对磁盘故障的高可用性。
RAID1:数据镜像。
RAID10:数据首先被镜像,然后再将两个副本分别分条存储在RAID集的多个硬盘上。当替换故障磁盘时,我们只需重建镜像。适用于写密集、随机访问、数据量小的I/O负载。RAID01实际几乎无人使用。当一块磁盘失效时,整个条带都将失效,重建操作必须复制整个条带。
RAID3:存储分带,奇偶校验。可允许一块磁盘损坏。数据总是以整个条带为单位读写的,所有磁盘能够并发地执行操作,不存在只更新某一条带中某些存储带的部分写操作。
它为传输大量数据提供了很高的带宽,常应用于视频流服务等涉及大量顺序数据访问的场景中。
RAID4:奇偶校验信息存储在一个专用磁盘上,以备磁盘损坏时重构数据。与RAID3不同的是,数据磁盘支持独立访问。某个数据单元可以从单块磁盘中读写,而无需访问整个条带。有较好的读写吞吐率。
RAID5:RAID5中,校验值分布存储在所有磁盘上,克服了校验值写性能瓶颈的缺陷。
RAID6:引入了第二个校验元素,允许两块磁盘同时失效。至少需要4块磁盘。写代价大,写性能弱于RAID6。重构操作慢一些。

写代价:每个写操作都会对磁盘产生额外的I/O开销。
RAID1每次写操作都需要在两块磁盘上同时进行,写代价为2。
RAID5每当控制器执行一个写操作,都必须先从磁盘读取旧校验值和旧数据,才能计算新的校验值。每次写操作,控制器都执行了2次读、2次写操作,RAID5的写代价为4
RAID6中维护了2个校验值,一次磁盘写操作实际上需要完成6次I/O操作,其写代价为6。

第4章 智能存储系统

智能存储系统:前端、缓存、后端和物理磁盘。
在这里插入图片描述
前端
前端提供了存储系统与主机之间的接口:前端端口和前端控制器。
前端端口使主机连接到智能存储系统。每个前端端口有SCSI、光纤通道、iSCSI等相应传输协议的处理逻辑。一般在前端提供冗余的端口。
前端控制器通过内部数据总线把数据传入缓存。缓存收到数据后,控制器向主机发出一个应答消息。控制器用命令队列算法优化I/O处理。前端命令队列有:
1. FIFO(先进先出算法):默认算法,性能最差
2. 寻道时间优化算法:减少读写磁头的移动
3. 访问时间优化
高速缓存
半导体存储器,用来暂存数据。物理磁盘最慢,从物理磁盘中访问数据通常需要几毫秒,而从缓存中访问数据只需要不到1ms。缓存最小分配单位是页或槽,缓存由数据存储(保存数据)和标签RAM(记录数据在数据存储中和磁盘中的位置)组成。标签RAM中有个脏标志位,记录了数据是否已经保存到磁盘中。还保存了时间信息,通过最后访问时间来淘汰出缓存。
读缓存命中:主机发出读请求,前端控制器通过标签RAM查询数据有没有在缓存中保存,如果在缓存中找到请求数据,就称为发生了一次读缓存命中,数据可被直接送到主机,中间不发生任何磁盘操作。这时能快速响应主机(大约1ms)。如果没有在缓存中找到,则称为发生了一次缓存未命中,数据从硬盘读取,由后端控制器负责访问相应磁盘并读取请求的数据。缓存未命中增加了I/O响应时间。
读请求是顺序的,一般会采用预读的算法,一组连续的磁盘块被读取,一些还没有被请求的提前读取到缓存中,增加了读命中,显著减少了对主机的响应时间。
智能存储系统提供了固定和可变的预读长度,当I/O大小统一时最合适。最大预读值用于限制预读数据块的数量,防止预读占用大量磁盘操作影响其他I/O。
读性能可以用命中率表示,命中率是读命中数量比总请求数的比值。
在这里插入图片描述
在这里插入图片描述
有限的缓存多用于小的、随机的I/O访问中,大的I/O请求会直接发送到磁盘以防止这些写入占用大量的缓存区域。
全局缓存:读写操作都可以任意使用空闲的内存,全局缓存根据读写缓存的比例动态调整。
缓存管理算法:
最近最少访问算法(LRU):基于这样一种假设,如果一个页面已经很久没有被访问,以后它也不会被访问。识别出长时间没有被访问的页面,直接释放掉这些页面。
最近访问算法(MRU):最近被使用的页面被释放,基于假设如果一个页面被访问过了,那么在之后的时间不会再被访问。
当缓存写入数据时,存储系统必须将脏页面(数据已经被写入页面,但是还没有写入磁盘)刷清,刷清就是将数据从缓存提交到磁盘的过程。
在这里插入图片描述
缓存数据保护
缓存镜像和缓存跳跃技术可以降低缓存中未提交数据丢失的风险。
缓存镜像:每次写入缓存的数据被保存在互相独立的内存条的不同位置上。当发生缓存故障时,保存在镜像位置上的数据仍是安全的并能够被提交到磁盘。读操作本来是从磁盘到缓存,发生故障后,数据从磁盘直接读取。
缓存跳跃:物理磁盘在停电时转储缓存中的数据。用来转储的磁盘被称为跳跃驱动器。供电恢复后,数据会被重新读回缓存,再写回对应磁盘中。
后端
后端提供缓存和物理磁盘之间的接口,由后端端口和后端控制器组成。 后端控制缓存与物理磁盘之间的数据传输。后端控制器在读写操作时与磁盘进行交流,提供有限的数据存储,在后端实现的算法和RAID一起提供了错误检验和纠正功能。
存储系统配备了双控制器及多个端口。
物理磁盘
固态存储器用闪存存取数据。没有机械运动不见,响应时间短,能耗低。
闪存驱动器可以通过传统的存储接口提供虚拟磁盘驱动器,具有相当高的读写性能、高可靠性和数据完整性。闪存存储技术十分适合用于快速存取大量数据的应用。
逻辑卷用LUN(逻辑设备编号)统一寻址。 提高了磁盘利用率。
一个LUN卷的容量可以通过合并来扩大,得到更大容量的LUN称作元LUN。
LUN屏蔽是一种数据访问控制,在前端控制器实现,防止在分布式环境中的未授权访问和意外访问。
高端存储阵列,是活动—活动式阵列,这些阵列被配备了大量的控制器和缓存内存。主机可以利用任何可用的路径去访问它的LUN。

发布了10 篇原创文章 · 获赞 8 · 访问量 937

猜你喜欢

转载自blog.csdn.net/qq_44710568/article/details/104944210
今日推荐