软Raid5阵列LVM逻辑 数据恢复和阵列扩容 别人的blog

 

http://blog.zol.com.cn/1164/article_1163428.html

http://blog.zol.com.cn/1164/article_1163486.html




软RAID是建立在磁盘分区上的,因此在创建RAID阵列前先要给磁盘分区,且分区类型是Linux的软RAID分区。


建立分区

#fdisk /dev/sdb

命令m 列出帮助

命令n 创建新分区, p表示主分区

命令t 设置分区类型,L查看类型代码,fd表示linux raid auto

命令w 写分区表


创建Raid5



键入mdadm -–create /dev/md0 –-level=5 –-raid-devices=3 –c128 /dev/sdb1 /dev/sdc1 /dev/sdd1命令;


命令详见:mdadm 是软RAID的管理工具,

--create 参数指定创建的阵列,后边跟要创建的阵列设备名/dev/md0 ,

--level 参数指定阵列的级别,5(RAID5)或1(RAID1),

-c specify chunk size in KB, default 64

--raid-devices参数指定组成阵列组的设备数量和设备列表,=3表示由3个设备组成,后边跟设备名列表,每个设备之间用空格分开 /dev/sdb1 /dev/sdc1 /dev/sdd1 ;

创建成功提示array /dev/md0 started.并自动开始同步;



查看阵列当前使用状况


mdadm --detail /dev/md0


clean状态良好,degraded状态降级,recovering状态恢复



动态监视阵列情况


watch –n 3 ‘cat /proc/mdstat’

命令每隔3秒(如果你盘比较大重建过程会较长,自己掌握刷新时间)刷新打印一次/proc/mdstat文件(RAID阵列的当前状态),

可实时监视重建过程,键入Ctrl+C退出。



同步完成后再次键入mdadm -–detail /dev/md0 命令查看一下RAID5阵列的状态,已经是clean良好状态了,

下面就可以在md0设备上建文件系统了;


在Raid5上创建LVM

考虑到日后磁盘空间不够用,需要对RAID5阵列进行扩容,因此将文件系统创建在LVM上。


创建LVM基本上分三步,

首先创建物理卷PV,

键入命令 pvcreate /dev/md0 在软RAID设备上创建物理卷;

命令 pvdisplay 查看物理卷信息


再创建卷组VG,

键入命令 vgcreate raid5vg /dev/md0创建卷组raid5vg,命令格式为卷组名和物理设备

gvdisplay 查看卷组信息



最后在卷组上创建逻辑卷LV;

键入命令 lvcreate –n raid5lv –l 1535 raid5vg,

命令详解:

-n 参数后边跟逻辑卷的名,

-l参数指定逻辑卷的大小(这里用的块),可使用-L参数指定逻辑卷组大小,

最后指定在那个卷组上创建逻辑卷;

创建成功后可找到 /dev/raid5vg/raid5lv 设备。


格式化逻辑卷

在raid5lv逻辑卷上创建文件系统并格式化就能使用了;

键入命令 mkfs.ext3 /dev/raid5vg/raid5lv 创建文件系统并格式化为ext3格式;


使用在Raid5上的LVM逻辑卷


现在你就可以使用创建的RAID5阵列了,将他挂载到/raid目录下(提前创建目录)体验一下吧,往/raid目下复制一些文件,以便在后边的操作中检验阵列的安全性;使用df –h命令查看一下磁盘当前存储情况,RAID5阵列挂载到/raid目录,已使用了20%;


mount /dev/raid5vg/raid5lv  /mnt/raid


自动挂载该LVM卷


如果你感觉每次启动都执行mount命令太麻烦的话,

修改/etc/fstab文件,把/dev/raid5vg/raid5lv的挂载信息写进去吧,这样启动后就自动挂载了;


                   

/dev/raid5vg/raid5lv  /mnt/raid      ext3            default     1        1


其中dump为1 表示需要备份

fsckorder  is used by fsck (the filesystem check utility) to determine the order in which filesystems should be checked.  If zero then fsck won't check the filesystem.



某磁盘损坏后 进行raid5的修复

下面我们模拟一个磁盘损坏/dev/sdc1设置为fail或在虚拟机上把它删了(注意直接删可能重排列SCSI设备,最好是删了重新再添加一个新的虚拟磁盘,这样你应该放心了,一个盘的数据丢失,看看软RAID5是否能找回来);


此时查看一下RAID5阵列的状态,键入mdadm --detail /dev/md0命令;发现/dev/sdc1设备被删除,阵列状态为clean,degraded状态;文件没有丢失,


分区

给新的/dev/sdc设备进行分区


将已分好区的/dev/sdc1分区添加到阵列中,

#mdadm [--manage] /dev/md0 --add /dev/sdc1  //添加sdc1到阵列;

软RAID阵列在运行状态能进行热维护,[--manage]参数省略认为是阵列的管理操作;



Raid5扩容


增加设备

#mdadm /dev/md0 --add /dev/sde1   先添加一个设备到阵列中


扩容


#mdadm --grow /dev/md0 --raid-devices=4

命令,使阵列设备由原来的3个增加到4个;

--grow更改参数模式;

 

RAID5组的容量由原来的4GB扩充到6GB

 

改变LVM卷,用来包含新添硬盘

文件系统是建立在LVM上的,因此还需要对逻辑卷进行扩容,最后使文件系统在线(mount状态下)进行容量扩充;

 

调整物理卷

pvdisplay命令查看物理卷的情况(重启一下系统否则pv看不到容量扩充),可以看到还有剩余没有分配的空间(RAID5扩容后),

 

键入pvresize /dev/md0 命令将剩余的空间全部(可加参数指定再分配的空间大小)分配给物理卷;

#pvresize /dev/md0


然后要调整逻辑卷的大小:

#lvresize –l +512 /dev/raid5vg/raid5lv

//使逻辑卷再增加512块(2GB空间);

这个大小需要根据增加的硬盘来决定

 

最后就是调整文件系统的大小了

使用 resize2fs /dev/raid5vg/raid5lv 命令(可能提示你先运行e2fsck先进行检测),调整逻辑卷上文件系统大小;

#resize2fs /dev/raid5vg/raid5lv

 

 

删除Raid5

删除md0后,需要重新建立,使用下面命令

#mknod /dev/md0 b 9 0

删除raid的操作过程

1.删除所有raid对应的磁盘或分区
#mdadm /dev/md0 --fail /dev/sdb --remove /dev/sdb1
#mdadm /dev/md0 --fail /dev/sdc --remove /dev/sdc1
#mdadm /dev/md0 --fail /dev/sde --remove /dev/sde1
#mdadm /dev/md0 --fail /dev/sdf --remove /dev/sdf1
2.
停止raid
#mdadm --stop /dev/md0
3.
清空磁盘(分区)超级块中的raid信息
#mdadm --misc --zero-superblock /dev/sdb1
#mdadm --misc --zero-superblock /dev/sdc1
#mdadm --misc --zero-superblock /dev/sdd1
#mdadm --misc --zero-superblock /dev/sdf1

 



你可能感兴趣的:(Tools,on,Linux)