安全的动态磁盘策略 linux内核可以模拟RAID控制器,用来管理硬盘,但只支持级别0,1,4,5 RAID0 又称striping 把连续的数据访问分散到多个磁盘上来提高存储性能,速度最快,但最危险。 RAID1 又称Mirror或Mirroring 最大限度的保证用户数据的可用性和可修复性,用户数据100%自动复制到另外一个硬盘上,速度稍慢,因为要同时写多个硬盘。 RAID5 最少需三个硬盘 不对存储的数据时行备份,而把数据和对应的奇偶校验信息分别存储在不同的磁盘上,当一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。 RAID0+1 也称RAID10 结合RAID0和RAID1的优点,很多公司在应用
Linux中的软件RAID 1.默认内核已支持软件RAID控制器 2.需安装raidtools工具来创建管理RAID设备,raidtools包含有RAID创建管理工具和默认的示范性配置文件,安装完后编辑/etc/raidtab这配置文件,它可以从raidtools中的示范配置文件里(在/usr/share/doc/raid-~/目录下)复制。最后用以下命令创建RAID设备:
#mkraid /dev/md0 #mkraid -f /dev/md0 #mkraid -R /dev/md0 后两个命令是强制创建,覆盖以前建的超级块。
但Fedora Core5不使用这个,而用mdadm工具。 3.软件RAID设备文件名:/dev/mdN (N=0,1,2…) 4.软件RAID设备可以当分区看待,需格式化后挂载 #mkfs.ext3 /dev/md1 #mount /dev/md1 /opt 5.停止RAID设备 #umount /opt #raidstop /dev/md0 要永久删除RAID设备,还需删除raidtab文件,否则重启后RAID仍起作用。 6.显示RAID设备信息 #lsraid -A -a /dev/md1 7.RAID1故障模拟 假设sdb1与sdc1两个磁盘做RAID1,sdb1磁盘坏了,加入新一块磁盘sdd1。 #raidsetfaulty /dev/md1 /dev/sdb1 #raidhotadd /dev/md1 /dev/sdd1 #more /proc/mdstat 查看磁盘修复过程 #raidhotremove /dev/sdb1 最后还要修改raidtab文件。
使用mdadm来创建和管理RAID RAID0 添加硬盘 RAID设备的成员是硬盘分区,需先对硬盘分区,分区不能在同一物理硬盘上 #fdisk /dev/sdb n创建主分区,t分区类型fd,w写保存 #fdisk /dev/sdc #mdadm –Cv /dev/md0 –l0 –n2 /dev/sdb1 /dev/sdc1 -C,--create 创建一个新的阵列 -v,verbose 显示细节 /dev/md0 阵列设备的名称 -l,--level= 阵列级别,如0,1,4,5,6 -n,--raid-devices= 阵列活动数目 /dev/sd[bc]1 阵列包含的设备列表 #more /proc/mdstat 查看阵列状态 #mkfs.ext3 /dev/md0 创建文件系统 #mount /dev/md0 /mnt/raid 让系统自动挂载,修改/etc/fstab,添加 /dev/md0 /mnt/raid ext3 defaults 0 0
RAID5 故障模拟 前面已创建了一个RAID5设备md0 #mdadm –Cv /dev/md0 –l5 –n3 –x1 –c128 /dev/sd[b,c,d,e]1 1.将/dev/sdb1标记为已损坏的设备 #mdadm /dev/md0 –f /dev/sdb1 这时阵列开始重构和恢复数据 2.移除损坏的设备 #mdadm /dev/md0 –r /dev/sdb1 3.将新设备添加到阵列 注意,一:对硬盘正确分区,二:添加设备名要与被移除的一致,如sdb1 #mdadm /dev/md0 –a /dev/sdb1
生成配置文件/etc/mdadm.conf 格式如下: DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 ARRAY /dev/md10 level=raid10 num-devices=4 UUID=12334343dkfj
其中UUID信息通过#mdadm –D /dev/md10得到 #mdadm –Ds 扫描该文件信息
常用阵列维护命令 1.启用阵列 #mdadm –As /dev/md0 -A 启用已存在的阵列 -s 以/etc/mdadm.conf为依据 没有创建mdadm.conf文件,则采用如下方法启用 #mdadm –A /dev/md0 /dev/sd[bc]1 2.停止阵列 #mdadm –S /dev/md0 3.显示阵列详细信息 #mdadm –D /dev/md0
|