7.1服务器及RAID磁盘阵列介绍
RAID将一组硬盘连结起来,组成一个阵列,以避免单个硬盘损坏而带来的数据损失同时亦提供了比单个硬盘高的可用性及容错性。常见的组合方式有:RAIDO、RAID1、RAID5RAID6、RAID01、RAID10,下面分别介绍它们的特性。
7.1.1 RAID 0
RAID0俗称“条带”,它将两个或多个硬盘组成一个逻辑硬盘,容量是所有硬盘之和,因为是多个硬盘组合成一个故可并行写操作,写入速度提高,但此方式硬盘数据没有冗余,没有容错,一旦一个物理硬盘损坏,则所有数据丢失。
7.1.2 RAID 1
RAID1俗称“镜像”,它最少由两个硬盘组成,且两个硬盘上存储的数据均相同,以实现数据冗余。
7.1.3 RAID5
RAID5 最少由三个硬盘组成,它将数据分散存储于阵列中的每个硬盘,并且还伴有一个数据校验位,数据位与校验位通过算法能相互验证,当丢失其中的一位时,RAID 控制器能通过算法,利用其它两位数据将丢失的数据进行计算还原。
7.1.4 RAID 6
RAID6 是在 RAID5 的基础上改良而成的,RAID6再将数据校验位增加一位,所以允许损坏的硬盘数量也由 RAID5 的一个增加到二个。
7.1.5 RAID 1+0
RAID1+0 是先将数据进行镜像操作,然后再对数据进行分组,RAID1在这里就是一个冗余的备份阵列,而RAID0则负责数据的读写阵列。至少要四块盘,两块raid0,另两块做 raid1,RAID 10 对存储容量的利用率和 RAID 1 一样低,只有 50%。
Raid1+0 方案造成了 50%的磁盘浪费,但是它提供了 200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一Raid1中,就能保证数据安全性、RAID 10 能提供比 RAID5更好的性能.
7.2 阵列卡介绍
阵列卡全称叫磁盘阵列卡是用来做RAID。磁盘阵列是一种把若干硬盘驱动器按照一定要求组成一个整体,整个磁盘阵列由阵列控制器管理的系统。
7.2.1阵列卡接口类型
接口类型目前主要有几种:IDE接口,SCSI接口,SATA接口和SAS接口。
7.2.2 阵列卡的缓存
缓存(Cache)是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到缓存,再由缓存和外边数据总线交换数据。
7.3 构建软RAID磁盘阵列
首先为Linux服务器添加4块SCSI硬盘,使用mdadm软件包,构建RAID5磁盘阵列,提高磁盘存储的性能和可靠性。
(1)安装mdadm工具
在 CentOS7.9 系统中 mdadm 工具由 mdadm-3.4-14.el7.x86_64软件包提供,执行rpm-qalgrep mdadm 命令查看系统中是否安装 mdadm 工具。若系统内未安装 mdadm 工具,可使用 RPM 或 YUM 方式安装。
yum -y install mdadm #安装mdadm工具
(2)准备用于RAID阵列的分区
添加4块SCSI硬盘。
[root@localhost ~]# lsblk #查看硬盘 fdisk /dev/sd* #进行分区 命令(输入 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):+2G 分区 1 已设置为 Linux 类型,大小设为 2 GiB 命令(输入 m 获取帮助):t 进入创建类型 已选择分区 1 Hex 代码(输入 L 列出所有代码):fd 选择要创建的类型 已将分区“Linux”的类型更改为“Linux raid autodetect” 命令(输入 m 获取帮助):p 磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xbf0aaa62 设备 Boot Start End Blocks Id System /dev/sdc1 2048 4196351 2097152 fd Linux raid autodetect 命令(输入 m 获取帮助):w 保存
(3)创建RAID设备
使用mdadm命令创建RAID,执行以下命令即可创建名称为md0的RAID5
[root@localhost ~]# mdadm -Cv /dev/md0 -a yes -n4 -l5 /dev/sd[*]1 #创建/dev/md0文件夹并指定使用几块硬盘和指定RAID的级别 mdadm: layout defaults to left-symmetric mdadm: layout defaults to left-symmetric mdadm: chunk size defaults to 512K mdadm: size set to 2094080K mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. [root@localhost ~]# cat /proc/mdstat #查看信息 Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sde1[4] sdd1[2] sdc1[1] sdb1[0] 6282240 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU] unused devices:
上述命令中所用到的参数的作用如下所示
参数 | 作用 |
-C | 等同于create,表示创建 |
-v | 显示创建过程中信息 |
/dev/md0 | 创建RAID5的名称 |
-a | 表示通知mdadm是否创建设备文件,并分配一个未使用的次设备号,后面跟yes代表如果有什么设备文件没有存在的话就自动创建 |
-n | 指定使用几块硬盘创建RAID,n4表示使用4块硬盘创建RAID |
-l | 指定RAID的级别:l5表示创建RAID5 |
/dev/sd[*]1 | 指定多块磁盘分区 |
下一篇:Netty实现udp服务器