1、Linux AS5 软RAID5阵列LVM逻辑卷实战数据恢复和阵列扩容Linux AS5 软RAID5阵列LVM逻辑卷实战数据恢复和阵列扩容先在虚拟机VMware6下配置6块SCSI硬盘(1块8GB,其余的各2GB),并在第一块硬盘上安装好 Red Hat AS5操作系统。软RAID5阵列的创建和维护通过命令行操作,因此没有配置X-Windows窗口操作在ssh终端完成。用fdisk -l 命令查看一机器已识别出来的硬盘情况,可以看到/dev/sdbc、d、e、f盘还没有进行分区;用其中的3块(sdb、sdc、sdd)盘组建一个RAID5阵列,软RAID是建立在磁盘分区上的,因此在创 建RAI
2、D阵列前先要给磁盘分区,且分区类型是Linux的软RAID分区;使用fdisk /dev/sdbc、d分别给三块盘进行分区,并指定分区类型为Linux raid autodetect分区。键入命令 fdisk /dev/sdb 提示一些信息,然后键入m查看fdisk区分命令帮助;这里要创建分区,键入n,提示创建分区类型e扩展分区p主分区,键入p创建主分区,键入1创建第一个主分区,这里只创建一个主分区使用全部磁盘空间,因此分区的起始位置默认;将创建的主分区设置为软RAID分区类型,因此键入t命令,提示输入分区类型16进制代码,没有人能记住键入L查看一下,Linux raid atuo区分类型的1
3、6进制代码是fd;键入fd,最后键入w保存并退出fdisk,分区完成,重复操作完成其它磁盘的分区创建;分区完成后再键入fdisk -l 命令看一下分区是否已创建,DOS下可能提示你需要重新启动分区才有效,如果你不放心可重新启动一下,Linux不用重启可继续下面的任务;可以看到/dev/sdb1c1、d1、e1、f1的分区已创建,下面开始创建软RAID阵列;这里创建 RAID5阵列先使用/dev/sdb1c1、d1三个盘(实际是分区);键入mdadm create /dev/md0 level=5 raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1命令;命令
4、详见:mdadm 是软RAID的管理工具,-create 参数指定创建的阵列,后边跟要创建的阵列设备名/dev/md0 ,-level 参数指定阵列的级别,5(RAID5)或1(RAID1),-raid-devices参数指定组成阵列组的设备数量和设备列表,=3表示由3个设备组 成,后边跟设备名列表,每个设备之间用空格分开 /dev/sdb1 /dev/sdc1 /dev/sdd1 ;创建成功提示array /dev/md0 started.并自动开始同步;键入mdadm detail /dev/md0 命令查看阵列的当前详细状况,给出阵列组创建时间,当前状态等信息;clean状态良好,deg
5、raded状态降级,recovering状态恢复;图中 给出的创建后同步状态,Rebuild Statues 完成3;键入watch n 3 cat /proc/mdstat 命令每隔3秒(如果你盘比较大重建过程会较长,自己掌握刷新时间)刷新打印一次/proc/mdstat文件(RAID阵列的当前状态),可实时监视重建过程,键入CtrlC退出;同步完成后再次键入mdadm detail /dev/md0 命令查看一下RAID5阵列的状态,已经是clean良好状态了,下面就可以在md0设备上建文件系统了;考虑到日后磁盘空间不够用,需要对RAID5阵列进行扩容,因此将文件系统创建在LVM上;动态调
6、整逻辑卷大 小,实现存储容量动态增长;下面介绍如何在软RAID设备上创建LVM;创建LVM基本上分三步,首先创建物理卷PV,再创建卷组VG,最后在卷组上创建 逻辑卷LV;键入命令 pvcreate /dev/md0 在软RAID设备上创建物理卷;物理卷创建成功,可使用命令 pvdisplay 查看物理卷信息;键入命令 vgcreate raid5vg /dev/md0创建卷组raid5vg,命令格式为卷组名和物理设备;卷组创建成功,可使用命令 gvdisplay 查看卷组信息;在卷组上创建逻辑卷(即分区)键入命令 lvcreate n raid5lv l 1535 raid5vg,命令详解:-
7、n 参数后边跟逻辑卷的名,-l参数指定逻辑卷的大小(这里用的块),可使用-L参数指定逻辑卷组大小,最后指定在那个卷组上创建逻辑卷;创建成功后可找到 /dev/raid5vg/raid5lv 设备;在raid5lv逻辑卷上创建文件系统并格式化就能使用了;键入命令 mkfs.ext3 /dev/raid5vg/raid5lv 创建文件系统并格式化为ext3格式;现在你就可以使用创建的RAID5阵列了,将他挂载到/raid目录下(提前创建目录)体验一下吧,往/raid目下复制一些文件,以便在后边的操作中检验阵列的安全性;使用df h命令查看一下磁盘当前存储情况,RAID5阵列挂载到/raid目录,已
8、使用了20%;(说明:RAID5磁盘的理论容量为n-1块最小盘容量,但在实际应用中我发现3块320GB(厂商容量)的硬盘组建RAID5总容量为587GB,可用总容量为558GB,30GB的空间被莫名占用百思不得其解,请各位指教);如果你感觉每次启动都执行mount命令太麻烦的话,修改/etc/fstab文件,把/dev/raid5vg/raid5lv的挂载信息写进去吧,这样启动后就自动挂载了;下面我们模拟一个磁盘损坏/dev/sdc1设置为fail或在虚拟机上把它删了(注意直接删可能重排列 SCSI设备,最好是删了重新再添加一个新的虚拟磁盘,这样你应该放心了,一个盘的数据丢失,看看软RAID5
9、是否能找回来);如图/dev/sdc的确 是一个新磁盘,还没有任何分区;此时查看一下RAID5阵列的状态,键入mdadm detail /dev/md0命令;发现/dev/sdc1设备被删除,阵列状态为clean,degraded状态;文件没有丢失,/raid目录下的文件可用,阵列组仍处于工作状态;给新的/dev/sdc设备进行分区(略),然后添加到阵列组中,恢复RAID5阵列;将已分好区的/dev /sdc1分区添加到阵列中,键入mdadm -manage /dev/md0 -add /dev/sdc1添加sdc1到阵列;软RAID阵列在运行状态能进行热维护,-manage参数省略认为是阵列
10、的管理操作;重看阵列恢复状态,/dev/sdc1磁盘的状态为 spare rebuilding,阵列状态为clean, degraded, recovering状态;用户watch命令监视恢复进度;完成后再次查看阵列状态阵列已恢复到clean状态;某些情况下磁盘的空间可能不够用了需要扩充容量,这里介绍如何向已建好的RAID5 阵列中添加磁盘的操作(数据很多时没有实践过,不过我建议如果你能备份数据的话,最好在扩容前备份数据);准备好扩容的磁盘分区(略),键入mdadm /dev/md0 -add /dev/sde1f1命令,添加设备到阵列,这里一次添加了两个其中一个做备用;这时阵列一共有5个磁盘
11、组成,其中3块处于active sync状态,剩下两块处于spare状态(说明:在创建阵列时使用-spare-devices参数可指定备用盘);键入 mdadm grow /dev/md0 raid-devices=4命令,使阵列设备由原来的3个增加到4个;键入mdadm -detail /dev/md0 命令查看阵列状态;可以看到阵列已经有4个设备了,当前处于clean,recovering状态,reshape重建阵列中;使用watch命令监视reshape重建进度;完成后阵列的容量已扩充;RAID5组的容量由原来的4GB扩充到6GB了,文件系统是建立在LVM上的,因此还需要对逻辑卷进行扩容
12、, 最后使文件系统在线(mount状态下)进行容量扩充;用pvdisplay命令查看物理卷的情况(重启一下系统否则pv看不到容量扩充),可以看到还有 剩余没有分配的空间(RAID5扩容后),键入pvresize /dev/md0 命令将剩余的空间全部(可加参数指定再分配的空间大小)分配给物理卷;然后要调整逻辑卷的大小,键入 lvresize l +512 /dev/raid5vg/raid5lv 命令,使逻辑卷再增加512块(2GB空间);最后就是调整文件系统的大小了,使用 resize2fs /dev/raid5vg/raid5lv 命令(可能提示你先运行e2fsck先进行检测),调整逻辑卷上文件系统大小;完成回再用df -h命令看一下磁盘空间,/raid空间已就增加到6GB了,还可以再看看你的文件是否可用;至此,在Linux AS5上配置RAID5并创建LVM,实现阵列扩容和存储容量扩充就介绍完了,我用4块320GB的IED接口的硬盘已实现了上述操作,除重建速度慢些及实际空间与理由空间差几十个GB外没有其它问题,希望能给各位以参考。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1