如何在linux下做软raid

如何在linux下做软raid,第1张

在虚拟机系统中添加一块10g的硬盘为sdb,将硬盘分5个逻辑盘分别是sdb{5,6,7,8,9},每个盘的大小是1G。

首先利用其中三块硬盘sdb{5,6,7}建立raid5,sdb8为热备盘。

然后将sdb6作为故障盘下线,之后拔出sdb6,插入新的盘sdb9。

命令如下:mdadm

-C

/dev/md0

-l5

-n3

-x1

/dev/sdb{5,6,7,8}

通过上面命令建立了使用空间为2G的raid5。盘符为/dev/md0

查看建立结果的方法有两种:

1.

mdadm

--detail

/dev/md0

2.

cat

/proc/mdstart

常用的raid的等级有0,1,5,6,10定义等级只需修改-l()的值即可

做故障测试的命令:mdadm

--manage

/dev/md0

-f

/dev/sdb6

-r

/dev/sdb6

-a

/dev/sdb9

其中-f==--fail

-r==--remove

-a=--add。

通过挂载和编辑开机启动fstab文件即可实现长挂载,但是如果删除建立的raid则需要卸载后用到

命令:mdadm

-S

/dev/md0

将raid停掉之后,再删除各个磁盘。其中-S=--stop

当我们使用服务器对磁盘进行了Raid处理之后,再创建虚拟磁盘,那么上层 *** 作系统上可见的磁盘就是一整块,也方便我们管理和使用。

在安装完Linux *** 作系统后,通过lsblk命令查看当前磁盘的结构。

从上面的磁盘结构可以看出,一共有三块磁盘,分别为sda/sdb/sdc,不是呈现一块磁盘吗?怎么又出现了三块?这里由于第一块磁盘为SSD硬盘,且只有500G,因此我没有将其划分到Raid中,只将两块机械硬盘做了Raid 0(由于是一个工作站,并没有做数据保护)。

从sdb和sdc中可以发现,下方均单独创建了一个分区"md126",通过以下命令来查看分区的细节。

从图片中的Raid Level可以看出,是Raid 0,并且是由/dev/sda和/dev/sdb组成。

跟普通磁盘一样,在使用前需要对其进行格式化,这里将其格式化为xfs。

格式化之后,创建一个目录用于挂载点,我这里在根目录下创建一个文件夹raid_backup,用于文件备份。可根据自己情况对应修改文件夹名。

执行以下命令挂载,如果没有任何回显则成功。

查看一下挂载情况,发现已经正常的挂载上了,并且读写也没有问题。

为了使得磁盘在开机后能自动的挂载上,需要修改一下fstab文件。我们先取消之前的挂载(取消挂载时请不要在此目录,否则会报错):

编辑/etc/fstab文件:

在最后一行加上挂载的相关信息,根据自己的目录和文件系统对应修改,完成之后保存退出。

验证挂载:

如果没有意外,将会再次挂载上,以后就会开机自启挂载磁盘了。

应用场景

Raid大家都知道是冗余磁盘的意思(Redundant Arrays of Independent Disks,RAID),可以按业务系统的需要提供高可用性和冗余性,目前市面上比较常见的是通过服务器的raid阵列卡来实现此功能。

通过硬件阵列卡实现raid具有可靠性高,性能好等特点,但是对于一般的企业而言硬件阵列卡固然好,如果大规模应用的话动辄几千上万的费用也不是他们所能承受的,难道就没有既能保证数据安全,又能减少费用支持的IT方案吗?当然有,软raid就可以实现这一需求。

实现步骤

软raid比较依赖 *** 作系统,所以他的劣势也显而易见,需要占用系统资源(主要是CPU资源)。目前在Linux和windows下软raid都比较常见了,Linux是通过mdadm实现的,windows下则在win2003之后通过磁盘管理来实现。

实验环境

一台centos 7.2 VM,主机名分别为host1,host1上挂载两块50G的数据盘,我们的实验就在这两块数据盘上完成。

P.S:需要强调的是生产环境下两块组raid的硬盘必须是同品牌同型号同容量的,否则极容易出现软raid失效的情况。

1.确认 *** 作系统是否安装了mdadm软件

[root@host1 ~]# rpm -qa |grep mdadm

mdadm-3.3.2-7.el7.x86_64

2.对两块数据盘进行分区,并设置分区类型为raid

fdisk命令只能对容量在2T以下的硬盘进行分区,如果超过2T则需要使用parted工具了。Parted命令以后会介绍使用方法,本节不赘述了。

在fdisk下raid的分区类型代码是fd,在parted工具下首先需要使用mklabel将磁盘格式由MBR改成GPT,然后才能使用mkpart命令进行分区,分完区之后使用set设置分区flag为raid即可。

3.使用mdadm命令创建raid1

可以看到创建时有个Note的提示,是说软raid不能当启动设备,这就是软raid比较鸡肋的地方了。

mdadm -C /dev/md0 -ayes -l1 -n2 /dev/xvd[b,c]1

命令说明:

-C创建阵列

-a同意创建设备,如不加此参数时必须先使用mknod 命令来创建一个RAID设备,不过推荐使用-a yes参数一次性创建

-l阵列模式

-n阵列中活动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目

/dev/md0阵列的设备名称,如果还有其他阵列组可以以此类推;

创建完成后可以使用cat /proc/mdstat查看阵列状态:

下图中第一次查看的时候提示resync完成了95.7%,第二次查询的时候两块盘才真正同步完。

也可以使用mdadm -D /dev/md0查看阵列组的状态

4.创建md0的配置文件

echo DEVICE /dev/sd{a,b}1 >> /etc/mdadm.conf

mdadm -Evs >> /etc/mdadm.conf

mdadm运行时会自动检查/etc/mdadm.conf 文件并尝试自动装配,因此第一次配置raid后可以将信息导入到/etc/mdadm.conf 中。

5.使用/dev/md0

在/dev/md0上创建文件,然后挂载进行使用。

mkfs.ext4 /dev/md0


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7624674.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存