常见的硬盘:SATA一般pc机主流的硬盘。SCSI一般服务器应用广泛。IDE比较老,二者均可。

RAID 的意思是廉价磁盘冗余阵。是一些列放在一起,成为一个逻辑卷的磁盘集合。

软件RAID和硬件RAID

软件RAID的性能低,使用主机资源,加载RAID软件,从软件RAID卷中读取数据。无需物理硬件,成本低。

硬件RAID性能高,使用pciexpress 卡物理的提供专有RAID控制器。不使用主机资源。有NVRAM用于缓存的读取和写入。缓存用于RAID重建,即使出现电源故障,也会使用后背电池电源保持缓存,但十分昂贵。

几个概念:

1、条带化:将切片数据随机存储到多个磁盘。至少要用两块磁盘。

2、镜像:镜像用来自动备份数据。保存相同的内容到其他磁盘。

3、热备份:自动更换发生故障的驱动器。

4、块:每次读写数据的最小单位。

5、校验:用于重新生成丢失的内容。

---------------------------------------------------------------

raid 0  : 大小为100M的文件传到做了raid的硬盘上,比如2快硬盘做的raid0,每块写50M,速度快,硬盘坏时,数据也丢失,

raid 1:  100M的文件,2快硬盘做的是备份,一块坏了,另一块还能用,速度下降了

raid 4或raid5  至少要3快硬盘

raid 4: 一块硬盘坏了,接上新硬盘,数据还有,但速度可能下降,因为所有的奇偶校验都在一块硬盘上

raid 5 :是把奇偶校验分散在所有不同的硬盘上

---------------------------------------------------------------

wKioL1hTvM-TYhYWAAEpM5i7RuE277.pngwKiom1hTvPTiL6VbAAA4MpNOhKc722.pngwKioL1hTvVaClQRWAABKr5hLr1g310.png



---------------------------------------------------------

实验一、创建raid0

千万不要使用同一块硬盘分区来做raid,因为盘如果坏了,是整块都坏

raid0创建完成后,不能新增加或删除磁盘阵列,只能重建,如果磁盘坏掉,数据损失100%

创建一个RAID 0设备:这里使用/dev/sdb1 /dev/sdc1做实验

[root@localhost ~]# fdisk /dev/sdb

n p 1 t l fd w

创建sdb1,并指定类型为fd

同样创建/dev/sdc1

mdadm -C /dev/md0 -l0  -n2 /dev/sdb1 /dev/sdc1

-l指定等级,raid0,可以raid1等等

-n 指定设备,raid0使用两个就可以条带了。

cat /proc/mdstat

mkfs.ext4 /dev/md0

mkdir /mnt/raid0

mount /dev/md0 /mnt/raid0/

# vim /etc/fstab

添加以下条目,根据你的安装位置和使用文件系统的不同,自行做修改。

/dev/md0                /mnt/raid0              ext4    deaults         0 0

之后

mdadm --detail --scan >> /etc/mdadm.conf  如果没有这一步的话,重启后md0会变成md127


实验二、创建RAID1

1、我虚拟机上新加了2块10G的硬盘,如下图

wKioL1hXgu-TM2lFAAApkmtzUX0696.png

2、fdisk 分区

wKioL1hXg6mT8RXUAACPa5kX0uM766.png

wKiom1hXg-fS3MwjAACui3WWR9A787.png


sdc做同样操作,硬盘类型指定为fd


3、mdadm划分raid1

wKiom1hXhJLTMdahAABDoIHJSf4696.pngwKioL1hXhM3AzRedAABf-3bWJVw994.png


4、写进配置文件

[root@localhost ~]# mkfs.ext4 /dev/md0

[root@localhost ~]# mdadm --detail --scan >> /etc/mdadm.conf

[root@localhost ~]# mkdir /mnt/raid1

[root@localhost ~]# mount /dev/md0 /mnt/raid1

[root@localhost ~]# vi /etc/fstab 添加

/dev/md0 /mnt/raid1 ext4 defaults 0 0


5、之后在/mnt/raid1下写一些文件,之后模拟坏掉一块盘之后数据是否会丢失

当我们拔掉一块盘时,我们可以mdadm --detail --scan /dev/md0 查看工作的磁盘,可判定坏盘(假设为/dev/sdc1)

之后我们查看数据,数据并没有丢失,然后我们重新添加一块新硬盘,

fdisk /dev/sdc

mdadm --add /dev/md0 /dev/sdc1