RAID的使用

RAID

在上世界八十年代的时候RAID尚未开发出来的时候,通常公司还在使用SLED(Single Large Enpensive Disk),这种存盘优点很是大,单个的十分巨大的储存空间,只是伴随着它的巨大优点,还有很昂贵的代价,通常公司承受不起这样的代价,在这样的环境下,不少公司都在寻找一种能把几个或多个廉价的硬盘组合成一种,甚至尝试着提升它的读写速度,以及冗余能力。终于在1987年,在美国加州Clifornia Berkeler大学的几个教授 Patterson,Gibson和Katz发表了一篇很出名的论文A case for Redundant Arrays of Inoxpensive Disks.这个就是RADI的原型胚胎。翻译成我们中文就是廉价冗余磁盘阵列,简单来讲就是把多块磁盘组合成一块来使用。随着后来者在这个基础上不墩的开发不断的完善,RAID已经成为比较完善的技术,许多公司都用这个技术。下面就详细总结一下这个技术。

 首先多个磁盘组合在一块儿就能提高数据的读写能力,一个2G大小的文件,若是是四个磁盘的话就会分红4份存进四个磁盘中,读取的话也是同样,这样就至关于速度提高了四倍,这是至关可观的。可是组合多少个磁盘为好呢?这要取决于你的设备的插槽个数和你设备自己的设计使用能力。这种将多块磁盘组合起来促合成一个阵列看成逻辑设备来使用的机制,咱们就把成为ARID。

 那咱们把数据向多个磁盘储存的时候一次存多少呢?1K?2K?这就又牵扯到另外一个概念--条带。数据在经过控制芯片发向底层控制芯片并储存在磁盘上的时候,它首先倍条带化之后,分割储存在各各磁盘上的,这就叫作条带。
 
条带(RAID0)的好处就是提高了读写速度,提高率几乎就是n倍,可是也硬伤,就是没有冗余能力,一旦其中任何一块磁盘损坏,所有数据都通通损坏了,固然五块磁盘损坏的概率要是一块的五倍了。这样的话人们又发明了镜像存储。

镜像(RAID1)简单来讲就是每一个数据都给他备份一下,这样的弊端相信你们一会儿就看出来了,浪费了通常的空间。通常的空间都用来储存相同的东西了,写入东西的话还要写入双份,功能固然就降低了,读功能仍是有一点提高的。固然他最大的优点就在与冗余能力,由于他同时备份了一份文件,因此一旦数据有损坏,只要不是连带镜像中的文件一块儿损坏的,就能彻底还原回来。

既然镜像技术要浪费一半的储存空间,那它的代价也是不低的,一些大企业为了稳妥起见仍是用这种方法,那句话怎么说来着,人类的进步就是在不断妥协中前进的过程,因而人来在这种的状况下有开发了RAID2,RAID3,RAID4,RAID5,RAID6.

相比较于RAID1来讲,2,3,4,5都有他的很差之处,只不过由于廉价因此有许多小公司仍是使用他们。这里就挑仍是稍微多见一点的RAID5来讲一下。

假设咱们有四块磁盘,RAID5就是把数据分存为三份在前三个磁盘上,第四个磁盘存上校验码。这样的话任何一块磁盘损坏均可以来修复,它的弊端就是一旦损坏两块存盘,全部数据就完蛋了,而且在磁盘使用过程当中,系统会默认多使用存有校验码的磁盘,时间长了就要以这个磁盘的速度来断定咱们的速度了,这是很不理想的。损坏一块磁盘的话咱们能够经过另外三块磁盘找出丢失的数据,刻录在另一块空磁盘上,这个过程咱们叫硬盘修复过程,而这个过程当中另外三块磁盘一旦损坏也是致命的,事实上这种事情常常发生,因此仍是很不安全的,可是又有人发明了四个磁盘轮流储存校验码,这就比前面的方法稍微改善了一点。

后来有出现了RAID10以及RAID01的组合。这种速度又安全又高效,出了代价有点高之外仍是很受你们欢迎的
RAID10的话就是先镜像再条带,这样每一组中都是两个如出一辙的文件存在,同一组上损失一个文件的话就能够靠着镜像立马修复他,可是不能同组的磁盘同时损坏,那样数据就完了。
RAID01就是先条带在镜像了这样的话就算是同组的磁盘所有损坏都没事,由于还有镜像中的数据存在,可是两边的磁盘各自损坏了一个就完全完了。
两种方法性能几乎是同等的,只是在修复上,RAID01修复数据的时候要调动其他的所有磁盘来计算出丢失的数据,而RAID10只须要把丢失的数据对应的镜像磁盘刻录过来就好了。整体来讲这两种方法差异不大,看用的时候须要那种。
还有最后一种叫作Jbod,这种技术是在一个磁盘上链接另外一个磁盘,让他们成为一个磁盘来储存那些超大的数据,只是为了扩大内存,读写性能没什么提升,也没有冗余能力。


下面咱们来讲一下软RAID。
咱们软RAID必须把文件类型表示为fd格式的,表示为fd类型之后,咱们的模块往上边存数据的时候他会在这个数据以外存一些其余的语言数据,未来哪怕你重装了操做系统,只要把这个模块装进来,让这个模块自身去扫描这两个设备才能把它们从新组合起来,这是须要额外的步骤,呵呵,咱们的服务器原本就很繁忙,CPU可能原本就不够用,在拿来让CPU去管理数据,操做系统一崩溃还可能致使数据丢失,因此说软RAID很是不适合去使用,不到万不得已的状况下咱们尽可能不要去用软RAID,因此咱们在这里就简单的说明,不作深刻的研究。
下来咱们就来讲说使用软件建立软RAID。

在咱们Linux上提供软RAID设备须要内核模块叫md,这个模块得能装载进来,此外在用户空间有个命令让咱们去配置RAID的命令叫mdadm:支持将任何块设备作成RAID。在咱们Linux上只有一块盘,因此说哪怕是只有两个分区也能够作成RAID,只不过这个在其实是没有意义的,都在一块设备上,读写速度不会提高,而且硬盘损坏的话全部数据都损坏。在实际上能够在多个磁盘上作,或者使用位于不一样磁盘上的分区

mdadm:    模式化的命令:
    建立模式
        -C
            专用选项:
                -l: 级别
                -n #: 设备个数
                -a {yes|no}: 是否自动为其建立设备文件
                -c: CHUNK大小, 2^n,默认为64K
                -x #: 指定空闲盘个数
    管理模式
        --add, --remove, --fail
        mdadm /dev/md# --fail /dev/sda7
    监控模式
        -F
    增加模式
        -G
    装配模式
        -A
    查看RAID阵列的详细信息
        mdadm -D /dev/md#
          --detail
   
    中止阵列:
        mdadm -S /dev/md#
           --stop
          
          
以上就是我对RAID以及软RAID的了解,以及一些基本的使用方法。安全

相关文章
相关标签/搜索