服务器硬件和RAID配置

目录

前言

一、磁盘阵列介绍

1.1  RAID是什么

1.2  RAID 0(条带化存储)

1.3  RAID 1(镜像存储)

1.4  RAID 5

1.5  RAID 6

1.6  RAID 1 0 (先做镜象,再做条带)

1.7  各磁盘阵列比较

二、阵列卡介绍与缓存

2.1   阵列卡是什么

2.2  阵列卡缓存

三、创建软RAID磁盘阵列步骤

3.1  检查是否已安装mdadm软件包

3.2 扫描并查看

 3.3   使用fdisk.工具将新磁盘划分出主分区

3.4  创建RAID设备

3.5  查看RAID磁盘详细信息

3.6   用watch命令来每隔-一段时间刷新

3.7   检查磁盘是否EL做RAID

3.8   创建并挂载文件系统

3.9   实现故障恢复

3.9.1  模拟/dev/sdc1故障

3.9.2  移除故障盘

3.10  添加新盘符,此时 /dev/sdc1 变成了热备

3.11   创建/etc/mdadm.conf 配置文件

总结


前言

今天在工作中遇到了关于RAID的问题,就是磁盘冗余阵列,总结一下,也供大家学习参考。 

一、磁盘阵列介绍

1.1  RAID是什么

RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。
组成磁盘阵列的不同方式称为RAID级别(RAID Levels)。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。

1.2  RAID 0(条带化存储)

RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余
RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据
RAID不能应用于数据安全性要求高的场合

1.3  RAID 1(镜像存储)

通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据
当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能
RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据.

1.4  RAID 5

N (N≥3) 块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储
N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高
(N-1) /N磁盘利用率
可靠性高,允许坏1块盘,不影响所有数据

1.5  RAID 6

N (N≥4)块盘组成阵列,(N-2) /N磁盘利用率
与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块
两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用
相对于RAID 5有更大的“写损失"因此写性能较差

1.6  RAID 1 0 (先做镜象,再做条带)

N (偶数,N≥4) 块盘两两镜像后,再组合成一个RAID 0
N/2磁盘利用率
N/2块盘同时写入,N块盘同时读取
性能高,可靠性高

1.7  各磁盘阵列比较

RAID级别容错性硬盘数量磁盘利用率是否校验写性能
RAID0NN单个硬盘的N倍
RAID1允许一个设备故障N(偶数)N/2需写入两对存储设备,互为主备
RAID5允许一个设备故障N>=3(N-1)/N需写计算校验
RAID6允许两个设备故障N>=4(N-2)/N需双重写计算校验
RAID1 0

允许两个基组中各坏一个

N>=4(偶数)N/2N/2块硬盘同时写入

二、阵列卡介绍与缓存

2.1   阵列卡是什么

阵列卡的全称叫磁盘阵列卡 是用来做 RAID(廉价冗余磁盘阵列)的。磁盘阵列是一种把若干硬磁盘驱动器按照一定要求组成一个整体,整个磁盘阵列由阵列控制器管理的系统。冗余磁盘阵列RAID(Redundant Array of Independent Disks)技术1987年由加州大学伯克利分校提出,最初的研制目的是为了组合小的廉价磁盘来代替大的昂贵磁盘,以降低大批量数据存储的费用(当时RAID称为Redundant Array of Inexpensive Disks 廉价的磁盘阵列),同时也希望采用冗余信息的方式,使得磁盘失效时不会使对数据的访问受损失,从而开发出一定水平的数据保护技术。
通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等-系列组件构成的。
不同的RAID卡支持的RAID功能不同。例如:支持RAID0、RAID1、 RAID5、 RAID10等
RAID卡的接口类型:IDE接口、SCSI接口、 SATA接口和SAS接口


2.2  阵列卡缓存

●缓存(Cache)是RAID卡与外部总线交换数据的场所,
RAID卡先将数据传送到缓存,再由缓存和外边数据总线
交换数据
●缓存的大小与速度是直接关系到RAID卡的实际传输速度
的重要因素
●不同的RAID卡出厂时配备的内存容量不同,一般为几兆
到数百兆容量不等

三、创建软RAID磁盘阵列步骤

3.1  检查是否已安装mdadm软件包

[root@localhost ~]rpm -q mdadm
mdadm-4.0-5.el7.x86_64

3.2 扫描并查看

[root@localhost ~]# echo "- - -" > /sys/class/scsi_host/host0/scan 
[root@localhost ~]# fdisk -l

磁盘 /dev/sda:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009a374

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     3907583     1952768   83  Linux
/dev/sda2         3907584   125829119    60960768   8e  Linux LVM

磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-root:56.4 GB, 56417583104 字节,110190592 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:6002 MB, 6002049024 字节,11722752 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sde:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

 3.3   使用fdisk.工具将新磁盘划分出主分区

# fdisk /dev/ sdb
# fdisk /dev/ sdc 
# fdisk /dev/ sdd
[root@localhost ~]# fdisk /dev/sde
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x6d0a5a9b 创建新的 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 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

3.4  创建RAID设备

#创建RAID5
[root@localhost ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.

各参数意思

-C:表示新建;
-v:显示创建过程中的详细信息。
/dev/md0: 创建RAID5的名称。
-ayes:--auto,表示如果有什么设备文件没有存在的话就自动创建,可省略。
-1: 指定RAID 的级别,15表示创建RAID5。.
-n:指定使用几块硬盘创建RAID, n3表示使用3块硬盘创建RAID。
/dev/sd [bcd]1: 指定使用这3块磁盘分区去创建RAID。
-x:指定使用几块硬盘做RAID的热备用盘,x1表示保留1块空闲的硬盘作备用
/dev/sde1: 指定用作于备用的磁盘

3.5  查看RAID磁盘详细信息

[root@localhost ~]# mkfs.xfs /dev/md5
meta-data=/dev/md5               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

3.6   用watch命令来每隔-一段时间刷新

[root@localhost ~]# watch -n 10 ' cat /proc/mdstat '

3.7   检查磁盘是否EL做RAID

[root@localhost ~]# mdadm -E /dev/sd[b-d]1

3.8   创建并挂载文件系统

[root@localhost ~]# mkdir /opt/kgc_md5
[root@localhost ~]# mount /dev/md5
[root@localhost ~]# mount /dev/md5 /opt/kgc_md5/
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   53G  6.2G   47G   12% /
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G     0  1.9G    0% /dev/shm
tmpfs                    1.9G  9.1M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda1                1.9G  179M  1.7G   10% /boot
tmpfs                    378M   28K  378M    1% /run/user/0
/dev/sr0                 4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/md5                  40G   33M   40G    1% /opt/kgc_md5

3.9   实现故障恢复

3.9.1  模拟/dev/sdc1故障

[root@localhost ~]# mdadm /dev/md5 -f /dev/sdc1 
mdadm: set /dev/sdc1 faulty in /dev/md5
[root@localhost ~]# mdadm -vD /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Fri Aug 13 08:42:41 2021
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Fri Aug 13 09:16:25 2021
             State : clean 
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:5  (local to host localhost.localdomain)
              UUID : 936b15d8:b276c7b6:d7281375:f141994f
            Events : 39

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       3       8       65        1      active sync   /dev/sde1
       4       8       49        2      active sync   /dev/sdd1

       1       8       33        -      faulty   /dev/sdc1

3.9.2  移除故障盘

[root@localhost ~]#mdadm /dev/md5 -r /dev/sdc1  #移除故障盘
[root@localhost ~]# mdadm -D /dev/md5 查看
/dev/md5:
           Version : 1.2
     Creation Time : Fri Aug 13 08:42:41 2021
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Fri Aug 13 09:16:25 2021
             State : clean 
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:5  (local to host localhost.localdomain)
              UUID : 936b15d8:b276c7b6:d7281375:f141994f
            Events : 39

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       3       8       65        1      active sync   /dev/sde1
       4       8       49        2      active sync   /dev/sdd1

3.10  添加新盘符,此时 /dev/sdc1 变成了热备

[root@localhost opt]# mdadm /dev/md5 -a /dev/sdc1      
mdadm: added /dev/sdc1                                  

3.11   创建/etc/mdadm.conf 配置文件

[root@localhost opt]echo ' DEVICE /dev/sdc1 /dev/sdb1 /dev/sdd1 /dev/sde1' > /etc/mdadm.conf

mdadm命令其它常用选项

-r: 移除设备
-a:添加设备
-S: 停止RAID
-A: 启动RAID

总结

       其实除了RAID0,1,5,6还有01,10的组合,比较复杂,这里就暂且不谈,但过程步骤都是一样的,就是用mdadm命令把分区或磁盘组合,然后用-l选项指定对应的模式,最后都要格式化,挂载后才能使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值