在linux中实现软RAID

    前言 

在生产环境中不推荐大家使用软RAID,写这篇文章的主要目的是希望大家更好的了解RAID的工作原理:

软RAID就是在系统层面实现RAID功能了,数据处理主要依赖cpu来完成,没有第三方控制处理器和I/O芯片

在linux中是使用内置的md模块,模拟RAID卡,实现软RAID。在内核中有md模块完成将多个物理设备组合成一个逻辑设备

   实现方式:

因为linux支持将块设备制作成RAID,可以使用不同磁盘的不同分区组件RAID;但是分区大小必须一样;

一、首先创建几个大小相同的分区;模式改为fd(linux raid autodetect)

fdisk  /dev/sdb  > n >e>+1G>t>fd

我这里使用的扩展分区做的

做完后w保存

partprobe  /dev/sdb    让系统内核从新加载磁盘信息

cat /proc/partirions    查看系统是别的磁盘信息

确认有我们新添加的这几个分区

二、创建md设备文件

使用命令:mdadm   -C  /dev/md0  -a  yes  -l  0  -n  2  /dev/sdb{5,6}

我们先模拟RAID 0 所有只需要2个分区就够了

md0  是一个md组,编号0

-a  yes  自动创建

-l  0      RAID级别为0

-   n      这个md0组加入几块硬盘,后面跟上分区编号

然后使用cat  /proc/mdstat  查看一下创建好的md0信息

Personalities : [raid0]      RAID级别0

md0 : active raid0 sdb6[1] sdb5[0]    md0  活的raid0  有哪些设备

2119680 blocks super 1.2 512k chunks   chunks大小,chunks就是条带后每次分别写                                                                                                入每个硬盘的数据块大小

unused devices: <none>

创建RAID前硬盘分区一定不要格式话

 三、格式化和挂载

使用命令:mkfs  -t   etx4  /dev/md0    格式化md0为etx文件系统

mount   /dev/md0   /mnt       将md0挂载到mnt下

使用mount查看下;没有问题就可以使用了

 四、 mdadm用户空间管理工具详解

创建模式:

-C:

专用选项:

-l:RAID级别

-n:设备个数

-a:自动为其创建设备文件

-c:指定chunk大小;默认64kb;一般是2^n

-x:指定空闲盘个数;RAID阵列中哪个盘坏了可以自动加入阵列

例如:mdadm  -C  /dev/md0  -a yes -n 3 -c  128  /dev/sdb{5,6,7}

管理模式:

-a:从阵列中添加一块硬盘;

-r:从阵列中删除一块硬盘;需要先-f 停用后才能删除

-f:模拟阵列中哪块硬盘损坏

mdadm  /dev/md1  -f  /dev/sdb7

模拟后需要删除再添加才能使用

停止删除阵列:

mdadm  -S或者--stop   /dev/md#

然后如果 rm  /dev/md#  就会彻底删除此阵列

          装配模式:

停止的RAID阵列可以装配回去;确定/dev/md#文件存在

mdadm  -A  /dev/md#  /dev/sdb#

    

                            查看RAID阵列信息

mdadm  -D 或者--detail   /dev/md#

mdadm  -D  --scan  显示每个RAID设备配置信息

> etc/mdadm.conf 导入到md配置文件中,

下次装配md#的时候就不用指定有哪些磁盘了

                实验:            

        

需要装配一个4G的RAID5;并且有一个空闲热备盘

分析:实现4G的RAID,需要三个2G的磁盘。再加一块2G的空闲盘

1、首先需要4块2G的磁盘模式改为fd

2、创建md5:mdadm -C /dev/md5 -a yes -l5 -n3 /dev/sdb{5,6,7}

3、使用mke2fs -j -E stride=16 -b 4096 /dev/md5 格式化优化性能

4、mount /dev/md5 /mnt  挂载后就可以使用了

5、mdadm  /dev/md5 -a /dev/sdb8  添加一块热备盘

6、mdadm  /dev/md5 -f /dev/sdb5  模拟一块硬盘有问题;查看热备盘能不能切换上

7、如果上述成功;使用mdadm /dev/md5 -r /dev/sdb5 删除有问题的磁盘;然后再把sdb5添加如阵列;做为热备盘使用

时间: 2024-10-18 23:24:49

在linux中实现软RAID的相关文章

linux中的软RAID实现,逻辑卷和btrfs文件系统

RAID: Redundant Arrays of Inexpensive Disks,廉价磁盘冗余阵列:             Redundant Arrays of Independent Disks,独立磁盘冗余阵列: 1988年,UC Berkeley提出的"A case for Redundant Arrays of Inexpensive Disks"旨在将多个相对廉价IDE接口的磁盘组合成一个"阵列",并不是将磁盘简单罗列在一起,而是根据特定规则进行

Linux下做软RAID

1.查看有多少块硬盘可用#fdisk -l嗯,一般而言,留下系统盘不动,其它的盘如果大小相同的话,统统合起来做一个raid. 2.决定做什么类型的raid.raid-0.raid-1.raid-5?如果有三块一样大小的盘(或者更多),那么极力推荐raid-5.否则请根据实际情况选择raid-0或者raid-1 3.卸载已挂载的数据盘首先查看下,要做raid的几块盘是不是已经被挂载过了#mount如果有,那么挨个删除数据.然后用umount卸载.然后,还有,打开/etc/fstab,注释掉那些刚卸

linux中的软、硬链接

linux中的软.硬链接 硬链接 硬链接(hard link),如果文件B是文件A的硬链接,则A的inode节点号与B的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的.如果删除了其中一个,对另外一个没有影响.每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收.注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A

简述raid的种类、级别级Linux系统上软raid的实现

早期由于raid通常用来组合一些廉价的sata接口的硬盘设备来完成冗余. 故早期的全称是: Redundant Array of inexpensive Disks (廉价冗余磁盘阵列). 如今raid也被大部分企业用来组合scsi和sas接口的硬盘设备. 故现在的全称是:Redundant Array of independent  Disks (独立冗余磁盘阵列). raid的主要功能是把主板上的多块硬盘以某种特定的方式组合起来,组织成一个具有特定特性的一个逻辑整体,然后输出给操作系统或应用

在Linux上使用软RAID模拟磁盘损坏实验

软RAID是在操作系统层面进行的RAID配置,也能对数据进行保护,实际生产环境中使用存储中磁盘阵列和硬RAID实现冗余的情况比较多. 此实验在虚拟机中完成,在系统中添加5块磁盘,每块磁盘512MB,利用这5块磁盘做RAID5实验,模拟磁盘损坏及替换磁盘,模拟停止RAID阵列及启动阵列,阵列中的数据情况. 1.添加磁盘,每块磁盘512MB,共5块,如图1所示. 图1 2.启动系统并查看磁盘 ll /dev/sd* 出现/dev/sdb,/dev/sdc,-/dev/sdf,如图2所示,说明系统已识

Linux下创建软Raid

1- Linux下创建软Raid 步骤1.创建磁盘,并转换为fd #fdisk /dev/sdb //这里使用新的磁盘sdb 然后输入n ,创建分区 使用默认的起始点 输入大小为+100M 然后重复刚才的操作4次,创建4个分区,创建完4个分区后 我们还要改变分区的ID 在分区的主菜单输入T 然后输入要改变ID的分区号,也就是最后4个分区 然后输入分区的ID:fd 四个分区都改成FD 完成后,在分区主菜单里面使用p 查看分区信息 是不是最后4个分区都是ID为fd 如果OK的话,就输入w 保存退出

linux组建的软raid md0重启后自动变成md127的解决方法

在创建完raid时,如果在/etc/下没有生成mdadm.conf配置文件 请运行:mdadm --detail --scan >> /etc/mdadm.conf 此时可以:vim /etc/mdadm.conf 将ARRAY 后的/dev/md/localhost.localdomain:0改为/dev/md0 重reboot后,问题解决

Linux中增加软路由的两种方法/删除的方法

第一种: route add -net 172.16.6.0 netmask 255.255.255.0 gw 172.16.2.254 dev eth0 route del gw 172.16.2.254 route del -net 172.16.86.0/24 route /* 显示当前路由表 */ 第二种: 实现的功能和上面的一样 ip route add 172.16.6.0/24 via 172.16.2.254 dev eth0 ip route del gw 172.16.2.2

软RAID 0的技术概要及实现

1 什么是RAID,RAID的级别和特点 : 什么是RAID呢?全称是 “A Case for Redundant Arrays of Inexpensive Disks (RAID)”,在1987年,由加州大学伯克利大学发表的论文而来,其实就是这个标题的缩写就是RAID;中译为“磁盘阵列”: RAID就是把几个物理磁盘组合在一起成为一个大的虚拟物理磁盘,主要目的和用途主要有:把若干小容量物理磁盘组成一个大容量虚拟存储设备(以前的物理磁盘的容量都比较小):提高物理存储效率(读.写),或提供冗余以