当前位置:Linux教程 - Linux文化 - redhat as 4 制作各种RAID和LVM的使用

redhat as 4 制作各种RAID和LVM的使用


一、制作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