在磁盘的使用中,有时候需要提高磁盘的读写数据速度,就要用到磁盘组——raid,也就是磁盘阵列。

磁盘阵列是由最少两块以上的磁盘组成的,raid有许多模式,在这里将介绍其中常用的模式raid0、raid1和raid5。

raid0:raid0是用来提高读取数据速度的,其用两块以上的磁盘组成,是将数据同时记录在这几个磁盘中,在使用时,几块磁盘各读取一部分数据。这种磁盘组因为需要存入的数据完全相同,所以容量和一块磁盘的容量大小相同,但是读取速度会变快。

raid1:raid1是用来提高写入数据速度的,是在写入数据时将数据分成磁盘的份数分别存在几块磁盘中的,每个磁盘当中都是不完整的数据,所以这种磁盘组的容量将会翻倍,写入数据的速度也会变快。

raid5:raid5本质上就是raid0和raid1的结合,使得读取数据和写入数据速度都提高,但是加速的结果不如raid0或者raid1高。

在学习当中,磁盘阵列是通过程序将几个分区制作成raid,这种磁盘阵列对读读写速度的提高是远远不如使用几块磁盘的速度的。

在建立磁盘阵列之前,需要对磁盘进行分区,分出三个大小相同的三个分区。以raid1为例,建立磁盘阵列的命令是"mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}"其中"-C /dev/md0"表示创建出一个名为/dev/md0的raid,"-a yes"表示确定不存在自动建立,"-l 1"表示建立的为raid1,"-n 2"表示使用两块硬盘建立,"-x 1"表示备用磁盘为一块,"dev/vdb{1..3}"表示三块磁盘分区。

根据上图,看出在创建后,磁盘分区1和磁盘分区2开始进行数据同步,完成后格式化"/dev/md0",完成后就可以进行挂载了。

"mdadm -D /dev/md0",可以查看磁盘阵列的详细信息。

备用磁盘的作用是在一块磁盘损坏后,备用磁盘自动补上开始同步数据,最主要的是在此时对挂载并没有影响,即在替换过程中raid可以继续使用。如下图所示。输入命令"mdadm /dev/md0 -f /dev/vdb1"可以使得磁盘分区1无效化,然后备用磁盘与磁盘分区2开始数据同步。"mdadm /dev/md0 -r /dev/vdb1"可以删除磁盘分区1,"mdadm /dev/md0 -a /dev/vdb1"可以添加磁盘分区1。

在磁盘阵列使用完成后,需要删除磁盘阵列,先取消磁盘挂载,再输入"mdadm -S /dev/md0"删除建立的磁盘阵列,最后删除分区。

 
 

linux初学者-磁盘阵列篇的更多相关文章

  1. linux初学者-SElinux篇

    linux初学者-SElinux篇 SElinux是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统.对于linux安全模块来说,SElinux的功能是最全面的,测试也是最充分的, ...

  2. linux初学者-firewall篇

     linux初学者-firewall篇 firewalld是防火墙的另一种程序,与iptables相同,但是使用起来要比iptables简单的点,不需要了解3张表和5条链也可以使用. 1.firewa ...

  3. linux初学者-mail篇

     linux初学者-mail篇 邮件是在生活中比较常用的一个工具,在linux系统中的邮件也是.在linux中,邮件的发送所用的服务时postfix,邮件的接收所用的服务是pop(110端口).ima ...

  4. linux初学者-iptables篇

     linux初学者-iptables篇 iptables是防火墙的一种,是用来设置.维护和检查linux内核的IP过滤规则的,可以完成封包过滤.封包重定向和网络地址转换(NAT)等功能. iptabl ...

  5. linux初学者-Apache篇

     linux初学者-Apache篇          Apache提供了超文本传输协议http,httpd是Apache超文本传输协议的主服务器.下文将对httpd的安装和配置进行简单的叙述.     ...

  6. linux初学者-iscsi篇

     linux初学者-iscsi篇         之前介绍过网络文件共享系统NFS和CIFS.在系统中,设备也是可以共享的,这就是iSCSI,它可以用来建立和管理IP存储设备.主机和客户机等之间的相互 ...

  7. linux初学者-ftp篇(一)

    linux初学者-ftp篇(一) FTP是文件传输协议,是用于Internet上的控制文件的双向传输.用户可以通过客户机程序从远程主机上下载或者向远程主机上传文件. linux系统中,如果不了解SEL ...

  8. linux初学者-进程篇

    linux初学者-进程篇 不管是windows还是linux,都有进程,那么什么是进程呢?进程就是cpu未完成的工作.下面会介绍一些关于系统中进程的查看以及管理的方法. 1.命令 1.1.命令使用 查 ...

  9. ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘

    本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...

随机推荐

  1. Linux命令行和shell编程

    Shell Shell是一个程序,用户输入的命令通过shell来传达给内核或其它程序.用户在linux打开一个终端,终端就会自动调用用户的shell. Linux上的Shell有很多种,用的最多是sh ...

  2. CodeSmith使用SQLite Provider找不到请求的 .Net Framework 数据提供程序

    关于CodeSmith5使用SQLite Provider时的报错:System.BadImageFormatException: 未能加载文件或程序集“System.Data.SQLite,.... ...

  3. sentinel 滑动窗口统计机制

    sentinel的滑动窗口统计机制就是根据当前时间,获取对应的时间窗口,并更新该时间窗口中的各项统计指标(pass/block/rt等),这些指标被用来进行后续判断,比如限流.降级等:随着时间的推移, ...

  4. 纯异步nodejs文件夹(目录)复制

    思路: 1.callback 驱动 2.递归所有需要复制文件 3.在一定阀值下并发复制文件 4.运行需要安装 async.js     npm install async 代码如下: var asyn ...

  5. vuex分模块2

    深入理解Vuex 模块化(module) 转载  2017-09-26   作者:ClassName    我要评论 本篇文章主要介绍了Vuex 模块化(module),小编觉得挺不错的,现在分享给大 ...

  6. shell遍历文件

    取文件每行的数据,需要按列取  可以 sed 加管道 使用 awk 取列 platform="list.txt" line=`grep -vc '^$' $platform` ; ...

  7. There is no getter for property named 'username' in 'class Model1.User'-----报错解决

    There is no getter for property named 'username' in 'class Model1.User' -----Model Model1.User'中没有名为 ...

  8. Nginx部署多个站点

    Nginx部署多个站点 一,介绍与需求 1.1,介绍 详细介绍请看nginx代理部署Vue与React项目,在这儿主要介绍多个站点的配置 1.2,需求 有时候想在一台服务器上为不同的域名/不同的二级域 ...

  9. PHP学习(1)

  10. 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数 例如给定nums = [2,7,11,15],target = 9

    python解决方案 nums = [1,2,3,4,5,6] #假如这是给定的数组 target = 9 #假如这是给定的目标值 num_list = [] #用来装结果的容器 def run(nu ...