zoukankan      html  css  js  c++  java
  • 【Linux】LVM逻辑卷管理和RAID

    LVM概述:
      是对磁盘分区进行管理的一种机制
      是一种将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不 够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现一种磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性,使用普通的磁盘分区,当一个磁盘的分区空间不够使用的时候,可能就会带来很大的麻烦。使用LVM在一定程度上就可以解决普通磁盘分区带来的问题。
      屏蔽了底层磁盘布局,便于动态调整磁盘容量
      相对传统分区方式的有下列优点
        ·空间利用率高:硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间
        ·可以在线扩展容量:文件系统建立在逻辑卷上,而逻辑卷可根据需要改变大小(在卷组容量范围内)以满足要求
        ·文件系统建立在LVM上,可以跨分区,方便使用
        ·可随意定义逻辑卷卷标
        
    注:/boot分区用于存放引导文件,不能应用LVM机制
     
    LVM机制的基本概念:
      PV(Physical Volume,物理卷)
        处于LVM最底层,可以是整个硬盘或使用fdisk等工具建立的普通分区,包括许多默认4MB大小的PE(Physical Extents,基本单元),PE是PV中可以用于分配的最小存储单元
      VG(Volume Group,卷组)
        是一个或多个物理卷组合而成的整体,是建立在PV之上的。同一VG中所有PV的PE大小应该相同,当VG被创建后,我们才能正常查看PE的数量 。
      LV(Logical Volume,逻辑卷)
        从卷组中分割出的一块空间,它是建立在VG之上,相当于原来分区的概念。不过大小可以动态改变。其实LV就是由PE组成的,不过在LV里面这些PE叫做LE。
      LE(Logical Extents)
        LE是LV中可以用于分配的最小存储单元,与PE大小相同并一一对应
     
    LVM管理命令:
        
     
    建立命令的方法:
      ·pvcreate 设备名
      ·vgcreate 卷组名 物理卷名1 物理卷名2
      ·lvcreate -L 大小 -n 逻辑卷名 卷组名
     
    LVM应用实例:
      公司的邮件服务器由于用户数量众多,邮件存储需要大量的空间,考虑到动态扩容的需要,计划增加两块SCSI硬盘并构建LVM逻辑卷,挂载到“/mail”目录专门用于存放邮件数据
        1. 转化物理卷
          使用fdisk命令规划两个分区,类型设置为“8e”
            /dev/sdb1、/dev/sdc1
          使用pvcreate命令转换上述分区为物理卷
    [root@localhost ~]# fdisk -l /dev/sdb /dev/sdc | grep "LVM"
    /dev/sdb1 1 9660 77593918+ 8e Linux LVM
    /dev/sdc1 1 9660 77593918+ 8e Linux LVM
    

          ↑正确分区结果

     
      2. 创建卷组
        使用vgcreate命令创建卷组mail_store
        包括物理卷:/dec/sdb1、/dev/sdc1
    [root@localhost ~]# vgcreate mail_store /dev/sdb1 /dev/sdc1
      Volume group "mail_store" successfully created
    

       

      3. 创建逻辑卷
        使用lvcreate命令创建逻辑卷 mail
        从卷组mail_store上划出60GB空间
        使用mkfs命令创建ext4文件系统
    [root@localhost ~]# lvcreate  -L  60G  -n  mail  mail_store
      /dev/cdrom: open failed: Read-only file system
      Logical volume "mail" created
    [root@localhost ~]# mkfs -t ext3 /dev/mail_store/mail
    ……
    

      

     
    推荐步骤:
      PV→VG→LV→格式化,挂载使用文件系统
    [root@localhost ~]# pvcreate /dev/sdb
      Physical volume "/dev/sdb" successfully created
    [root@localhost ~]# pvcreate /dev/sdc
      Physical volume "/dev/sdc" successfully created
    [root@localhost ~]# pvdisplay
      "/dev/sdb" is a new physical volume of "100.00 GiB"
      --- NEW Physical volume ---
      PV Name               /dev/sdb
      VG Name               
      PV Size               100.00 GiB
      Allocatable           NO
      PE Size               0   
      Total PE              0
      Free PE               0
      Allocated PE          0
      PV UUID               mBETMZ-d9Nh-AEr0-OyXO-h6N7-Dw2y-UqKAq4
       
      "/dev/sdc" is a new physical volume of "200.00 GiB"
      --- NEW Physical volume ---
      PV Name               /dev/sdc
      VG Name               
      PV Size               200.00 GiB
      Allocatable           NO
      PE Size               0   
      Total PE              0
      Free PE               0
      Allocated PE          0
      PV UUID               vvp3Kg-UcbH-imNJ-Mwjl-asAz-5FM1-q8hj98
       
    [root@localhost ~]# pvs
      PV         VG   Fmt  Attr PSize   PFree  
      /dev/sdb        lvm2 ---- 100.00g 100.00g
      /dev/sdc        lvm2 ---- 200.00g 200.00g
    [root@localhost ~]# vgcreate mail_vg /dev/sdb
      Volume group "mail_vg" successfully created
    [root@localhost ~]# vgdisplay
      --- Volume group ---
      VG Name               mail_vg
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  1
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                0
      Open LV               0
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               100.00 GiB
      PE Size               4.00 MiB
      Total PE              25599
      Alloc PE / Size       0 / 0   
      Free  PE / Size       25599 / 100.00 GiB
      VG UUID               0HEnBL-7RV9-CkxU-dyD3-zAqB-ra0o-UkqxZF
       
    [root@localhost ~]# lvcreate -L 150G -n mail_lv mail_vg
      Volume group "mail_vg" has insufficient free space (25599 extents): 38400 required.
    [root@localhost ~]# lvcreate -L 50G -n mail_lv mail_vg
      Logical volume "mail_lv" created.
    [root@localhost ~]# lvdisplay
      --- Logical volume ---
      LV Path                /dev/mail_vg/mail_lv
      LV Name                mail_lv
      VG Name                mail_vg
      LV UUID                wgNvn6-WEJh-FfZA-TZAS-lfrC-gWed-nxMRzw
      LV Write Access        read/write
      LV Creation host, time localhost.localdomain, 2019-01-06 17:42:56 +0800
      LV Status              available
      # open                 0
      LV Size                50.00 GiB
      Current LE             12800
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           253:0
       
    [root@localhost ~]# ll /dev/mail_vg/mail_lv 
    lrwxrwxrwx. 1 root root 7 Jan  6 17:42 /dev/mail_vg/mail_lv -> ../dm-0
    [root@localhost ~]# ll /dev/dm*
    brw-rw----. 1 root disk 253, 0 Jan  6 17:42 /dev/dm-0
    [root@localhost ~]# ll /dev/mapper/
    total 0
    crw-rw----. 1 root root 10, 58 Jan  6 17:35 control
    lrwxrwxrwx. 1 root root      7 Jan  6 17:42 mail_vg-mail_lv -> ../dm-0
    [root@localhost ~]# pvs
      PV         VG      Fmt  Attr PSize   PFree  
      /dev/sdb   mail_vg lvm2 a--u 100.00g  50.00g
      /dev/sdc           lvm2 ---- 200.00g 200.00g
    [root@localhost ~]# vgs
      VG      #PV #LV #SN Attr   VSize   VFree 
      mail_vg   1   1   0 wz--n- 100.00g 50.00g
    [root@localhost ~]# lvs
      LV      VG      Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      mail_lv mail_vg -wi-a----- 50.00g                                                    
    [root@localhost ~]# mkfs.ext4 /dev/mapper/mail_vg-mail_lv 
    mke2fs 1.41.12 (17-May-2010)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    3276800 inodes, 13107200 blocks
    655360 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=4294967296
    400 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks: 
    	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    	4096000, 7962624, 11239424
    
    Writing inode tables: done                            
    Creating journal (32768 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    This filesystem will be automatically checked every 29 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    [root@localhost ~]# mkdir /mail
    [root@localhost ~]# mount /dev/mail_vg/mail_lv /mail/
    [root@localhost ~]# mount
    /dev/sda3 on / type ext4 (rw)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
    /dev/sda1 on /boot type ext4 (rw)
    none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
    /dev/mapper/mail_vg-mail_lv on /mail type ext4 (rw)
    

      

      设置开机实现自动挂载:
      
    [root@localhost ~]# blkid /dev/mapper/mail_vg-mail_lv
    /dev/mapper/mail_vg-mail_lv: UUID="8ab67eeb-0b5a-43e3-b940-bef0f14bf1b1" TYPE="ext4" 
    [root@localhost ~]# vim /etc/fstab
    
    
    #
    # /etc/fstab
    # Created by anaconda on Fri Nov  2 22:37:22 2018
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    UUID=c42ec363-df57-48b3-89a9-0685544602bd /                       ext4    defaults        1 1
    UUID=27ab8d75-5b06-42e4-b0b4-0cb2376e9ea4 /boot                   ext4    defaults        1 2
    UUID=b8bee5a5-ea40-476a-98c3-250707895638 swap                    swap    defaults        0 0
    tmpfs                   /dev/shm                tmpfs   defaults        0 0
    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
    sysfs                   /sys                    sysfs   defaults        0 0
    proc                    /proc                   proc    defaults        0 0
    UUID=8ab67eeb-0b5a-43e3-b940-bef0f14bf1b1 /mail ext4  defaults 0 0
    ~                                                 
    

        设置完成保存退出

     
     
    调整LV大小:
      调整逻辑卷大小命令
        lvextend -L +大小 /dev/卷组名/逻辑卷名
        lvresize -L +/-大小 /dev/卷组名/逻辑卷名
      如果要增大逻辑卷,先用增大逻辑卷,再用resize2fs增大文件系统
      可以在线增大逻辑卷
     
      如果要缩小逻辑卷,先用resizefs缩小文件系统再缩小逻辑卷
      必须先卸载文件系统
      步骤:
        1、查看文件系统已用空间
        2、卸载文件系统
        3、强制检查文件系统,确保文件系统处于一致性状态
        4、缩小文件系统 resize2fs
        5、缩小lv
        6、挂载文件系统
      注意:lv和文件系统的大小要一致
     
      调整VG大小:
      卷组扩容
        vgextend 卷组名 物理卷
      卷组收缩
      查看卷组包含的PV
      命令:pvs
        vgreduce 卷组名 物理卷

    给LV扩容:
      增加的空间来自LV所在的VG的空闲空间
      Q1:如果某一块磁盘或者分区故障了如何将数据快速转移到相同卷组的其他空间去?
    步骤:
      1、通过pvmove命令转移空间数据
      2、通过vgreduce命令将坏的磁盘或者分区从卷组里面移除。
      3、通过pvremove命令将坏的磁盘或者分区从系统中删除掉。

    千万不要在没有关闭LVM的情况下删除分区
      正确关闭LVM的步骤
      umount卸载lvm文件系统
      清除/etc/fstab中LVM的挂载记录
      lvremove删除逻辑卷
      vgremove删除卷组
      pvremove删除物理卷
      fdisk修改分区ID
     

    RAID概述:
      RAID廉价冗余磁盘阵列
      硬件RAID
        速度快,性能好,支持热插拔
        需专门的RAID磁盘阵列卡,价格昂贵,还需配合相应的驱动
      软件RAID
        使用mdadm软件仿真磁盘阵列功能
        无需专门硬件,性价比较好
        设备文件标识是/dev/md0
      根据可靠性、性能和成本对RAID划分了等级
        RAID0、RAID1、RAID5、RAID6、RAID10、RAID01

  • 相关阅读:
    P2711 小行星 最小割
    bzoj2141: 排队 cdq分治
    bzoj 4237: 稻草人 cdq分治
    P1527 [国家集训队]矩阵乘法 整体二分
    P2617 Dynamic Rankings 整体二分
    P3834 【模板】可持久化线段树 1(主席树) 整体二分
    SPREAD for Windows Forms 代码片段
    PHP+Oracle Instant Client
    SQL利用CASE按分组显示合计
    SPREAD for Windows Forms 控制输入法
  • 原文地址:https://www.cnblogs.com/qq1148932219/p/10684982.html
Copyright © 2011-2022 走看看