千家信息网

Linux的RAID磁盘阵列与阵列卡

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,Linux的RAID**磁盘阵列与阵列卡**一、RAID概念?RAID--**独立磁盘冗余阵列(Redundant Array of Independent Disks),原本叫做廉价磁盘冗余阵列。R
千家信息网最后更新 2025年12月02日Linux的RAID磁盘阵列与阵列卡

Linux的RAID**磁盘阵列与阵列卡**

一、RAID概念?

RAID--**独立磁盘冗余阵列(Redundant Array of Independent Disks),原本叫做廉价磁盘冗余阵列。RAID 的基本思想是将多个容量较小、相对廉价的磁盘进行有机组合,从而以较低的成本获得与昂贵大容量磁盘相当的容量、性能、可靠性。随着磁盘成本和价格的不断降低, RAID 可以使用大部分的磁盘, "廉价" 已经毫无意义。所以RAID咨询委员会使用"独立"代替"廉价"。**

二、为什么需要RAID?

RAID**的种类目前来说使用的较多的是RAID0、RAID1、RAID5、RAID6。RAID的初心是为大型服务器提供高端的存储功能和冗余的数据安全,但RAID0显然是不符合该要求的,因为RAID0是为了极大程度地提高数据读写(I/O)的效率和硬盘的使用率,因此其原理是同时向多个磁盘中同时写入信息,但是不保证数据的安全可靠性,有一块磁盘挂了就无法导致数据丢失,适用于仅仅只需要高读写能力的场景,而后面的类型对于数据的安全与可靠性都有了明显的改善与加强。**

RAID1--**镜像复制,使用两块或以上的磁盘(一般是偶数块)进行读写,向一块磁盘中写入信息,并且复制一份到另一块磁盘中,这样保证了数据的可靠读写,两者互不影响,但是使用率只有原本资源的一半,所以是可靠性较强但资源耗费也是比较大的。**

说白了,RAID0是只在乎速度,而RAID1考虑的是安全。而RAID5则是由三块磁盘构成,凭借算法进行奇偶差错校验来确保数据的可靠性的同时兼顾磁盘使用率,其允许一块磁盘挂掉,但是在修复重建数据的时间段中不可以再有磁盘损坏,否则数据仍然会丢失。

RAID6**则是基于RAID5的基础上进行双重校验以保证两块磁盘挂掉的情况下数据仍然不会丢失。但是其读写性能就比较低了尤其是磁盘损坏的时候,读写速度将急剧下降,而且价格方面也是较其他而言更加昂贵。**

三、软RAID配置实验操作流程

1. 首先将分区类型转换为fd(前提是已经添加磁盘)

2. 管理RAID磁盘

3. 格式化文件格式

4. 挂载

下面对RAID0进行配置的实验操作:

[root@lokott ~]# lsblk //**查看磁盘概要信息**

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 40G 0 disk

├─sda1 8:1 0 6G 0 part /boot

├─sda2 8:2 0 20G 0 part /

├─sda3 8:3 0 4G 0 part [SWAP]

├─sda4 8:4 0 1K 0 part

└─sda5 8:5 0 10G 0 part /home

sdb 8:16 0 20G 0 disk

sdc 8:32 0 20G 0 disk

sdd 8:48 0 20G 0 disk

sde 8:64 0 20G 0 disk

sr0 11:0 1 4.2G 0 rom /run/media/root/CentOS 7 x86_64

[root@lokott ~]# fdisk /dev/sdb //**设置b磁盘分区格式为fd**

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

Device does not contain a recognized partition table

使用磁盘标识符 0x363a740e 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p):

Using default response 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.

正在同步磁盘。

[root@lokott ~]# fdisk /dev/sdc

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

Device does not contain a recognized partition table

使用磁盘标识符 0x1d0b68fc 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p):

Using default response 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.

正在同步磁盘。

//**查看分区是否正确**

[root@lokott ~]# fdisk -l /dev/sd[b-c]

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x363a740e

设备 Boot Start End Blocks Id System

/dev/sdb1 2048 41943039 20970496 fd Linux raid autodetect

磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x1d0b68fc

设备 Boot Start End Blocks Id System

/dev/sdc1 2048 41943039 20970496 fd Linux raid autodetect

[root@lokott ~]# mdadm -C -v /dev/md0 -l0 -n2 /dev/sd[b-c] //mdadm**命令进行RAID磁盘管理**

mdadm: chunk size defaults to 512K //md0**是自己取的RAID0的设备名称,-l是level,0表示的是RAID0**

mdadm: partition table exists on /dev/sdb //1 就是RAID1,5就是RAID5,-n表示需要几块磁盘,后面的加的

mdadm: partition table exists on /dev/sdb but will be lost or //**就是磁盘数量**

meaningless after creating array

mdadm: partition table exists on /dev/sdc

mdadm: partition table exists on /dev/sdc but will be lost or

meaningless after creating array

Continue creating array? y

mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md0 started.

[root@lokott ~]# lsblk /dev/md0 //**查看概要信息的确是RAID0**

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

md0 9:0 0 40G 0 raid0

[root@lokott ~]# mkfs -t xfs /dev/md0

meta-data=/dev/md0 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

[root@lokott ~]# mount /dev/md0 /mnt

[root@lokott ~]# df -hT

文件系统 类型 容量 已用 可用 已用% 挂载点

/dev/sda2 xfs 20G 4.4G 16G 22% /

devtmpfs devtmpfs 474M 0 474M 0% /dev

tmpfs tmpfs 489M 0 489M 0% /dev/shm

tmpfs tmpfs 489M 7.1M 482M 2% /run

tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup

/dev/sda5 xfs 10G 37M 10G 1% /home

/dev/sda1 xfs 6.0G 158M 5.9G 3% /boot

tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42

tmpfs tmpfs 98M 20K 98M 1% /run/user/0

/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64

/dev/md0 xfs 40G 33M 40G 1% /mnt

四、总结

其实软RAID的磁盘阵列的设置还是比较简单的,对于其他类型的RAID的配置的步骤是一样的,当然也可是设置备份,就是在mdadm命令的最后加上-xn (n表示的是备用的磁盘的数量),然后加上设备名称,这里主要是软RAID的设置操作。

磁盘 命令 字节 数据 类型 输入 大小 帮助 阵列 可靠性 安全 代码 信息 就是 标签 标识 标识符 设备 使用率 冗余 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 诛仙2开哪个服务器好 网络技术开发图片 数据库时间戳 比较 服务器一般使用怎样的网线口 路南区软件开发答疑解惑 杭州轻程网络技术有限公司 关于农业技术的数据库 华为服务器配置参数 网络安全投入占比1.87% 异度之刃2怎么进国行服务器 联想中国网络技术有限公司 江阴质量软件开发项目信息 江苏hpe服务器哪家好 帆软报表连接数据库时报错 晋宁区软件开发咨询报价 我的世界国外小游戏服务器 北京软件开发架构设计师工资 河南省超越网络技术有限公司 云服务器无法连接本地测试 网络安全与法治手抄报内容 做中国地图的软件开发 企业管理器怎么改数据库名 腾讯服务器镜像系统怎么选择 我的世界服务器假矿很卡 网络安全法批注 绝地大逃杀服务器架设 高职网络安全策略 司法所开展网络安全信息 网址判断服务器位置 佛教网络安全名词转换
0