Chinaunix首页 | 论坛 | 博客
  • 博客访问: 39890
  • 博文数量: 11
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-24 12:37
文章分类
文章存档

2006年(11)

我的朋友
最近访客

分类: LINUX

2006-06-15 15:35:04

一、制作RAID
#fdisk /dev/sdb
使用命令n创建分区,按p选择主分区.分区完成后按t改变分区类型为fd,命令w保存分区表并退出,依次分完b、c、d、e、f盘
# mdadm -Cv /dev/md0 -l5 -n4 -x1 -c128 /dev/sd[b,c,d,e,f]1
命令中各参数分别表示如下作用:“-C”指创建一个新的阵列;“/dev/md0”表示阵列设备名称;“-l5”表示设置阵列模式,可以选择0、1、4、5、6,它们分别对应于RAID0、RAID1、RAID4、RAID5、RAID6,这里设为RAID5模式;“-n4”指设置阵列中活动设备的数目,该数目加上备用设备的数目应等于阵列中的总设备数; “-x1”设置阵列中热备份设备的数目,当前阵列中含有1个热备份设备;“-c128”指设置块的尺寸为128KB,缺省为64KB;“/dev/sd[b,c,d,e,f]1”指当前阵列中包含的所有设备标识符,也可以分开来写,中间用空格分开,其中最后一个为备份设备。
 
注:制作RAID0的时候是没有必要加入-x参数,也就是没有必要加入热备盘

# more /proc/mdstat
等待新建或重构完成以后,生成配置文件/etc/mdadm.conf,文件格式如下:
DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
ARRAY /dev/md0 level=raid5 num-devices=4 UUID=8f128343:715a42df: baece2a8: a5b878e0
以上信息可以通过扫描系统阵列来获取
# mdadm -Ds
根据输出按照格式填写配置文件
创建文件系统并挂接:
# mkfs -t ext3 /dev/md0
# mkdir /raid5
# mount /dev/md0 /raid5
为了让系统在启动时自动将/dev/md0挂接到raid5,还需要修改/etc/fstab文件,添加如下内容:
/dev/md0 /mnt/raid ext3 defaults 0 0
二、故障模拟
我们仍然沿用上面的RAID5配置,首先往阵列中拷贝一些数据,接下来开始模拟/dev/sdb1设备故障。不过,对于无备份设备的RAID5的模拟过程也要经过如下三步,只是阵列重构和数据恢复是发生在新设备添加到阵列中之后,而不是设备损坏时。
1.将/dev/sdb1标记为已损坏的设备
# mdadm /dev/md0 -f /dev/sdb1
查看当前阵列状态
# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdf1[3] sdd1[2] sde1[1] sdc1[0] sdb1[4](F)
75469842 blocks level 5, 128k chunk, algorithm 2 [4/3] [_UUU]
[=>...................] recovery = 8.9% (3358407/37734912) finish=1.6min speed=9382K/sec
unused devices:
因为有备份设备,所以当阵列中出现设备损坏时,阵列能够在短时间内实现重构和数据的恢复。从当前的状态可以看出,阵列正在重构,且运行在降级模式,sdb1[4]的后面已经标上了(F),活动设备数也降为2个。
经过几分钟后,再次查看当前阵列状态。
# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdf1[3] sdd1[2] sde1[0] sdc1[1] sdb1[4](F)
75469842 blocks level 5, 128k chunk, algorithm 2 [4/4] [UUUU]
unused devices:
此时阵列重构已经完成,数据恢复完毕,原有的备份设备sdf1成为了活动设备。
2.移除损坏的设备
# mdadm /dev/md0 -r /dev/sdb1
查看当前阵列的状态:
# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdf1[3] sdd1[2] sde1[0] sdc1[1]
75469842 blocks level 5, 128k chunk, algorithm 2 [4/4] [UUU]
unused devices:
损坏的sdb1已经从阵列中移掉。
3.将新设备添加到阵列中
因为是模拟操作,可以通过下面的命令再次将/dev/sdb1添加到阵列中。如果是实际操作则要注意两点:一是在添加之前要对新磁盘进行正确的分区;二是添加时要用所添加设备的设备名替换/dev/sdb1。
# mdadm /dev/md0 -a /dev/sdb1
查看当前阵列的状态:
# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdf1[4] sdd1[3] sde1[2] sdc1[1] sdb1[0]
75469842 blocks level 5, 128k chunk, algorithm 2 [4/4] [UUU]
unused devices:
这时sdb1作为备份设备再次出现在阵列中
常用阵列维护命令
1.启动阵列
# mdadm -As /dev/md0
该命令指启动/dev/md0阵列,其中“-A”指装载一个已存在的阵列;“-s”指查找mdadm.conf文件中的配置信息,并以此为依据启动阵列。
#mdadm -As
该命令指启动mdadm.conf文件中的所有阵列。
#mdadm -A /dev/md0 /dev/sd[b,c,d,e]1
如果没有创建mdadm.conf文件则可以采用上面这种启动方式。
2.停止阵列
# mdadm -S /dev/md0
3.显示指定阵列的详细信息
# mdadm -D /dev/md0

三、LVM使用
1、制作物理卷
#fdisk /dev/sdm
使用命令n创建分区,按p选择主分区.分区完成后按t改变分区类型为8e,命令w保存分区表并退出,依次分完m,l盘
#pvcreate /dev/sdm1
#pvcreate /dev/sdl1
2、制作卷组
#vgcreate vg01 /dev/sdm1 /dev/sdl1
3、建立逻辑卷
#lvcreate -L 100M -n lv01 vg01
100M指创建的逻辑卷大小
4、卷组扩充
#vgextend vg01 /dev/sdb1
5、删除逻辑卷
#lvremove /dev/lv01
6、扩充逻辑卷
#lvextend -L +500M /dev/vg01/lv01
7、创建文件系统和挂接
#mkfs -t ext3 /dev/vg01/lv01
#mkdir /lv01
#mount /dev/vg01/lv01 /lv01
8、查看LVM信息
#vgdisplay -v /dev/vg01
#lvdisplay /dev/vg01/lv01
阅读(910) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~