Linux RAID 技术创建并格式化and挂载分区(RAID0、RAID1、RAID5、RAID10)
标签搜索

Linux RAID 技术创建并格式化and挂载分区(RAID0、RAID1、RAID5、RAID10)

十五
2021-08-03 / 0 评论 / 138 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年08月03日,已超过82天没有更新,若内容或图片失效,请留言反馈。

前言:本次讲解了创建raid5 和raid 10 并格式化分区并实现自动挂载,如何删除raid设备,如何利用raid创建swap分区;

1. 什么是 RAID

  • CPU 处理性能保持高速增长,与此同时,硬盘性能提升却不大,逐渐成为制约计算机整体性能的瓶颈。同时,由于硬盘需要进行持续、频繁、大量的 IO 操作,相较其他设备,其损坏的几率也大幅增加,导致数据丢失的几率也大幅增加。
  • 面临磁盘读写效率、数据安全两方面的技术问题,1988 年,美国加利福利亚大学伯克利分校首先提出 RAID 的概念,即廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),而且定义了 RAID 的 5 个等级。当时研究的重点是廉价磁盘组合,但后来发现,连接磁盘并不适合于生产环境,因此将 Inexpensive 被改为 independent,许多独立的磁盘阵列。

2. 常见的 RAID 技术方案

RAID0
  • 独立磁盘组成 RAID,目前已有的方案有几十种,这里介绍最常见的RAID0、RAID1、RAID5、RAID10。
  • RAID0:最早出现的 raid 模式,又称为 数据分条技术 (Data Stripping)。RAID0 是组建磁盘阵列中最简单的一种形式,具有最高的磁盘读写性能, 至少需要 2 块磁盘

radi0


RAID1
  • RAID1:称为磁盘镜像。数据在写入一块磁盘时,会在另一外磁盘上生成镜像。至少 需要 2 块磁盘 ,磁盘使用率低,但数据安全性高。
    rraid
RAID5
  • RAID5:分布式奇偶校验的独立磁盘结构。RAID5 把数据和相对应的奇偶校验信息存储到组成 RAID5 的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。组建RAID5 至少 需要 3 块磁盘
    raid5
RAID10
  • RAID10 也被称为镜象阵列条带。像 RAID0 一样,数据跨磁盘抽取;像 RAID1 一样,每个磁盘都有一个镜象磁盘,顾名思义,RAID10是 RAID0 和 RAID1 的组合体,又被称作 RAID0+1。
  • RAID10 需要 4 + 2*N 个磁盘驱动器(N >=0) , 而且只能使用其中一半(或更小, 如果磁盘大小不一)的磁盘用量,例如 4 个 250G 的硬盘使用RAID10 阵列, 实际容量是 500G。
    raid10

3. 组建 RAID(mkfs 命令格式化分区并挂载)

组建RAID5

1.部署用于创建 raid 的普通磁盘

  • 由于部署 RAID5 至少 3 块磁盘,因此我们添加三块磁盘,这里添加 scsi接口的磁盘
  • 根据 Linux物理设备命名规则,测新增加的 3 块磁盘设备名为/dev/sdb、/dev/sdbc、/dev/sdbd。

2.创建 RAID5 磁盘/dev/md1
使用 mdadm 命令创建磁盘:

mdadm -Cv /dev/md1 -a yes -n3 -l5 /dev/sd[b-d]
-Cv:–C 和-v 的合并选项,意为创建磁盘,并且打印创建过程。
-a yes:表示格局指定的设备名自动创建设备节点
-n3:指定组成 raid5 的磁盘或者分区有 3 个(至少 3 个)
-l5:指定 raid 级别,这里为 5
/dev/sd[b-d]:b-d 表示从 b 到 d 的连续磁盘,也可以写成/dev/sdb /dev/sdc
/dev/sdd

创建成功

[root@DJL dev]# mdadm -Cv /dev/md1 -a yes -n3 -l5 /dev/sd[b-d]
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 10468352K
mdadm: largest drive (/dev/sdb) exceeds size (10468352K) by more than 1%
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
//创建成功

查看md设备信息

[root@DJL dev]# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md1 : active raid5 sdd[3] sdc[1] sdb[0]
      20936704 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      
unused devices: <none>

3. 使用 raid5 磁盘
(1) 格式化磁盘(这里将整块磁盘格式化为 ext4 文件系统)

[root@DJL dev]# mkfs.ext4 /dev/md1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
1310720 inodes, 5234176 blocks
261708 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: 完成   

(2) 挂载格式化后的磁盘并写入数据(格式化完成后,创建/mnt/raid 挂载点,将磁盘挂载到挂载点,然后新建文件,这时文件保存到了磁盘/dev/md1。)

[root@DJL dev]# cd /mnt
[root@DJL mnt]# mkdir raid5
[root@DJL mnt]# mount /dev/md1 raid5/
[root@DJL mnt]# cd raid5/
[root@DJL raid5]# echo ¨raid test¨ >a.txt
[root@DJL raid5]# ls
a.txt  lost+found
[root@DJL raid5]# 

4.开机自动挂载(修改自动挂载配置文件/etc/fstab)
可以通过 vim 编辑器直接修改/etc/fstab 文件,也可以使用如下命令,如

echo "/dev/md1 /mnt/raid5/ ext4 defaults 0 0" >> /etc/fstab

然后重新启动系统,启动后发现,磁盘自动挂载成功
raid-sucess

组建RAID10
  1. 组建 raid10 至少需要 4 块磁盘。
  2. 创建 raid10 磁盘/dev/md2

    [root@DJL dev]# mdadm -Cv /dev/md2 -a yes -n4 -l10 /dev/sd[b-e]
    mdadm: layout defaults to n2
    mdadm: layout defaults to n2
    mdadm: chunk size defaults to 512K
    mdadm: size set to 10468352K
    mdadm: largest drive (/dev/sdb) exceeds size (10468352K) by more than 1%
    Continue creating array? y   //yes
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md2 started.
    [root@DJL dev]# 
    //创建成功
  3. 使用 raid10 磁盘
    参考raid5步骤,格式化,挂载和使用 raid10 设备。
  4. 实现自动挂载
    参考raid5步骤,修改/etc/fstab。
  5. 删除raid设备

    [root@DJL dev]# cd /
    [root@DJL /]# umount /dev/md1     //取消挂载
    [root@DJL /]# 
    [root@DJL /]# mdadm -S /dev/md1   //停止md1设备
    mdadm: stopped /dev/md1
    [root@DJL /]# mdadm --zero-superblock /dev/sd[b-d]  //清除成员设备中的超级快信息
    [root@DJL /]# //清除/etc/fstab中相关配置信息

4.在 RAID 10 磁盘上创建 swap 分区

  1. 参考上文组建raid10,raid设备为md2
  2. 使用 fdisk 对/dev/md2 进行分区(主分区:2GB 扩展分区:4GB 逻辑分区 1:2GB 逻辑分区 2:2GB)
    fdisk1
    fdisk2
    fdisk3
  3. 格式化分区/dev/md2p1为 swap 分区格式

    [root@DJL dev]# fdisk -l /dev/md2
    [root@DJL dev]# mkswap /dev/md2p1
    

    linux_swap
    4.将 swap 分区挂载到系统(挂载前2047m挂载后4095m)

    [root@DJL dev]# free -m //查看swap分区大小
    [root@DJL dev]# swapon /dev/md2p1 //挂载/dev/md2p1到swap
    

    free-m

  4. 设置开机自动挂载 swap 分区
  5. 设置开机自动挂载,和其他分区的开机自动挂载一样,向/etc/fstab 中添加内容:/dev/md2p1 swap swap defaults 0 0

    echo "/dev/md2p1 swap swap defaults 0 0" >> /etc/fstab  
0

评论 (0)

取消