HOME 生活记录运维/编程
作者/来源:yixinu.com
栏目:运维/编程
日期:2012-06-05 01:52:45

增加磁盘后,需要重新排列阵列中的数据

添加磁盘到已经存在的RAID5中


一、直接使用 md5 分区模式

Steps:

    1、创建一个RAID5 的磁盘阵列

        三个硬盘都为2G

[root@localhost ~]# mdadm -C /dev/md5 -l 5 -n 3 /dev/sd{b,c,d}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
md5 : active raid5 sdd[3] sdc[1] sdb[0]
      4191232 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [=====>...............]  recovery = 27.9% (585600/2095616) finish=0.3min speed=73200K/sec
      
unused devices: <none>

    完成后查看磁盘阵列md5的空间大小为4G,


[root@localhost ~]# fdisk /dev/md5 -l

Disk /dev/md5: 4291 MB, 4291821568 bytes



    2、格式化 md5 分区,并挂载使用


[root@localhost ~]# mkdir /data/md5 -p
[root@localhost ~]# mkfs.ext4 /dev/md5
……
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@localhost ~]# mount /dev/md5 /data/md5/
[root@localhost ~]# 


    拷贝一些数据进去


[root@localhost ~]# find /etc -iname "*.conf" | gawk '{system("cp "$1" /data/md5");}'



    3、md5  当前的状态


[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
        Version : 1.2
  Creation Time : Tue Jun  5 09:59:03 2012
     Raid Level : raid5
     Array Size : 4191232 (4.00 GiB 4.29 GB)
  Used Dev Size : 2095616 (2046.84 MiB 2145.91 MB)
   Raid Devices : 3
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Tue Jun  5 10:09:14 2012
          State : clean 
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : localhost.localdomain:5  (local to host localhost.localdomain)
           UUID : 95da51bd:aa7cdf89:9195774b:6bce5d11
         Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       3       8       48        2      active sync   /dev/sdd
[root@localhost ~]# 



    4、添加一个磁盘到  阵列中


[root@localhost ~]# mdadm /dev/md5 -a /dev/sde
mdadm: added /dev/sde
[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
        Version : 1.2
  Creation Time : Tue Jun  5 09:59:03 2012
     Raid Level : raid5
     Array Size : 4191232 (4.00 GiB 4.29 GB)
  Used Dev Size : 2095616 (2046.84 MiB 2145.91 MB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Tue Jun  5 10:11:22 2012
          State : clean 
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 512K

           Name : localhost.localdomain:5  (local to host localhost.localdomain)
           UUID : 95da51bd:aa7cdf89:9195774b:6bce5d11
         Events : 19

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       3       8       48        2      active sync   /dev/sdd

       4       8       64        -      spare   /dev/sde
[root@localhost ~]# 


    发现添加的磁盘自动变成了备用盘


    5、将备用盘转换成数据盘


[root@localhost ~]# mdadm -G /dev/md5 -n 4
mdadm: Need to backup 3072K of critical section..
[root@localhost ~]# 


        查看  md5 状态  ,  reshape


Personalities : [raid6] [raid5] [raid4] 
md5 : active raid5 sde[4] sdd[3] sdc[1] sdb[0]
      4191232 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
      [=============>.......]  reshape = 66.2% (1388048/2095616) finish=0.5min speed=22560K/sec
      
unused devices: <none>
[root@localhost ~]# 

        

[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
        Version : 1.2
  Creation Time : Tue Jun  5 09:59:03 2012
     Raid Level : raid5
     Array Size : 6286848 (6.00 GiB 6.44 GB)
  Used Dev Size : 2095616 (2046.84 MiB 2145.91 MB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Tue Jun  5 10:16:14 2012
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : localhost.localdomain:5  (local to host localhost.localdomain)
           UUID : 95da51bd:aa7cdf89:9195774b:6bce5d11
         Events : 49

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       3       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde
          备用盘已经转换为数据盘 , 但是文件系统中没有变化



[root@localhost ~]# df /dev/md5 -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/md5              4.0G   74M  3.7G   2% /data/md5
[root@localhost ~]# 
     还是  4G  。。

     resize2fs  md5阵列,改变分区大小


[root@localhost ~]# resize2fs /dev/md5
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/md5 is mounted on /data/md5; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/md5 to 1571712 (4k) blocks.
The filesystem on /dev/md5 is now 1571712 blocks long.


此时变成了  6G
[root@localhost ~]# df /dev/md5 -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/md5              6.0G   74M  5.6G   2% /data/md5
[root@localhost ~]# 


在这个目录下    /sys/block/md5/md  ,查看这个文件   cat sync_action ,可以查看 RAID 的状态 ,注意  md5 是创建的raid5分区的名称


二、使用LVM模式


Steps:

    1、停止刚刚建立的MD5,重新建立 RAID5阵列,并pvcreate 、 vgcreate 、 lvcreate。。


[root@localhost /]# umount /dev/md5
[root@localhost /]# mdadm -S /dev/md5
mdadm: stopped /dev/md5
[root@localhost /]# mdadm -C /dev/md5 -l 5 -n 3 /dev/sd{b,c,d}
mdadm: /dev/sdb appears to be part of a raid array:
    level=raid5 devices=4 ctime=Tue Jun  5 09:59:03 2012
mdadm: /dev/sdc appears to be part of a raid array:
    level=raid5 devices=4 ctime=Tue Jun  5 09:59:03 2012
mdadm: /dev/sdd appears to be part of a raid array:
    level=raid5 devices=4 ctime=Tue Jun  5 09:59:03 2012
Continue creating array? yes
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@localhost /]# pvcreate /dev/md5
  Writing physical volume data to disk "/dev/md5"
  Physical volume "/dev/md5" successfully created
[root@localhost /]# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               vg_host001
  PV Size               19.51 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4994
  Free PE               0
  Allocated PE          4994
  PV UUID               pc0z1m-6cqz-qp9R-osBS-oyM1-qzJf-jOQYuv
   
  "/dev/md5" is a new physical volume of "4.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/md5
  VG Name               
  PV Size               4.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               IXVHeC-gDj7-PKUQ-AzpA-b0Kq-aT53-dtXYko
   
[root@localhost /]# vgcreate testmd /dev/md5



    2、格式化,挂载、拷贝一些文件


[root@localhost /]# mount /dev/testmd/testmd_01 /data/md5
……
[root@localhost /]# mkfs.ext4 /dev/testmd/testmd_01 
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
……
[root@localhost /]# mount /dev/testmd/testmd_01 /data/md5
[root@localhost /]# history | grep find
  349  find -iname "bond"
  350  find -iname "bonding"
  351  find -iname "bond*"
  398  find /etc -iname "*.conf" | gawk '{system("cp "$1" /data/md5");}'
  430  history | grep find
[root@localhost /]# !398
find /etc -iname "*.conf" | gawk '{system("cp "$1" /data/md5");}'
[root@localhost /]# ^C
[root@localhost /]# 
……



       3、为  RAID5  添加一个硬盘


[root@localhost /]# mdadm /dev/md5 -a /dev/sde
mdadm: added /dev/sde
[root@localhost /]# mdadm -G /dev/md5 -n 4
mdadm: Need to backup 3072K of critical section..
[root@localhost /]# 


        注意:必须等这个过程完成后,才能  pvresize


Personalities : [raid6] [raid5] [raid4] 
md5 : active raid5 sde[4] sdd[3] sdc[1] sdb[0]
      4191232 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
      [=============>.......]  reshape = 67.5% (1415172/2095616) finish=0.4min speed=23287K/sec
      
unused devices: <none>



    4、pvresize


        当前物理卷的大小为


[root@localhost ~]# pvs
  PV         VG         Fmt  Attr PSize  PFree
  /dev/md5   testmd     lvm2 a--   4.00g 2.00g


        查看  md5 扩充后的大小


[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
        Version : 1.2
  Creation Time : Tue Jun  5 10:59:55 2012
     Raid Level : raid5
     Array Size : 6286848 (6.00 GiB 6.44 GB)
  Used Dev Size : 2095616 (2046.84 MiB 2145.91 MB)


        pvresize , 用参数 setphysicalvolumesize  ,数据从上面的查到的粘贴上去,注意后面一定要单位


[root@localhost ~]# pvresize /dev/md5 --setphysicalvolumesize 6286848k
  Physical volume "/dev/md5" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized
     查看物理卷大小


[root@localhost ~]# pvs
  PV         VG         Fmt  Attr PSize  PFree
  /dev/md5   testmd     lvm2 a--   5.99g 3.99g


    成功。。。。。。。。。

分享到:

Copyright © 2013-2014 yixinu.com 湘ICP备14004402号

QQ:316686606  Email: 316686606@qq.com