MDADM - 在Linux中配置软件RAID

时间:2020-03-05 15:27:39  来源:igfitidea点击:

在本教程中,我们将使用Linux中的3个磁盘通过RAID 5的MDADM配置。
我假设我们有3个磁盘/dev/sda,/dev/sdb和/dev/sdc,我们要在RAID 5中使用。
每个磁盘都被划分为单个分区,该分区使用整个磁盘/dev/sda1 ,/dev/sdb1和/dev/sdc1.

我们现在可以通过逐步完成步骤过程,将这些3个磁盘添加到RAID5中,使用MDADM命令将其添加到RAID5中。

1.将分区类型更改为RAID类型

我们需要使用fdisk命令更改参与磁盘的分区类型。

键入"t"以更改分区类型。
使用"FD"更改为RAID。

# fdisk /dev/sda
The number of cylinders for this disk is set to 8355.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): t
Partition number (1-5): 1
Hex code (type L to list codes): fd
The partition table has been altered!
Calling ioctl() to re-read partition table.

需要对其他磁盘/dev/sdb和/dev/sdc重复这些步骤

2.创建RAID组

现在,我们需要将这3个磁盘添加到RAID组中。
这可以使用命令'mdadm'来实现。
创建RAID集的语法是,

mdadm --create md-device --level=Y --raid-devices=Z devices

其中:

--LEVEL =设置RAID级别,选项是线性,RAID0,0,条纹,RAID1,1,镜像,RAID4,4,RAID5,RAID6,6等

  • -raid-devices =没有参与磁盘

因此,对于我们的情况,我们可以如下创建RAID组"MD0"。

# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1

3.格式化RAID集MD0

至于普通分区,我们必须先格式化RAID设置。
这可以使用以下命令来实现。

mkfs.ext3 /dev/md0

4.配置mdadm.conf.

此文件包括使用MDADM管理软件管理的配置。
可以通过描述本配置文件中的设备和数组来简化一些常见任务,例如组装所有数组。

我们可以使用mdadm命令创建此文件,如下所示。

# mdadm --detail --scan > /etc/mdadm.conf
# cat etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2 UUID= 3aaa0122:29827cfa:5331ad66:ca767371

其中:

数组:数组线识别实际数组。
线路上的第二个单词应该是阵列通常组装的设备的名称,例如/dev/md0。
后续单词识别数组,或者将数组标识为组的成员。

UUID:值应该是十六进制中的128位UUID,如果需要,带有标点符号。
这必须与超级块中存储的UUID匹配。

元数据:数组具有的元数据格式。
这主要是为了与MDADM-es的输出的可比性认可。

5.安装RAID集

我们可以按如下方式将新创建的RAID组安装为普通分区。

一种。
创建安装点

# mkdir /mnt/raid

湾然后将以下条目添加到fstab文件

/dev/md0 /mnt/raid ext3 defaults 1 2

C。
登上RAID组

# mount /dev/md0 /mnt/raid

现在,我们在Linux机器中完成了软件RAID 5配置。

首先讨论可用的RAID类型:

线性模式RAID

在此RAID技术中,将添加超过1个磁盘,但在完成第一个磁盘后,数据将仅写入第二个磁盘。
线性RAID的唯一优势是大文件系统,没有数据冗余或者系统性能。

  1. RAID 0(条带)

在RAID0数据中,均匀分布在磁盘上。
这提高了访问速度,但没有数据冗余。
因此,崩溃单个磁盘会导致数据丢失。
此外,磁盘可以是不等的尺寸。

  1. RAID 1(镜像)

在RAID 1中,磁盘数据被复制到第二个磁盘中。
当磁盘崩溃时,第二个继续运行。
更换坏磁盘后,数据将自动复制到新添加的磁盘中。
因此,它提供数据冗余而无需速度/性能增强。
RAID 1的限制是总RAID尺寸等于RAID集中最小磁盘的总数。
与RAID 0不同,未使用较大设备上的另外空间。

  1. RAID 4.

在RAID 4中,结合RAID 0和1以提供数据冗余和性能改进。
它需要至少3个磁盘,数据在前两个磁盘上条带化,并将奇偶校验(错误检查)添加到第三个磁盘中。
因此,在任何一个数据磁盘崩溃的情况下,可以使用奇偶校验码检索数据。
RAID 4的限制是,写入数据磁盘的任何部分的数据需要在奇偶校验盘中更新,这可能成为瓶颈。

  1. RAID 5.

这项技术是对RAID 4的改进,其中奇偶校验数据也在所有磁盘上都有条纹。
但像RAID 4一样,这也可以在撞击单个磁盘时生存。

始终建议使用RAID中的所有分区,而不是仅使用几个分区,因为磁盘故障只能在参与的RAID分区中存活数据。