linux部署RAID10磁盘阵列

目录

RAID技术面向解决方案是什么?

RAID技术的出现解决了什么?

RAID的优势包括:

RAID也存在一些劣势:

RAID级别解决方案优化对象

一、查看检查mdadm

二、查看磁盘空间

三、创建raid10存储

四、格式化RAID

五、创建一个挂载点并挂载RAID设备

六、启动RAID自动挂载

七、查看RAID状态



RAID技术面向解决方案是什么?

  • RAID技术的解决方案主要是通过将多个磁盘组合起来,实现数据备份、容错和提高性能。

  • RAID,即独立磁盘冗余阵列,允许数据在多个硬盘上分割和复制,以提供数据冗余、提高性能和/或增加存储容量。

RAID技术的出现解决了什么?

  • RAID技术的出现主要是为了解决单个硬盘存储的局限性,如存储容量限制、数据安全性问题以及性能瓶颈。

  • 通过RAID阵列,可以有效地将这些问题分散到多个硬盘上,从而提高整体存储解决方案的可靠性和性能。

RAID的优势包括:

  1. 数据冗余和容错性:

    通过在不同的硬盘上存储数据的副本或使用奇偶校验信息;

    RAID可以在一个或多个硬盘故障时保护数据不丢失,并提高数据恢复的可能性;

  2. 提高性能:

    通过将数据分散到多个硬盘上并行读写;

    RAID可以显著提高数据的吞吐量,特别是在处理大量数据时;

  3. 扩大存储容量:

    通过将多个硬盘组合成一个逻辑单元,RAID可以提供更大的总存储容量;

  4. 灵活性:

    RAID阵列可以方便地扩展,只需添加更多的硬盘即可增加存储容量或提高性能;

RAID也存在一些劣势:

  1. 成本较高:

    实施RAID需要多个硬盘和可能的额外硬件(如RAID控制器),这会增加整体的存储成本;

  2. 写入性能可能受影响:

    在某些RAID级别(如RAID 5或RAID 6)中,写入操作可能涉及复杂的计算和数据移动,这可能会影响写入性能;

    特别是在故障状态下,RAID的重建过程可能会显著降低性能;

  3. 管理复杂性:

    配置和管理RAID阵列需要一定的专业知识和技能;

    错误的配置或管理可能导致数据丢失或阵列失效;

RAID级别解决方案优化对象

级别特点优点缺点优化对象
RAID 0

数据条带化

无数据冗余

高性能;

最大化存储容量;

易于配置和维护

数据安全性差;

一块硬盘故障将导致整个阵列数据丢失,且数据恢复困难

提供了高性能的存储解决方案,

适用于需要大容量和高性能的应用场景。

RAID 1

数据镜像

完全的数据冗余

高数据安全性;数据恢复简单;对于读取操作性能优于单个硬盘

存储容量减半;

写入操作性能可能下降

确保了数据的安全性,

适用于存储重要数据的应用

RAID 3

使用专门的校验盘存储校验信息;

数据条带化存储在其余硬盘上

读操作性能优异;

适用于数据库和Web服务器等应用

写操作性能低于RAID 0;

如果校验盘故障,将影响数据读取性能

提供了数据冗余的同时保持了较高的读取性能
RAID 5

分布式奇偶校验;

数据和校验信息分散存储在多个硬盘上

提供了数据冗余;

读取性能优于单个硬盘,且存储容量利用率较高

写操作性能可能受到一定影响;因为需要计算校验信息在提供数据冗余的同时,保持了较大的存储容量和较高的读取性能
RAID 6双重奇偶校验;可以容忍两块硬盘故障

高容错能力;

数据安全性高;支持并行读写操作

硬件成本高;

写操作相对较慢

提供了极高的数据安全性和容错能力,

适用于企业级服务器和存储系统

RAID 01

结合了RAID 1和RAID 0的特点;

数据既被镜像又被条带化

高性能;

高可靠性;

读取速度得到优化

存储效率低;

成本高

提供了既高性能又高可靠性的存储解决方案
RAID 10多个RAID 0阵列进行镜像

高性能;

数据冗余

故障容忍性低;存储效率低

在保持高性能的同时提供了一定程度的数据冗余。

但需要注意的是,RAID 01的容错能力相对较低,一旦一个RAID 0阵列中的任何一块硬盘出现问题,整个系统都会受到影响

一、查看检查mdadm

# all now
[root@localhost ~]# yum clean all && yum makecache && yum repolist
源标识                                      源名称                                         状态
base/7/x86_64                               CentOS-7 - Base                                10,072
extras/7/x86_64                             CentOS-7 - Extras                                 526
updates/7/x86_64                            CentOS-7 - Updates                              5,802
repolist: 16,400

[root@localhost ~]# yum info mdadm
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
可安装的软件包
名称    :mdadm
架构    :x86_64
版本    :4.1
发布    :9.el7_9
大小    :439 k
源    :updates/7/x86_64
简介    : The mdadm program controls Linux md devices (software RAID arrays)
网址    :http://www.kernel.org/pub/linux/utils/raid/mdadm/
协议    : GPLv2+
描述    : The mdadm program is used to create, manage, and monitor Linux MD (software
         : RAID) devices.  As such, it provides similar functionality to the raidtools
         : package.  However, mdadm is a single program, and it can perform
         : almost all functions without a configuration file, though a configuration
         : file can be used to help with some common tasks
         
         
[root@admin03 ~]# yum install -y mdadm      

# 检查madadm是否有安装
[root@localhost ~]# rpm -qa | grep mdadm
mdadm-4.1-9.el7_9.x86_64

二、查看磁盘空间

# 方法一
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0   500G  0 disk 
├─sda1            8:1    0     1G  0 part /boot
└─sda2            8:2    0   499G  0 part 
  ├─centos-root 253:0    0    50G  0 lvm  /
  ├─centos-swap 253:1    0   7.9G  0 lvm  [SWAP]
  └─centos-home 253:2    0 441.1G  0 lvm  /home
sdb               8:16   0    20G  0 disk 
sdc               8:32   0    20G  0 disk 
sdd               8:48   0    20G  0 disk 
sr0              11:0    1   4.4G  0 rom
​
# 方法二
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 898M     0  898M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M  9.6M  901M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root   50G  1.7G   49G    4% /
/dev/sda1               1014M  151M  864M   15% /boot
/dev/mapper/centos-home  441G   33M  441G    1% /home
tmpfs                    182M     0  182M    0% /run/user/0

三、磁盘分区

# 所有磁盘都需要格式化
(方法二)
[root@admin03 ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) mkpart a 0% 100%
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 
Number  Start   End     Size    File system  Name  标志
 1      1049kB  21.5GB  21.5GB               a
 (parted) q                                                                
信息: You may need to update /etc/fstab.

(方法二)
[root@admin03 ~]# fdisk /dev/sdc 
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xdb969711 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。

# 格式完后再次检查
[root@admin03 ~]# lsblk 
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0   500G  0 disk 
├─sda1            8:1    0     1G  0 part /boot
└─sda2            8:2    0   499G  0 part 
  ├─centos-root 253:0    0    50G  0 lvm  /
  ├─centos-swap 253:1    0   7.9G  0 lvm  [SWAP]
  └─centos-home 253:2    0 441.1G  0 lvm  /home
sdb               8:16   0    20G  0 disk 
└─sdb1            8:17   0    20G  0 part 
sdc               8:32   0    20G  0 disk 
└─sdc1            8:33   0    20G  0 part 
sdd               8:48   0    20G  0 disk 
└─sdd1            8:49   0    20G  0 part 
sde               8:64   0    20G  0 disk 
└─sde1            8:65   0    20G  0 part 
sr0              11:0    1   4.4G  0 rom

四、创建raid10存储

[root@localhost ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
参数含义
-C用于创建新的 RAID 数组
-v标志用于显示详细信息
-a yes自动创建设备节点
-n 4指定了使用 4 个设备来创建 RAID
-l 10表示使用 RAID 级别 10(后面跟着的是要加入 RAID 数组的四个分区或磁盘)

五、格式化RAID

[root@localhost ~]# mkfs -t ext4 /dev/md0 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
2621440 inodes, 10477056 blocks
523852 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2157969408
320 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, 7962624
​
Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

六、创建一个挂载点并挂载RAID设备

[root@localhost ~]# mkdir /mnt/raid10 
[root@localhost ~]# mount /dev/md0 /mnt/raid10/
[root@localhost ~]# ls /mnt/raid10/
lost+found

七、启动RAID自动挂载

[root@localhost ~]# echo '/dev/md0 /mnt/raid10 ext4 defaults 0 0' | sudo tee -a /etc/fstab
/dev/md0 /mnt/raid10 ext4 defaults 0 0
[root@localhost ~]# tail -2 /etc/fstab 
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/md0 /mnt/raid10 ext4 defaults 0 0

八、查看RAID状态

[root@localhost ~]# mdadm --detail /dev/md0 
/dev/md0:
           Version : 1.2
     Creation Time : Tue Apr  9 18:00:28 2024
        Raid Level : raid10
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent
​
       Update Time : Tue Apr  9 18:14:02 2024
             State : clean 
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0
​
            Layout : near=2
        Chunk Size : 512K
​
Consistency Policy : resync
​
              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : c6e2855d:abd60b0f:701dadf9:b6d79405
            Events : 17
​
    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync set-A   /dev/sdb
       1       8       32        1      active sync set-B   /dev/sdc
       2       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde

  • 16
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Linux上配置RAID5磁盘阵列,您可以按照以下步骤进行操作: 1. 确保您的系统已经连接了所有的磁盘。您可以使用命令`lsblk`或`fdisk -l`来查看当前连接的磁盘列表。 2. 安装所需的软件包。通常,`mdadm`软件包用于管理软件RAID。您可以使用以下命令进行安装: ``` sudo apt-get install mdadm ``` 3. 创建RAID5磁盘阵列。您需要使用`mdadm`命令来创建和配置RAID设备。以下是一个示例命令,用于创建一个由三个硬盘组成的RAID5阵列: ``` sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdX /dev/sdY /dev/sdZ ``` 请将`/dev/sdX /dev/sdY /dev/sdZ`替换为您实际的磁盘设备名称。 4. 等待RAID5阵列创建完成。这可能需要一些时间,取决于磁盘的大小和性能。 5. 创建文件系统并挂载RAID设备。一旦RAID5阵列创建完成,您可以使用`mkfs`命令创建文件系统,然后使用`mount`命令将其挂载到适当的目录下: ``` sudo mkfs.ext4 /dev/md0 sudo mount /dev/md0 /mnt/raid ``` 6. 配置自动挂载。如果您希望在系统启动时自动挂载RAID设备,您可以将其添加到`/etc/fstab`文件中。打开该文件并在末尾添加类似于以下行的条目: ``` /dev/md0 /mnt/raid ext4 defaults 0 0 ``` 7. 测试RAID5阵列。您可以通过在RAID设备上创建和删除文件来测试其功能。确保RAID设备正常工作并且数据可靠。 请注意,上述步骤是一个简单的概述,并且可能因您的具体情况而有所不同。在操作中,请确保备份重要数据,并小心操作以避免数据丢失。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值