文档库 最新最全的文档下载
当前位置:文档库 › Linux软RAID设置规范

Linux软RAID设置规范

软RAID设置规范
2011.07.20

1. 软RAID应用场景

如果设备不具备硬RAID功能,比如部分PC服务器不具备硬RAID功能,
而又想采用RAID技术来保护数据,可以考虑采用软RAID技术。


2. 软RAID成熟度

Linux上软RAID技术已相当成熟,早在Linux 2.2内核时代就已经被内核小组吸收进Linux内核。
https://www.wendangku.net/doc/6810755401.html,/FAQ/Linux-RAID-FAQ/
https://www.wendangku.net/doc/6810755401.html,/HOWTO/Software-RAID-HOWTO.html

Linux下标准软RAID管理工具是mdadm(Multiple Devices Admin的简称),作者是Neil Brown,
mdadm的介绍位于https://www.wendangku.net/doc/6810755401.html,/blog/mdadm


3. 软RAID创建步骤
3.1. 创建RAID5卷磁盘(-n 4的意思是RAID5卷里面一共有4块物理磁盘):
mdadm -Cv /dev/md0 -l5 -n4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm -Cv /dev/md1 -l5 -n4 /dev/sdf /dev/sdg /dev/sdh /dev/sdi

测试结果表明,创建一个含有4块932G硬盘的RAID5卷需要至少9个小时。

3.2. 创建软RAID配置文件
一般来说,一个新的阵列被创建后我们最好创建一个/etc/mdadm.conf文件,没有该文件在激活阵列
时我们就得指定详细的信息,可以使用输出重定向来解决:
mdadm -Ds > /etc/mdadm.conf

4. 软RAID维护
4.1. 查看软RAID的状态
cat /proc/mdstat
mdadm -D /dev/md0

4.2. 检查某个磁盘属于哪个软RAID
mdadm -E /dev/sdX

4.3. 移除损坏的设备
mdadm /dev/md0 -r /dev/sdh2

4.4. mdadm /dev/md0 -a /dev/sdh2
将新设备添加到阵列中

4.5. 启动RAID5卷
mdadm -As (/dev/md0)

4.6. 停止RAID5卷
mdadm -S /dev/md0

4.7. 清空软RAID数据
mdadm --zero-superblock /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk

4.8. 动态增加RAID5卷空间
mdadm -a /dev/md0 /dev/sdX
mdadm -r /dev/md0 -n5(假设原来的RAID5卷是4块硬盘)

5. 在线更换软RAID卷中磁盘

5.1. 模拟md0卷中磁盘/dev/sdc故障
mdadm -f /dev/md0 /dev/sdc
mdadm --manage --set-faulty /dev/md1 /dev/sdc2

5.2. 如果磁盘尚未完全坏透,将分区信息保存下来
sfdisk -d /dev/sdc > partitions.sdc

5.3. 从md0卷中移除磁盘/dev/sdc
mdadm -r /dev/md0 /dev/sdc

5.4. 热拔出磁盘
cat /proc/scsi/scsi

echo "scsi remove-single-device h b t l" > /proc/scsi/scsi

cat /proc/scsi/scsi

# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: WDC WD1002FBYS-0 Rev: 0C06
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: ATA Model: WDC WD1002FBYS-0 Rev: 0C06
Type: Direct-Access ANSI SCSI revision: 05
... ...
#

h是host(SCSI adapter number),硬盘所在SCSI控制器号,也就是scsi0后面的0.
b是bus(channel number),硬盘所在SCSI通道的编号.
t是target(scsi id number),硬盘的SCSI ID号,可通过插入的硬盘插槽来判断.
l是lun,硬盘的lun号,默认情况都是0.

Linux's flavour of SCSI add

ressing is a four level hierarchy:


Using the naming conventions of devfs this becomes:


5.5. 热插入磁盘
echo "scsi add-single-device h b t l" > /proc/scsi/scsi

5.6. 导入之前磁盘的分区信息
sfdisk /dev/sdc < partitions.sdc

5.7. 将新的磁盘/dev/sdc加入md0卷
mdadm -a /dev/md0 /dev/sdc

相关文档