Chinaunix首页 | 论坛 | 博客
  • 博客访问: 174792
  • 博文数量: 65
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 720
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-16 08:59
文章分类

全部博文(65)

文章存档

2011年(3)

2010年(3)

2009年(43)

2008年(16)

我的朋友

分类: LINUX

2009-01-06 17:29:14

目的: 用3个空盘创建一个RAID5盘陈,在这个RAID盘阵上划定两个LVM分区,web1和
web2.
 
在我们举的系统上有4块大小相等的SCSI硬盘,第一块上/dev/sda上有我们的系统分区,其它三块硬盘(SDB,SDC,SDD)都没有分区表,
fdisk /dev/sdb  (fdisk /dev/sdc    fdisk /dev/sdd)
注意,HEX CODE选择fd
利用3个SCSI分区建立一个RAID5硬盘。
#mdadm --create(-C) /dev/md0 --level=5(-l5) --raid-devices=3(-n3) /dev/sdb1 /dev/sdc1 /dev/sdd1
在建盘阵的时候,/proc/mdstat文件显示出的进度信息如下:
#cat /proc/mdstat
...........................
...........................
...........................
虽然给mdadm命令一个配置文件它也会用(一般是/etc/mdadm.conf),但是就技术而言,它并不要求有一个配置文件。我们建议使用一个配置文件。它按一种标准方式说明了RAID的配置,因而给系统管理员一个在出现问题的时候可以查看的明确的地方,另一种使用配置文件的方法是在每次启动盘阵的时候在命令行指定配置文件
mdadm --detail --scan  命令把当前的RAID设置存储到一个配置文件里,遗憾的是,该命令打印出的配置不是非常完整,下面的命令能为我们举例的设置提供一个完整的配置文件.
#echo DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 > /etc/mdadm.conf
#mdadm --detail --scan >> /etc/mdadm.conf
#cat /etc/mdadm.conf
...................
....................
 
#mdadm -As /dev/md0  (-A :指装载一个已存在的阵列 -s:指查找mdadm.conf文件中的配置信息)
#mdadm -S /dev/md0   (手工停止盘阵)
 
我们已经把3块硬盘组建成了一个逻辑上的RAID硬盘,现在就可以在我们创建的可扩大(也可以缩小)的文件系统上划定逻辑卷组了,配置LVM有几个清楚的步骤.
1、创建(实际上是划定)和初始化物理卷
2、把物理卷加入一个卷组
3、在卷组上创建逻辑卷
LVM命令以字母开头,字母反映了它们在那个抽像层上执行操作:pv命令操作物理卷 vg命令操作卷组  lv命令操作逻辑卷
LVM比较老的版本要求第一步先执行vgscan,但是现在不必要了,代之以直接用pvcreate命令初始化每个物理设备。对于本例来说,我们使用我们刚创建的RAID5设备/dev/md0.
#pvcreate /dev/md0  这个操作会破坏设备或者分区上的所有数据,所以我们要特别小心,虽然我们在这个例子里只用了一个物理设备,但是LVM允许我们向一个卷组增加多个不同类型的设备。
我们的物理设备现在准备好了被加入到一个卷组:
#vgcreate LVM1 /dev/md0
如果要检查,使用vgdisplay
# vgdisplay LVM1
.................
最后要在卷组LVM1里创建逻辑卷,再在卷上创建分区,我们让两个逻辑卷每个都10GB大小。
#lvcreate -L 10G -n web1 LVM1
#lvcreate -L 10G -n web2 LVM1
我们在LVM1里创建了两个逻辑卷web1和web2,我们就能创建并安装我们的文件系统。
#mke2fs -j /dev/LVM1/web1
#mke2fs -j /dev/LVM1/web2
 
#mkdir /web1  /web2
#mount /dev/LVM1/web1 /web1
#mount /dev/LVM1/web2 /web2
文件系统最后准备就绪,可以投入使用。我们把新文件系统加到/etc/fstab文件,重启系统保证所有配置都能运行无误。
 
处理故障硬盘:
考虑一个硬盘发生故障的情况:因为RAID5提供了某种程度的数据冗余性,我们在上一节组建的RAID5盘阵在一块硬盘发生故障的时候仍然能继续工作,用户不必知道任何问题.管理员需要仔细检查系统日志.及早发现问题
mdadm 命令提供了一个方便的选项能模拟一个硬盘发生故障
#mdadm /dev/md0 -f /dev/sdc1
mdadm:set /dev/sdc1 faulty in /dev/md0
 
此刻系统管理员应该采取如下措施
1、从RAID盘阵中删除硬盘
2、安排停运时间,关闭计算机(如果必要)
3、更换物理硬盘
4、向盘阵中加新硬盘
要从RAID的配置里删除设备,使用mdadm
#mdadm /dev/md0 -r /dev/sdc1
mdadm: hot removed /dev/sdc1
硬盘一旦在逻辑上被删除了,就可以更换硬盘,支持热交换的硬件让用户可以不必关闭系统或者重启就能更换硬盘。
 
如果直接用硬盘组建RAID,那么应该只用相同的硬盘更换它们。用分区组建的RAID可以用相同大小的分区来替换,虽然为了带宽匹配的缘故,如果硬件上能采用相似的硬盘那就最好了,
注:如果RAID的配置是在分区上组建的,在向盘阵加入替换的硬盘之前,必须运行fdisk正确地划定分区。
#mdadm /dev/md0 -a /dev/sdc1
 
重新分配存储空间:
用户或者日志文件填满了分区是比较硬盘故障更常见的情况。假如我们所举的例子里的/web1增长超出了我们的预期,它需要更多空间,只要简短几步,就可以调整LVM分区的大小,到底用什么样的命令取决于所用的文件系统。下面这个例子里采用的步骤针对的是ext3文件系统,这些步骤包括:
研究当前的LVM配置   (vgdisplay LVV | grep Size      df -B -m)
用lvextend和resize2fs(已经不用ext2online)命令分区的大小
增加空间:
#lvextend -L +2G(在原有的基本上增加) /dev/LVV/web1
#resize2fs /dev/LVV/web1
 
减小分区过程和增大分区相反,需要先resize文件系统,然后再reduce分区,但是和增大分区相比,减小分区受到的限制比较多。
首先,对ext2/ext3文件系统来说,resize2fs工具不能在线减小文件系统,因此必须先卸载了这个分区的文件系统才行.
其次,resize2fs工具也不能像LVM的工具那样,可以指定增量或者是减量,因此必须要知道分区减小以后的容量大小才可以。这个容量也是有单位的,我也用M。
LVM的减小
工具lvreduce也提供了减量和绝对减量,所以减小分区的时候可以都采用绝对容量比较容易一些.
最后,resize2fs工具可能会提示要e2fsck -f这块分区,可以带上-f选项强制执行,不过我建议还是让检查一下比较保险。
命令格式:
resize2fs device size
lvreduce -L size lv名或者路径
和增大分区相似,resize2fs命令在最后加上新容量大小;lvreduce命令如果要跟减量的话,就变成了“-”。
#umount /dev/LVV/web1
#e2fsck -f /dev/LVV/web1
#resize2fs /dev/LVV/web1 1000M
#lvreduce -L 1000M /dev/LVV/web1
#mount ....
(df -B -m)
阅读(720) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~