设为首页 收藏本站
查看: 1291|回复: 0

[经验分享] linux下的软raid

[复制链接]

尚未签到

发表于 2019-2-17 10:20:33 | 显示全部楼层 |阅读模式
  在linux中,可以使用软件的方法来实现raid,当然,这种软件方法的实现比不了服务器自带的阵列卡,一般X86服务器上(比如dell R720)上面就可以配一块硬件阵列卡,还可以加缓存,在回写模式下可以加速数据的读写,还有电池,可以保障缓存中的数据在突然断电情况下不丢失。而软raid没有加速和保护的功能,但确实能实现raid。比如常见的raid 0、1、5、10。下面简单介绍一下这几种raid的原理。
  一、JBOD,这种模式其实不是一种真正的raid.但它能把多个物理磁盘的容量堆叠起来,让它们形成一个逻辑的磁盘,数据在写满一个盘再转到下一个盘。但如果磁盘损坏的话,数据就丢失了,这种模式在企业中使用较少
  二、raid 0,这是一种不包含数据冗余的raid.至少使用两块硬盘来实现,它不会造成磁盘容量的减少,并且能加速磁盘的读写速度,但是数据的安全得不到保障,如果阵列中的一块硬盘故障,整个阵列中的数据都丢失了。这是一种条带化的技术,比如一个文件100M,而每个条带大小为32K,那么它会以32K为一个单位来分开存储,即每在物理磁盘0上面写32K数据以后,再到物理磁盘1上写32K数据,依此类推。
  三、raid 1,这是一种镜像的raid技术,至少2块硬盘,磁盘使用率为50%。因为是镜像的,所以磁盘坏一块没有关系,一般用来安装操作系统,读取速度增加,写入速度与一块磁盘持平或者稍慢
  四、raid 5,带有校验的条带化raid。raid 5没有专门的检验盘,它把数据和检验数据每个盘写一部分,依此类推。磁盘使用率为(n-1)/n,即会少一块磁盘的容量,读写的速度都提高了。在企业中,此技术也使用得比较多,如果损坏一块磁盘,可以使用其他磁盘的校验信息来恢复数据
  五、raid 10,即raid 1与raid 0的组,有人把raid 10和raid 01说成一种,其实它们也稍有一同,10指的是把这些物理磁盘的做成两个raid 1,再把两个raid 1 组成成一个raid 0。除了磁盘使用率只有一半以后,读、写速度都提高了,然后因为有镜像,数据安全得到保障。
  使用mdadm来实验软raid
  在我的实验环境中,有五块磁盘,sda安装了linux,sdb-sde用来做软件raid。
  mdadm的用法

  语法:# mdadm  -C  -v  /dev/mdX  -lY  -nZ  -cK  RAID成员
  -C 即创建一个raid,此种方法将raid的信息写入到superblock中,如果将来重装或者重新启用raid,非常方便
  -v 显示详细信息
  /dev/mdX,即指定这个设备为mdX,X一般取值从0-127
  -l 指定raid的级别,比如0 1 5
  -n  指定一共有几个设备来构建这个raid,在linux中可以使用磁盘或者一个分区来做为源盘
  -c 指定条带的大小,默认为64K
  后面跟着的是组成raid的磁盘的成员,这些成员数目要等于在-n后面指定的数
  -x 如果是做有检验的raid,比如5,可以指定热备盘,即一个在raid中已经被使用磁盘出现故障后,可以自动替换进raid中
  在本例中,我使用三个磁盘做一个raid 5,然后把/dev/sde做成一个热备盘,指定条带大小为32K
  然后把raid 中的/dev/sdd模拟故障,看/dev/sde能否自动替换进去,再查看数据的完整性
  [root@Centos ~]# mdadm -C /dev/md0 -v -a yes -l 5 -c 32K -n 3 /dev/sd{b,c,d} -x 1 /dev/sde
  mdadm: layout defaults to left-symmetric
  mdadm: layout defaults to left-symmetric
  mdadm: size set to 2096096K
  mdadm: Defaulting to version 1.2 metadata
  mdadm: array /dev/md0 started.
  接下来使用fdisk -l来查看是否有md0这个设备
  Disk /dev/md0: 4292 MB, 4292804608 bytes
  2 heads, 4 sectors/track, 1048048 cylinders
  Units = cylinders of 8 * 512 = 4096 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 32768 bytes / 65536 bytes
  Disk identifier: 0x00000000
  再接下来,我们查看一下这个md0的相关信息
  [root@Centos ~]# mdadm -D /dev/md0
  [root@Centos ~]# mdadm -D /dev/md0
  /dev/md0:
  Version : 1.2
  Creation Time : Wed Mar  522:43:51 2014
     Raid Level : raid5
  Array Size : 4192192 (4.00 GiB 4.29 GB)
  Used Dev Size : 2096096 (2047.31 MiB 2146.40 MB)
  Raid Devices : 3
  Total Devices : 4
  Persistence : Superblock is persistent
  Update Time : Wed Mar  5 22:44:162014
  State : clean
  Active Devices : 3
  Working Devices : 4
  Failed Devices : 0
  Spare Devices : 1
  Layout : left-symmetric
    Chunk Size : 32K
  Name : Centos.abc.com:0  (local tohost Centos.corun.com)
  UUID : 5e6594f3:3ad4713d:1476a99a:3a65e231
  Events : 18
  Number   Major   Minor  RaidDevice State
  0       8       16       0      active sync   /dev/sdb
  1       8       32       1      active sync   /dev/sdc
  4       8       48       2      active sync   /dev/sdd
  3       8       64       -      spare  /dev/sde
  接下来,我们对/dev/md0进行分区、格式化、挂载
  fdisk /dev/md0
  创建一个主分区,大小为全部大小,也就是说为4G
  fdisk -l  显示这个已经创建的分区名称,还有使用命令显示这个分区的UUID

  Disk /dev/md0: 4292 MB, 4292804608 bytes
  2 heads, 4 sectors/track, 1048048 cylinders
  Units = cylinders of 8 * 512 = 4096 bytes
  Sector size (logical/physical): 512 bytes /512 bytes
  I/O size (minimum/optimal): 32768 bytes /65536 bytes
  Disk identifier: 0x327efd65
  Device Boot      Start         End     Blocks   Id  System
  /dev/md0p1              17     1048048    4192128   83  Linux
  [root@Centos dev]# blkid /dev/md0p1
  /dev/md0p1: UUID="5876338a-afca-44e9-b9ce-1cee32c22026" TYPE="ext3"
  [root@Centos dev]# e2label /dev/md0p1 liuqing
  [root@Centos dev]# blkid /dev/md0p1
  /dev/md0p1: UUID="5876338a-afca-44e9-b9ce-1cee32c22026" TYPE="ext3" LABEL="liuqing"
  挂载这个文件系统到/mnt
  mount UUID=5876338a-afca-44e9-b9ce-1cee32c22026 /mnt
  在/mnt这个目录中,复制几个文件进来,分别是/etc/inittab /etc/fstab /etc/passwd
  [root@Centos dev]# cd /mnt
  [root@Centos mnt]# cp /etc/passwd .
  [root@Centos mnt]# cp /etc/inittab .
  [root@Centos mnt]# cp /etc/fstab .
  [root@Centos mnt]# ls
  fstab  inittab  lost+found  passwd
  [root@Centos mnt]#
  最后面这一部分是要模拟磁盘故障,我们将/dev/sdd模拟故障
  [root@Centos mnt]# mdadm /dev/md0 --fail /dev/sdd  --remove /dev/sdd
  mdadm: set /dev/sdd faulty in /dev/md0
  mdadm: hot removed /dev/sdd from /dev/md0
  [root@Centos mnt]# mdadm --detail /dev/md0
  /dev/md0:
  Version : 1.2
  Creation Time : Wed Mar  5 22:43:51 2014
  Raid Level : raid5
  Array Size : 4192192 (4.00 GiB 4.29 GB)
  Used Dev Size : 2096096 (2047.31 MiB 2146.40 MB)
  Raid Devices : 3
  Total Devices : 3
  Persistence : Superblock is persistent
  Update Time : Wed Mar  5 23:04:46 2014
  State : clean
  Active Devices : 3
  Working Devices : 3
  Failed Devices : 0
  Spare Devices : 0
  Layout : left-symmetric
  Chunk Size : 32K
  Name : Centos.corun.com:0  (local to host Centos.corun.com)
  UUID : 5e6594f3:3ad4713d:1476a99a:3a65e231
  Events : 38
  Number   Major   Minor   RaidDevice State
  0       8       16        0      active sync   /dev/sdb
  1       8       32        1      active sync   /dev/sdc
  3       8       64        2      active sync   /dev/sde




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-673485-1-1.html 上篇帖子: Linux Virtual Server(LVS) 下篇帖子: Linux命令sed
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表