Redhat/Fedora linux中RAID类型详解

使用独立磁盘冗余阵列(RAID)的主要目的是提高磁盘">数据处理能力和提供数据冗余。

RAID既能通过操作系统来设置(软件式RAID),也可以在不设置操作系统的情况下通过专用RAID控制卡来实现(硬件式RAID)。这章将向您解释如何在Redhat/Fedora linux下配置软件式RAID结构。

不管是硬件式或软件式,冗余磁盘阵列RAID能用很多不同的标准来配置,下面我们看看最流行的几种配置方式

线性RAID

在线性RAID中,RAID控制器将RAID集(set)视为一个磁盘链。当前一个磁盘空间被填满后,数据顺序写入磁盘链中的下一个磁盘。线性RAID的目的是容纳跨磁盘的超大文件系统,而且没有数据冗余性。驱动器故障将损坏您的数据。

Fedora Linux不支持此方式的RAID。

RAID 0

在RAID 0下,RAID控制器试图将数据平均的写入RAID集(set)中的所有磁盘。

将磁盘视为盘子,将数据视为蛋糕。假设你有四个蛋糕-巧克力味、香草味、樱桃味、草莓味-和四个盘子。RAID 0初始操作是将蛋糕切成片,然后将这些片放到每个盘子里。RAID 0 驱动器让操作系统觉得蛋糕是完整的,而且是放到了一个大盘子里。例如,4个9GB的硬盘,配置成RAID 0集的话,操作系统将它们视为一个36GB的硬盘

和线性RAID相似,RAID 0也是为了容纳跨磁盘的超大容量文件系统,并没有数据冗余性。RAID 0的优点是数据访问速度。一个文件分放在四个磁盘上能以四倍于一个磁盘的读取速度读取出来。记住RAID 0常被称为条带集

RAID 0允许磁盘的空间大小不同。当RAID使用完最小磁盘上的条带空间时,它继续使用剩余磁盘的可用空间作为条带集。当这种情况发生时,这部分数据的访问速度将变慢,因为RAID驱动器的数量减少了。所以,RAID 0 最好使用同容量的磁盘。

Fedora Linux支持RAID 0 ,图26.1说明了RAID 0的数据分配过程

RAID 1

在RAID 1方式下,数据被复制放到另一磁盘上。这种RAID方式因此经常被称之为磁盘镜像。想像一下,您将一个同样的故事说给两个人挺,这样的话,如果其中一个人忘记了故事的情节,您可以让另一个来告诉您。

当RAID 1集中的一个磁盘坏了的话,剩下的那个磁盘仍然能够工作。当坏的磁盘被更换后,数据能够自动的从剩下的那个好的磁盘上复制到新磁盘上。在任一主RAID磁盘发生故障时,RAID 1还可以将数据自动的复制到一个热备的空磁盘上。

RAID 1提供了数据冗余性,但没有RAID 0的速度优点。软件式的RAID 1的一个缺点是服务器不得不将数据写入两次以便写入每个镜像磁盘。这回占用数据总线和cpu资源。在硬件式RAID 1下,服务器cpu只需将数据传给RAID磁盘控制器一次,剩下的工作就由磁盘控制器来完成了。这使得在实现RAID 1时,优先选用能提供RAID的磁盘控制器

RAID 1 的一个限制是总的RAID集大小等于磁盘集中容量最小的那块磁盘。这跟RAID 0不同,较大磁盘中剩余部分的磁盘空间会浪费掉。

Fedora Linux支持RAID 1。 图中说明了RAID 1方式下的数据分发过程

RAID 0和RAID 1 的工作方式

时间: 2024-08-01 00:53:22

Redhat/Fedora linux中RAID类型详解的相关文章

Linux中线程使用详解

Linux下多线程详解pdf文档下载:点击这里! 线程与进程为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?我们首先必须回答这些问题. 使用多线程的理由之一是和进程相比,它是一种非常"节俭"的多任务操作方式.我们知道,在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段.堆栈段和数据段,这是一种"昂贵"的多任务工作方式.而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空

Linux中关机命令详解

在linux下一些常用的关机/重启命令有shutdown.halt.reboot.及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的. 一.常用命令 重启命令 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 10 过10分钟自动重启(root用户使用) 4.shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 若通过shutdown命令设置重启的话,可以用shutdown -c命

javascript中Function类型详解_javascript技巧

Function 类型 function类型,毋庸置疑是js中相当重要的一个玩意. 1.这玩意首先是一个对象,也就是说它是一个引用类型.陈述:一听说是对象,是不是很有一种它的基类是object对象错觉感,No, 它和object是独立的2个东西.当你typeof function 时,返回的是 funciton 并非 object 2.每个函数都是 Function 对象的一个实例,它与其他引用对象一样具有属性和方法.由于它是对象所以函数名是指向函数对象的指针 关于函数的声明的语法支持: <sc

linux中lsof命令详解

lsof在linux中是一个很重要的命令,这里简单记录一下. 简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口.因为应用程序打开文件的描述符列表提供了大量关于

Linux中Shell变量详解

Shell变量分为环境变量和自定义变量,这两则的差异在于该变量能否被子进程使用,看下面的一个示 意图: 如果是环境变量,子进程中还可以继续使用,但如果是自定义的变量,子进程里将失效. 用env查看环境变量 常见的环境变量如下: 1)HOME:用户的主目录(cd ~) 2)SHELL:用户的默认shell 3)HISTSIZE:历史记录条数 4)MAIL:邮件信箱文件 5)PATH:执行文件查找路径 6)LANG:语系 用set查看环境变量和自定义变量 比较重要的自定义变量有: 1)PS1:提示符

javascript中Function类型详解

  Function 类型 function类型,毋庸置疑是js中相当重要的一个玩意. 1.这玩意首先是一个对象,也就是说它是一个引用类型.陈述:一听说是对象,是不是很有一种它的基类是object对象错觉感,No, 它和object是独立的2个东西.当你typeof function 时,返回的是 funciton 并非 object 2.每个函数都是 Function 对象的一个实例,它与其他引用对象一样具有属性和方法.由于它是对象所以函数名是指向函数对象的指针 关于函数的声明的语法支持: ?

【Linux】Linux中at命令详解

在windows系统中,windows提供了计划任务这一功能,在控制面板 -> 性能与维护 -> 任务计划, 它的功能就是安排自动运行的任务. 通过'添加任务计划'的一步步引导,则可建立一个定时执行的任务. 在linux系统中你可能已经发现了为什么系统常常会自动的进行一些任务?这些任务到底是谁在支配他们工作的?在linux系统如果你想要让自己设计的备份程序可以自动在某个时间点开始在系统底下运行,而不需要手动来启动它,又该如何处置呢? 这些例行的工作可能又分为一次性定时工作与循环定时工作,在系统

Linux中dd命令详解

一.dd命令 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: if=文件名:输入文件名,缺省为标准输入.即指定源文件.< if=input file > of=文件名:输出文件名,缺省为标准输出.即指定目的文件.< of=output file > ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节. obs=bytes:一次

redis中list类型详解及常用命令

redis中的list类型有点类似于编程语言中的数组,list类型如下图所示,实际上是一种双向链表结构,通过lpush.lpop.rpush.rpop这几个命令来控制链表中数据出入,所以list类型可以用作栈,也可以用作队列一样. redis链表list类型 从元素插入和删除的效率来看,如果从链表的两头插入或删除元素,会非常的高效,即使链表中已经存储了上百万条的记录,也可以在很短的时间内完成.然而需要说明的是,如果元素插入或删除操作是作用于链表中间,那将会是非常低效的.相信对于有良好数据结构基础