当系统管理员被要求提供一种可靠且冗余的方式来保护服务器上的关键数据时,“RAID”往往是第一个出现在管理员脑海的词汇。事实上,RAID只是整个数据可靠性体系结构的一部分。本文将要讲述Linux下的RAID和一些辅助存储技术。
第一页
当系统管理员被要求提供一种可靠且冗余的方式来保护服务器上的关键数据时,“RAID”往往是第一个出现在管理员脑海的词汇。事实上,RAID只是整个数据可靠性体系结构的一部分。本文将要讲述Linux下的RAID和一些辅助存储技术。
RAID(Redundant Array of Inexpensive Disks,廉价冗余磁盘阵列)是一种将信息扩展到磁盘阵列中多块硬盘的技术。该技术为了构建数据的冗余性、低延迟和高带宽,以及发生磁盘灾难时的可恢复性等,总共定义了六种不同类型的RAID级别,比如,数据分割(RAID 0)和数据镜像(RAID 1)等。
数据丢失的各种原因
一般用户希望使用RAID来防止数据丢失。其实RAID只能尽量帮助避免数据丢失,却不能完全防止。下面先来看一看造成数据丢失或损坏的各种原因。
1.无意或有意地数据删除
数据丢失最主要的原因之一是文件被有意或无意地删除了。比如,黑客进入系统,删除有用文件;有情绪的员工恶意清除文件;或者是用户本人认为哪些文件不再需要而将它们删掉。RAID无法恢复由于类似原因所丢失的数据。为了减轻这些损失,需要定期将数据备份到那些在火灾、盗窃或其它意外发生时都能够幸存的媒介上。
2.磁盘驱动器完全失效
计算机被摔坏,或者磁盘驱动器老化等情况有可能导致磁盘驱动器完全失效。另一种典型的情况是读写头划伤磁盘盘片,造成盘片上的内容不能读取。静电有时也能导致同样的症状。如果磁盘驱动器只有一个盘片,则意味着数据将完全丢失。
RAID通过将数据以一种冗余的方式到扩展到多块磁盘上,可以确保任意一块磁盘的完全失效都不会引起实际的数据丢失。不过,更常见的磁盘失效方式是慢速的坏块积累,导致磁盘扇区不可读。RAID对此种数据破坏无能为力。这种情况下面会详细讨论。
3.掉电导致数据丢失
许多新手认为通过启动一个密集访问磁盘任务,然后在它运行时拔掉电源,可以用来测试RAID的有效性。其实,RAID不能防止掉电造成的数据丢失,更谈不上恢复所丢失的数据。这种数据破坏或丢失可以使用日志(Journaling)文件系统或日志数据库服务器来避免。
4.磁盘驱动器的坏块
磁盘驱动器上缓慢但持久的存储块丢失是造成磁盘驱动器失效的常见形式。导致存储块丢失主要有以下几种因素:
◆ 显微镜下可见的尘埃粘在盘片上;
◆ 磁头敲击盘片时留下的沟痕;
◆ 磁介质在制造时做得太薄;
◆ 与磁头长期接触导致盘片老化等。
随着坏块的积累,数据块就会出错。硬盘驱动器检测到错误块后,会自动从磁盘其它地方找一块新的数据块分配,直到有一天硬盘上的坏块查找表被填满,Linux接近停滞状态,同时吐出“status=0x51 { DriveReady SeekComplete UnrecoverableError }”信息。
尽管这可能是最常见的磁盘出错情况,但几乎没有一个解决方案能处理好这一问题,RAID当然也不能。
网友评论