一、RAID的建立

1、准备需要数量且容量相同的硬盘或分区。做软raid可以用硬盘,也可以用分区,容量要一致。

2、mdadm命令创建raid

mdadm --create --auto=yes /dev/md[0-9] --level=[015] --raid-devices=N  --spare-devices=N /dev/sdx /dev/hdx...

选项与参数:
--create :为创建 RAID 的选项;
--auto=yes :决定创建后面接的软件磁盘阵列装置,亦即 /dev/md0, /dev/md1,这个名字不是指的硬盘设备名或分区设备名,而是建好raid后的设备名称。
--raid-devices=N :使用几个磁碟 (partition) 作为磁盘阵列的装置,即指做raid硬盘或分区的个数。
--spare-devices=N :使用几个磁碟作为备用 (spare) 装置,这是指备用盘,实际不参与raid组建,只是当raid中的某个盘出错后,会自动加入raid进行重建raid。
--level=[015] :配置这组磁盘阵列的等级。支持很多,不过建议只要用 0, 1, 5 即可
--detail :后面所接的那个磁盘阵列装置的详细资讯
/dev/sdx /dev/hdx...:这才是参与组建raid硬盘设备名或分区设备名称。这里的硬盘或分区数量不能比前面指定的raid-devices和spare-devices两数相加之和少。

例:

mdadm --create --auto=yes  /dev/md0  --level 5 --raid-devices=3 --spare-devices=2 /dev/sda{5,6,7,8,9}


建立raid设备 md0, raid等级为raid5, 建立raid的硬盘数为3, 备用盘为2,设备为/dev/sda上的5,6,7,8,9五个分区。


mdadm --detail /dev/md0 //查看raid设备详细信息。


cat /proc/mdstat              //也可以查看raid的详细信息。

3、格式化raid设备并挂载


(1)mkfs -t ext4 /dev/md0   


(2)mount  /dev/md0 /var/raid5  


(3)更改配置文件以把设备写入fstab中。

mdadm --detail /dev/md0 | grep -i uuid  //查看md0的设备UID

在/etc/mdadm.conf中,增加:

ARRAY  /dev/md0 UUID=7c60c049:57d60814:bd9a77f1:57e49c5b

再在fstab中增加;


/dev/md0  /var/raid  ext4  default  1 2

即可。

4、管理、修改raid设备

mdadm --manage /dev/md[0-9] [--add 装置] [--remove 装置] \
> [--fail 装置]
选项与参数:
--add :会将后面的装置加入到这个 md 中!
--remove :会将后面的装置由这个 md 中移除
--fail :会将后面的装置配置成为出错的状态,目的是让备用设备参与到raid建设中来。


例一:把某盘设备错误状态,让备用盘加进来。


mdadm --manager /dev/md0 --fail /dev/sda6    //此时sda6会设成错误盘,备用盘sda8会自动加进来替换sda6。


例二:把坏盘移出,新盘加入。

新建一个等大小的分区sda10

mdadm --manager /dev/md0 --add /dev/sda10 --remove /dev/sda6  //把坏的sda6移出,把sda10加进来。


5、关闭raid


方法一:mdadm --stop /dev/md0   可以关闭raid。


方法二:

umount /dev/md0

进入 /etc/fstab中删除相关挂载项。


最后都要进入mdadm配置文件中,删除相关项。


二、LVM

(一)VLM的创建

LVM的创建过程:

先建立好分区,(用fdisk把分区变换成8e的格式,也可以省略此步)(此分区不能挂载)--》把分区转换成物理卷(pv)--》把物理卷添加到卷组(vg)(由很多物理卷组成,,可想像成一块新的未分区但支持划分逻辑卷的硬盘)--》在卷组的基础创建逻辑卷(lv)。



1、把分区先转化成物理卷。也叫初始化。(最好先把分区变成8e格式)

     pvcreate /dev/hda1        //把分区转换为物理卷
     pvscan                            //查看物理卷

    vgscan                             //扫描物理卷 把所有需要转换的分区转换成物理卷后,用vgscan命令扫描一下。  //此步可以省略

2、建立卷组。把一个或多个分区转换成物理卷后,建立卷组,可一次性建立,也可以分步建立

   (1) vgcreate 卷组名  物理卷1 物理卷2 ......  //建立卷组

            例:vgcreate vg0   hda1 hda2  hda3        //把hda1 hda2 hda3三个物理卷加入到卷组vg0中。

   (2) vgextend 卷组名  物理卷         //增加新的物理卷到已有卷组中 

   (3)  vgreduce  组名  物理卷           //把物理卷从卷组中删除

   (4) vgdisplay                               //查看卷组的物理块长度及大小。
   (5) vgscan                                   //扫描卷组

   (6)  vgcreate命令的详细参数

              vgcreate [-lps] [卷组名 物理卷名]

             

-l:卷组上允许创建的最大逻辑卷数;

-p:卷组中允许添加的最大物理卷数;
  -s:  卷组上的物理卷的PE大小

              vgcreate -s 大小   //更改卷组块的大小。因为卷组是以块数来确定大小的,所以块的大小改变后,卷组的大小也会改变。

          例: vgcreate -s 8M    //把卷组的块大小改为8M。后面可以接卷组名。

           

3、生成逻辑卷

 

(1) lvcreate -n 逻辑卷名 【-L 逻辑卷大小| -l 块数】 卷组名 

         -l:即用块数分配卷的大小。用上面的vgdisplay可以看到?的大小。如块大小为4M,块数为50,则逻辑卷就是200M。
       
         例:lvcreate  -n elitek -L 500M  vg0    //建立一个名为elitek的逻辑卷
     
(2)lvdisplay   //查看逻辑卷
 (3)lvscan       //查看LV状态。


 4、格式化逻辑卷

      mke2fs -j /dev/vg0/elitek      //格式化刚才创建的逻辑卷。

或  mkfs -t ext4 /dev/vg0/elitek


5、挂载逻辑卷


     mount -t ext4 /dev/vg0/elitek   /var/elitek

    然后把挂载后的逻辑卷写入fstab中,实现自动挂载,不然重启后需要重新挂载。



(二)移动卷的数据,增加减小卷

     1、增加逻辑卷大小:如果一个卷组的空间足够大,而一个逻辑卷的空间不足时,可增加逻辑卷的大小。
     
        方法一:
        (1)lvextend -L +大小  逻辑卷名   
             lvextend -L +500M  /dev/vg0/elitek     //即逻辑卷增 加500M空间
        (2)更改文件系统大小,与增加的大小相匹配

              unmount  /dev/vg0/elitek    //先卸载挂载
              resize2fs  /dev/vg0/elitek  //重新设定文件系统大小,增加完逻辑卷空间后要重新设定下才生效。

       方法二:

           e2fsadm -L +大小  逻辑卷    //此命令可以代替以上两步。
       例:e2fsadm -L +500M /dev/vg0/elitek   //此命令以上面的等同。

  

2、 减小逻辑卷大小
    
        方法一:
       
           (1)先减小文件系统
            
             umount  /dev/vg0/elitek    //先取消挂载
             resize2fs /dev/vg0/elitek 52800  //减小后逻辑卷的块数,即你逻辑卷减小后,逻辑卷块数还有多少?如果不先运行这一步,可能会 造成数据丢失

           (2)减小卷的大小
    
                lvreduce  -L  -500M  /dev/vg0/elitek    //减小逻辑卷大小

          方法二:
             
             e2fsadm -L -大小  逻辑卷    //此命令可以代替以上两步。 

            例:e2fsadm -L -500M /dev/vg0/elitek   //此命令以上面的等同。


(三)删除逻辑卷、卷组、物理卷的方法

      1、逻辑卷已经已经卸载挂载。
      2、lvremove /dev/vg0/elitek    //删除逻辑卷elitek
      3、vgchange [-a|n|y] 卷组名     //激活(-ay)或不激活(-an)卷组。  要删除逻辑卷,要先用-an把卷组转换为不激活。
      4、vgremove 卷组名             //删除卷组    

     5、pvremove  /dev/sda5     //删除物理卷。

    6、fdisk命令把分区格式变换成  83即可。


7、移动物理卷数据

     pvmove 物理卷名     //把这个物理卷上的内容移到同一卷组的其他空闲物理卷中。

     再用 vgreduce 卷组名   物理卷名   可以把这个物理卷从卷组中删除。