Linux Raid及LVM

  • RAID

  RAID简介:RAID(Redundant Arrays of Independent Disks )独立冗余硬盘阵列;1988年由加利福尼亚大学伯克利分校研发

     把多块硬盘组合成一个“阵列”来提供更好的冗余和性能

   提高IO能力:磁盘并行读写

   提高耐用性:磁盘冗余来实现

RAID实现方式

    硬件RAID

         外接磁盘阵列:通过扩展卡提供适配能力

         内接RAID:主板集成RAID控制器;安装OS前在BIOS里配置

    软件RAID

RAID有级别之分;级别:多块磁盘组织在一起的工作方式有所不同

常见的级别  RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD  

   RAID-0  条带集strip

    工作原理:将连续的数据均匀分散存放在多块硬盘上

    性能提升:读、写

    冗余能力:无

    空间利用率:n

    硬盘个数:2,2+

    image.png

    RAID-1 镜像mirror

     工作原理:每块盘上存放相同数据

     性能提升:读性能提升,写性能下降

     冗余能力:有

     空间利用率:1/2

     硬盘个数:2,2n

      image.png

   RAID-4

      有一块硬盘存放校验位;其它硬盘上存放数据;因为存放校验位的盘很容易坏;所以导致RAID-4使用较少

   RAID-5 带奇偶校验的条带集

      工作原理:数据和奇偶校验信息分别存放在不同磁盘上
      性能提升:读、写

      冗余能力:有  允许最多坏一块盘

      空间利用率:(n-1)/n

      硬盘个数:3,3+

     image.png

    RAID-6

      工作原理:在RAID-5的基础上又增加了一位校验位;数据和两位校验位分别存放在不同硬盘上

      性能提升:读、写

      冗余能力:有  允许最多坏二块盘

      空间利用率:(n-2)/n

      硬盘个数: 4,4+

    image.png

   RAID-10

     工作原理:先实现RAID-1再组合成RAID-0

     性能提升:读、写

     冗余能力:有  每组镜像最多只能坏一块

     空间利用率:1/2

     硬盘个数:4,4+

     image.png

   RAID-01

     工作原理:先实现RAID-0再组合成RAID-1

     性能提升:读、写

     空间利用率:1/2

    硬盘个数:4,4+

     image.png

   RAID-50

     工作原理:先实现RAID-5再组合成RAID-0

     性能提升:读、写

     冗余能力:有  

     空间利用率:(n-2)/n

     硬盘个数:6,6+

     image.png

   JBOD 

      工作原理:将多块磁盘的空间合并一个大的连续空间使用

      性能提升:无

      冗余能力:无

      空间利用率:100%

      硬盘个数:至少2块

     image.png

     RAID7    理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID模式

软件RAID

     为空余磁盘添加冗余;设备命名为/dev/md0、/dev/md1,...

   mdadm 为软RAID提供管理界面;模式化的工具
       支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10

     mdadm [mode] <raiddevice> [options] <component-devices>

            -C  装载

               -a {yes|no}:自动创建目标raid设备的设备文件

               -l #:指定raid级别

               -n #:指明使用#个块设备来创建raid

               -x #:指明空闲盘个数

               -c #:指定chunk大小

      mdadm -C /dev/md0 -a yes -l5 -c 256 -n3 -x1 /dev/sda{c,d,e,f}

            -D | --detail:显示raid详细信息

          mdadm -D /dev/md#

            cat /proc/mdstat  显示raid状态

             -f:标记指定磁盘为损坏

          mdadm /dev/md# -f /dev/DEVICE  模拟磁盘故障

             -a:添加磁盘

          mdadm /dev/md# -a /dev/DEVICE  

          mdadm -G /dev/md# -a /dev/DEVICE  添加新成员

             -r:移除磁盘

          mdadm /dev/md# -r /dev/DEVICE  

        mdadm -Ds /dev/md#  >> /etc/mdadm.conf   生成配置文件

        mdadm -S /dev/md#  停止设备

        mdadm -As  /dev/md#  激活设备

        mdadm -R /dev/md#  强制启动

        mdadm --zero-superblock /dev/DEVICE  清除raid信息

     软件raid实现步骤

             1、准备硬盘或分区

             2、创建RAID

             3、创建文件系统

             4、挂载

             5、创建RAID配置文件 

    删除raid

           1、取消挂载

           2、删除raid配置文件

           3、停止raid

           4、清除raid信息

           5、删除硬盘分区

  • LVM

  LVM(Logical Volume Manager)逻辑卷管理

    dm:device mapper,将一个或多个底层块设备组合成一个逻辑设备的模块

  设备名  /dev/dm-#
   软链接

         /dev/vg_name /lv_name --> /etc/dm-#

         /dev/vg_name/lv_name --> /etc/dm-#

   image.png

   LVM可弹性更改LVM容量

        通过交换PE来进行资料转换,将原来LV内的PE移动到其它设备中以降低LV容量,或将其它设备中的PE添加到LV中以加大容量

     PE:Physical Extent 分配卷组空间的单位

     PV(Physical Volumes):物理卷;VG(Volume Group):卷组;LV(Logical Volumes):逻辑卷

              image.png

  逻辑卷管理器

     允许对卷进行方便操作的抽象层,包括重新设定文件系统大小;在多个物理设备间重新组织文件系统

        1、将设备指定为物理卷

              物理卷用固定大小的物理区域(PE)来定义

        2、用一个或多个物理卷来创建卷组

        3、在物理卷上创建逻辑卷

        4、可以在逻辑卷上创建文件系统

 PV管理工具

  pvs | pvdisplay 查看物理卷信息

  pvcreate /dev/DEVICE...  创建物理卷

  pvremove /dev/DEVICE  删除物理卷

  pvmove /dev/DEVICE  把指定设备中数据从一个物理卷中移到同一卷组中另一个物理卷上

 VG管理工具

  vgs | vgdisplay  查看卷组

  vgcreate  /dev/DEVICE  /dev/DEVICE1... 创建卷组

  vgchange [options...]  vgname

                   -s #:改变PE大小

                    -an:禁用卷组

                    -ay:激活卷组

  vgextend [options...]  /dev/vgname/lvname  扩展卷组

                    -L #:以容量为单位

                    -l #:以PE数量为单位

                       -r:扩展容量同时重新设定文件系统大小

  vgextend vgname /dev/vgname/lvname  新物理卷加入到旧卷组中

  vgreduce  vgname /dev/DEVICE  缩减卷组

  vgexport  vgname 导出卷组

  vgimport  vgname 导入卷组

  vgrename vgname vgrename 重命名卷组

  vgremove vgname 删除卷组

  LV管理工具

 lvs | lvdisplay  查看逻辑卷

 lvcreate  [options...]  vgname

                -n:指定逻辑卷

             -L #:指定大小,以容量为单位

              -l #:指定大小,以PE个数为单位

 lvextend  [options...]  /dev/vgname/lvname  扩展逻辑卷

                -L #:以容量为单位

                       +#:增加多少

                          #:指定多少

                -l:以PE为单位

                -r:扩展容量时同时重新设定文件系统大小

 lvreduce  [options...]  /dev/vgname/lvname  缩减逻辑卷

                 -L #:指定缩减容量

 lvremove vgname   删除逻辑卷

 lvrename lvname /dev/vgname/lvrename    重命名逻辑卷

一、创建逻辑卷

          pvcreate  /dev/sdx  /dev/sdy

          vgcreate  [-s 16M] vgname  /dev/sd{x,y}

          lvcreate  -n  lvname  -L  50G  vgname

二、扩展逻辑卷

    1、添加物理硬盘

    2、创建物理卷

    3、添加物理卷到旧卷组中(扩展卷组)

    4、扩展逻辑卷

    5、重新设定文件系统大小

   相关命令

       pvcreate  /dev/sdx  

       vgextend   vgname  /dev/sdx

       lvextend -L  50G  /dev/vgname/lvname

       resize2fs   /dev/vgname/lvname 

三、缩减逻辑卷

    1、取消挂载

    2、检查文件系统

    3、重新设定文件系统大小

    4、缩减逻辑卷

    5、挂载

      umount  

      ckfs -f  /dev/vgname/lvname

      resize2fs  /dev/vgname/lvname  10G

      lvreduce -L 10G /dev/vgname/lvname

      mount 

  注意:缩减文件系统有可能会造成数据丢失

四、删除vg中的pv缩减vg

       1、添加物理硬盘或分区

       2、创建物理卷

       3、创建卷组并把物理卷加入

       4、迁移空间(把存放数据的物理卷上所有占用的PE移到同一卷组里的其它成员上)

       5、缩减卷组

       6、删除物理卷(物理卷变为普通硬盘)

   相关命令

       pvcreate /dev/sdx

       vgcreate vgname /dev/sdx

       pvmove  /dev/sdy

       vgreduce vgname /dev/sdy

       pvremove /dev/sdy 

五、跨主机迁移卷组

     源主机

         1、取消挂载

         2、禁用卷组

         3、导出卷组

    目标主机

         4、导入卷组

         5、激活卷组

         6、挂载

    相关命令

         umount

         vgchange  -an  vgname

         vgexport  vgname

         vgimport  vgname

         vgchange -ay vgname

         mount  

六、快照管理

   创建快照

   快照恢复

   删除快照




猜你喜欢

转载自blog.51cto.com/10461810/2108049