时间:2021-07-01 10:21:17 帮助过:13人阅读
Raid分为软件Raid和硬件Raid,因为硬件Raid价格昂贵,所以也有人选择使用软件Raid,Raid使用方便且花费较低,下面小编就给大家介绍下Linux如何操作软件Raid。
一、什么是Raid
Raid早期叫作:Redundant Arrays of Inexpensive Disks 容错式廉价磁盘阵列,现在叫作:Redundent Array of Independent Disks,容错式独立磁盘阵列。这是一种使用某种机制把多块硬盘组合在一起使用,并且带有容错功能的存储模块。可以简单的理解为,这是一种将几块小的硬盘组合成一块带有容错功能的大硬盘。Raid通常分好几个等级,例如常见的有:Raid0、Raid1、Raid4、Raid5、Raid6、Raid10、Raid01。Raid的等级并不是通常意义上的等级,这个等级代表的是几种内在存储结构模式完全不一样的磁盘组合。Raid通常用于对数据的存储存在风险且对数据的读写能力要求较高的项目中。
Raid又分硬件Raid和软件Raid,两种Raid结构相同,实现机制类似。不同的是,硬件Raid有专门独立的一块芯片负责处理数据,功能强大,性能突出;而软件Raid对数据的读写却只能依靠CPU处理,因此性能较弱,对于应急处理时可以拿来使用,其它情况下不太赞同使用软件Raid。
二、Linux中对软件Raid的操作
在Linux中通常使用 mdadm 工具对磁盘分区作软Raid操作,mdadm一般是调用系统的md模块工作。md作软raid时,可以把任何块设备做成raid,如系统分区。当给系统磁盘做raid0时不建议使用同一块硬盘上的两个分区,因为raid0本身就是为了让数据分散,但是这种情况还是把数据存储在了一个硬盘上,所以这种情况没有任何意义。此处因为实验原因,在虚拟机上操作,故对Raid0操作不考虑此因素。
mdadm为模式化工具,有以下几种模式
-A: 装配模式
-C: 创建模式
-F: 监控模式
-C: 创建模式 常用参数:
-n #: 用于创建RAID设备的设备个数
-x #: 热备磁盘的个数
-l 级别: 自定义raid级别,raid0,0两种写法都行
-a yes: 自动为创建的raid设备创建设备文件;
-c Chunk_Size: 指定分块大小,默认为512,单位为KB
mdadm其它独参数:
-f:模拟设备为损坏
-r:模拟拔出坏磁盘
-a:把新设备插上
-S: 把RAID停了,此操作需要卸载设备
-D(--detail): 显示阵列的详细信息
下面,我们来新建一个12G的Raid0
1、首先用系统fdisk工具对硬盘分区,分两个大小为6G格式为 Linux raid autodetect的磁盘。
此处我的两个磁盘分别为/dev/sdb1和/dev/sdb2
2、使用kpart和partx命令刷新系统分区表记录
kpartx -af /dev/sdb
partx -a /dev/sdb
然后再使用cat命令查看分区表记录,当列表中出现你新分的分区时你就可以创建raid了
cat /proc/partitions
3、使用命令mdadm -C创建Raid0
mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb{1,2}
-C /dev/md0 设备名为/dev/md0
-a yes 出现问题自动回答为yes
-l 0 等级为raid0
-n 2 设备数为2
/dev/sdb{1,2} 设备为/dev/sdb1和/dev/sdb2
此处有时会提示分区被占用,但仍然能创建成功,操作的时候可以不间断的查看raid情况