Centos7 磁盘阵列(RAID划分)实验

概览

RAID,独立磁盘冗余阵列(redundant array of independent disks)。
由加利福尼亚大学伯克利分校(University of California-Berkeley)在1988年提出,是一种多硬盘存储数据的技术,能大幅度提高数据传输效率和容错能力。

特点

  1. 将数据分块存储在多个磁盘(逻辑上是一个磁盘),读取数据时从多个磁盘同时获取,能够大幅提高数据传输效率。

  2. 通过镜像或奇偶校验的方式提高数据的冗余能力。

RAID0

简介:

RAID 0 不算真正意义上的RAID结构,它没有数据冗余,没有数据校验的能力。实现RAID 0至少需要两块以上的硬盘,它将两块以上的硬盘合并成一块逻辑硬盘,数据同时分散存储在每块硬盘上。 因为带宽加倍,所以读/写速度加倍, 但RAID 0在提高性能的同时,并没有提供数据保护功能,只要任何一块硬盘损坏就会丢失所有数据。适用于追求性能,对数据安全不太敏感的行业。

虚拟机添加硬盘:

  1. 点击编辑虚拟机设置

  2. 点击添加----->选择添加硬盘------>点击下一步

  3. 选择磁盘类型为SCSI

4.选择创建新虚拟磁盘

5.指定磁盘容量这里选择指定大小和是否立即分配磁盘空间

  1. 指定磁盘存储的位置,点击完成磁盘就添加完成了(需要添加两块)

Linux划分磁盘阵列

第一步:fdisk -l查看未分配的磁盘空间(可以看到/dev/sdc /dev/sdb并未分配)

第二步:创建RAID 0

[root@localhost ~]#  mdadm -Cv /dev/md0 -a yes -n 2 -l 0 /dev/sdb /dev/sdc

第三步:格式化文件系统为ext4

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

第四步:创建挂载点,挂载磁盘md0

[root@localhost ~]# mkdir /raid0
[root@localhost ~]# mount /dev/md0 /raid0
[root@localhost ~]# df -h


ok!raid0 创建成功,容量为40G

RAID1

简介

RAID1是将一个两块硬盘所构成RAID磁盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当作数据“镜像”。RAID 1是最可靠的一种阵列,因为它总是保持一份完整的数据备份。它的性能自然没有RAID 0那样好,但其数据读取还是较单一硬盘来的快,因为数据会从两块硬盘中较快的一块中读出。RAID 1磁盘阵列的写入速度通常较慢,因为数据得分别写入两块硬盘中并做比较。RAID 1磁盘阵列一般支持“热交换”,就是说阵列中硬盘的移除或替换可以在系统运行时进行,无须中断退出系统。

磁盘阵列的划分

首先虚拟机添加磁盘(略),然后查看未分配的磁盘空间

[root@localhost ~]# fdisk -l

创建RAID1

[root@localhost ~]# mdadm -Cv /dev/md0 -a yes -n 2 -l 1 /dev/sdb /dev/sdc

格式化文件系统挂载

[root@localhost ~]# mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5238528 blocks
261926 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2153775104
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成   

[root@localhost ~]# mkdir /raid1
[root@localhost ~]# mount /dev/md0 /raid1
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 2.0G     0  2.0G    0% /dev
tmpfs                    2.0G     0  2.0G    0% /dev/shm
tmpfs                    2.0G   13M  2.0G    1% /run
tmpfs                    2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  3.9G   14G   23% /
/dev/sda1               1014M  172M  843M   17% /boot
tmpfs                    394M   24K  394M    1% /run/user/0
/dev/sr0                 4.4G  4.4G     0  100% /run/media/root/CentOS 7 x86_64
/dev/md0                  20G   45M   19G    1% /raid1

RAID5

简介

数据以块为单位分布到各个硬盘上。RAID 5不对数据进行备份,而是把数据和与其相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

原理

例如如下四块硬盘组成RAID5,向其中写入1234567891011121314,raid5会将数据分块存储到sda、sdb、sdc、sdd中,其中留出一个磁盘存储校验数据块

假如sdb这块磁盘挂掉了,根据校验数据块可以推出,他存储的数据为2、6、12,校验数据块为28。
很明显,挂掉一块问题不大,要是同时挂掉两块就没办法了。当然raid5的校验肯定不是加减法而是与或运算,这里就不展开说了。

阵列划分

同理,需要添加三块磁盘,然后查看未分配的磁盘

划分阵列

[root@localhost ~]# mdadm -Cv /dev/md0  -n 3 -l 5 /dev/sdb /dev/sdc /dev/sdd

格式化文件系统、创建挂载,挂载

[root@localhost ~]# mkfs.ext4 /dev/md0
[root@localhost ~]# mkdir /raid5
[root@localhost ~]# mount /dev/md0 /raid5
[root@localhost ~]# df -h

RAID10

raid10就是raid 1 + raid 0即串联在一起的镜像阵列。

配置方法

[root@localhost ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
[root@localhost ~]# mkfs.ext4 /dev/md0
[root@localhost ~]# mkdir /raid10
[root@localhost ~]# mount /dev/md0 /raid10
原文地址:https://www.cnblogs.com/hxlinux/p/15139547.html