zoukankan      html  css  js  c++  java
  • 1-5LVM逻辑卷组

    LVM逻辑卷组
    • LVM逻辑卷管理
    LVM(Logical Volume Manager)逻辑卷组管理,是linux下对磁盘分区的进行管理的一种机制。
    普通的磁盘分区管理方式划分好了之后就无法改变其大小,当一个分区存放不下某个文件时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。
    简单来说LVM就是物理磁盘整合成一个或几个大的虚拟磁盘存储池,按照我们的需求去存储池划分空间来使用,由于是虚拟的存储池,所以划分空间时可以自由的调整大小。
    • LVM的组成部分
    • 物理卷(PV,Physical Volume): 由磁盘或分区转化而成
    • 卷组(VG,Volume Group): 将多个物理卷组合在一起组成了卷组,组成同一个卷组的可以是同一个硬盘的不同分区,也可是不同硬盘上的不同分区,我们通常把卷组理解为一块硬盘
    • 逻辑卷(LV,Logical  Volume):把卷组理解为硬盘的话,那么我们的逻辑卷则是硬盘上的分区,硬盘上的分区,逻辑卷可以进行格式化,存储数据。
    • 物理扩展(PE,Physical Extend):PE卷组的最小存储单元,PE所在的位置是VG卷组,即硬盘上,那么我们可以把PE理解为硬盘上的扇区,默认是4MB,可自由配置。
    • LVM的创建
    • 将物理磁盘分区,或整块磁盘分成一个区
    • 将物理磁盘上的分区建立成物理卷(PV)
    • 将创建好和物理组合成卷组(VG)通过添加或者删除一块物理卷,来实现卷组大小的调整。
    • 最后将卷组划分成逻辑卷(LV),逻辑卷也可以随意调整大小的,逻辑卷相当于真正的分区,那么要使用必须进行格式化和挂载。
    • 物理卷管理
    1. 使用fdisk来进行分区,分区的系统ID需要使用t选项修改为8e
    2. 创建物理卷--pvcreate
    3. 查看物理卷--pvscan & pvdisplay
    4. 删除物理卷--pvremove
     
    1、创建物理卷(PV)
    [root@chenyun ~]# pvcreate /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
     Physical volume "/dev/sdb" successfully created.
     Physical volume "/dev/sdc" successfully created.
     Physical volume "/dev/sdd" successfully created.
     Physical volume "/dev/sde" successfully created.
     Physical volume "/dev/sdf" successfully created.
     
        查看物理卷
    [root@chenyun ~]# pvscan
     PV /dev/sda2   VG centos          lvm2 [<19.00 GiB / 0    free]
     PV /dev/sdb                       lvm2 [20.00 GiB]
     PV /dev/sdf                       lvm2 [20.00 GiB]
     PV /dev/sdd                       lvm2 [20.00 GiB]
     PV /dev/sde                       lvm2 [20.00 GiB]
     PV /dev/sdc                       lvm2 [20.00 GiB]
     Total: 6 [<119.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 5 [100.00 GiB]
     
        删除物理卷
    [root@chenyun ~]# pvremove /dev/sdc
      Labels on physical volume "/dev/sdc" successfully wiped.
    [root@chenyun ~]# pvscan
      PV /dev/sda2   VG centos          lvm2 [<19.00 GiB / 0    free]
      PV /dev/sdb                       lvm2 [20.00 GiB]
      PV /dev/sdf                       lvm2 [20.00 GiB]
      PV /dev/sdd                       lvm2 [20.00 GiB]
      PV /dev/sde                       lvm2 [20.00 GiB]
      Total: 5 [<99.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 4 [80.00 GiB]
     
     
    2、创建卷组(VG)
    格式: vggreate   选项   卷组名   物理卷名(可以写多个,空格分开)
    [root@chenyun ~]# vgcreate -s 8M vg1 /dev/sdb /dev/sdc /dev/sdd
      Volume group "vg1" successfully created
    -s 指定VG的PE大小(不建议指定)
        
        查看卷组   vgscan $ vgdisplay
    [root@chenyun ~]# vgscan    查看VG卷组信息
    [root@chenyun ~]# vgscan
      Reading volume groups from cache.
      Found volume group "centos" using metadata type lvm2
      Found volume group "vg1" using metadata type lvm2
     
        [root@chenyun ~]# vgdisplay    查看vg卷组详细信息
    [root@chenyun ~]# vgdisplay
        --- Volume group ---
      VG Name               vg1
      System ID             
      Format                lvm2
      Metadata Areas        3
      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                3
      Act PV                3
      VG Size               <59.98 GiB
      PE Size               8.00 MiB
      Total PE              7677
      Alloc PE / Size       0 / 0   
      Free  PE / Size       7677 / <59.98 GiB
      VG UUID               0cpKn9-lRss-WjeY-6ikv-1xEl-FpFH-HbOo3V
     
        删除VG逻辑卷组
    [root@chenyun ~]# vgremove vg1
      Volume group "vg1" successfully removed
    注意:卷组删除以后才能删除物理卷,vg1还没有添加任何逻辑卷,如果有逻辑卷,需要先删除逻辑卷再删除卷组
     
     
        增加卷组容量  vgextend
    格式: vgextend 卷组名   物理卷名
    [root@chenyun ~]# vgextend vg1 /dev/sde /dev/sdf
      Volume group "vg1" successfully extended
     
     
        减小卷组容量  vgreduce
    格式: vgreduce   卷组名   物理卷
    [root@chenyun ~]# vgreduce vg1 /dev/sdf
      Removed "/dev/sdf" from volume group "vg1"
     
     
    建立逻辑卷
        格式: lvcreate   [选项]   -n(逻辑卷名)   卷组名
                -L 容量     指定逻辑卷的大小,单位MB, GB, TB
                -l 个数     按照PE个数指定逻辑卷大小,这个参数需要换算容量
                -n 逻辑卷名 指定逻辑卷名
     
    [root@localhost ~]# lvcreate -L 5GB -n lv1 vg1   建立逻辑卷lv1,容量5GB
    [root@chenyun ~]# lvcreate -L 10G -n lv1 vg1
      Wiping xfs signature on /dev/vg1/lv1.
      Logical volume "lv1" created.
     
     
        查看LV逻辑卷组
    [root@chenyun ~]# lvscan
      ACTIVE            '/dev/centos/swap' [2.00 GiB] inherit
      ACTIVE            '/dev/centos/root' [<17.00 GiB] inherit
      ACTIVE            '/dev/vg1/lv1' [10.00 GiB] inherit
     
     
        查看LV逻辑卷组详细信息
    [root@chenyun ~]# lvdisplay
     
      --- Logical volume ---
      LV Path                /dev/vg1/lv1   --- 逻辑卷设备文件名
      LV Name                lv1    --- 逻辑卷名
      VG Name                vg1    --- 所属卷组
      LV UUID                nkLlUr-6lwK-0Tcu-b6lg-oo6o-D1qd-cUerNe
      LV Write Access        read/write
      LV Creation host, time chenyun, 2019-10-26 07:04:42 +0800
      LV Status              available
      # open                 0
      LV Size                10.00 GiB      --- 逻辑卷容量
      Current LE             1280
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:2
     
     
        格式化逻辑卷
    [root@chenyun ~]# mkfs.xfs /dev/vg1/lv1
    [root@chenyun ~]# mkfs -t xfs /dev/vg1/lv1
    注:两个命令都可以格式化,任选其一
    [root@chenyun ~]# mkfs.xfs /dev/vg1/lv1
    meta-data=/dev/vg1/lv1           isize=512    agcount=4, agsize=655360 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=2621440, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal log           bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    [root@chenyun ~]# fdisk -l
     
    Disk /dev/mapper/vg1-lv1: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
     
        建立挂载点,并挂载
    [root@chenyun ~]# mount /dev/mapper/vg1-lv1 /mnt
    [root@chenyun ~]# mount /dev/mapper/vg1-lv1 /mnt        临时挂载
    [root@chenyun ~]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    tmpfs                    910M     0  910M   0% /sys/fs/cgroup
    /dev/mapper/centos-root   17G  1.6G   16G  10% /
    /dev/sda1               1014M  153M  862M  15% /boot
    tmpfs                    182M     0  182M   0% /run/user/0
    /dev/mapper/vg1-lv1       10G   33M   10G   1% /mnt
     
    [root@chenyun ~]# vim /etc/fstab    永久挂载
        /dev/mapper/vg1-lv1     /mnt    xfs      defaults        0 0
     
     
    调整逻辑卷大小
        格式: lvresize  [选项]   逻辑卷设备文件名
                -L   容量     安装容量调整大小,单位KB, MB,GB,TB等,使用”+”代表增 加空间, “-”代表减少空间,如果直接写容量,代表设定逻辑卷大小为指定大小
                -l   个数      按照PE个数调整逻辑卷大小
    [root@chenyun ~]# lvresize -L +5G /dev/mapper/vg1-lv1
      Size of logical volume vg1/lv1 changed from 10.00 GiB (1280 extents) to 15.00 GiB (1920 extents).
      Logical volume vg1/lv1 successfully resized.
     
    此时逻辑卷大小已经改变了,但lv1分区的大小并没有发生改变,如果想要分区使
    用这个新的逻辑分区,还需要使用resize2fs命令来调整分区的大小,这里就体现了
    LVM的优势了,我们不需要卸载分区,直接就可以调整分区大小。resize2fs命令如
    [root@chenyun ~]# resize2fs  [选项]  [设备文件名]  [调整的大小]
        -f   强制调整
    设备文件名:指调整哪个分区的大小
    调整的大小:指定把分区调整到多大,要加M,G等单位。如果不加大小,会
                使用整个分区
    [root@chenyun ~]# resize2fs /dev/vg1/lv1
    resize2fs 1.42.9 (28-Dec-2013)
    resize2fs: Bad magic number in super-block while trying to open /dev/vg1/lv1
    Couldn't find valid filesystem superblock.
     
    如果文本系统的格式为xfs,则使用以下命令即可强制调整逻辑卷大小,不用卸载
    格式:xfs_growfs /dev/vg1/lv1
    [root@chenyun ~]# xfs_growfs /dev/vg1/lv1
    meta-data=/dev/mapper/vg1-lv1    isize=512    agcount=4, agsize=655360 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0 spinodes=0
    data     =                       bsize=4096   blocks=2621440, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal               bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    data blocks changed from 2621440 to 3932160
     
    [root@chenyun ~]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   17G  1.6G   16G  10% /
    /dev/sda1               1014M  153M  862M  15% /boot
    tmpfs                    182M     0  182M   0% /run/user/0
    /dev/mapper/vg1-lv1       15G   33M   15G   1% /mnt
     
     
    2. 减小分区大小(xfs不支持缩减逻辑卷)
    [root@chenyun ~]# umount /dev/vg1/lv1
    [root@chenyun ~]# lvreduce -L 5G /dev/vg1/lv1
    [root@chenyun ~]# lvscan
      ACTIVE            '/dev/centos/swap' [2.00 GiB] inherit
      ACTIVE            '/dev/centos/root' [<17.00 GiB] inherit
      ACTIVE            '/dev/vg1/lv1' [5.00 GiB] inheri
     
    1. 删除逻辑卷
    [root@localhost lv1]# lvremove 逻辑卷设备文件名
    #删除lv1这个逻辑卷,记得删除时先卸载。命令如下:
    [root@chenyun ~]#umount /dev/vg1/lv1
    [root@chenyun ~]# lvremove /dev/vg1/lv1
    Do you really want to remove active logical volume vg1/lv1? [y/n]: y
      Logical volume "lv1" successfully removed
     
    [root@chenyun ~]# lvscan
      ACTIVE            '/dev/centos/swap' [2.00 GiB] inherit
      ACTIVE            '/dev/centos/root' [<17.00 GiB] inherit
    /dev/vg1/lv1已经删除了,没有了
     
     
     
     
     
     
  • 相关阅读:
    python 获取在线视频时长,不下载视频
    python treeview 多线程下表格插入速度慢解决方法
    c#操作magick,magick.net
    油猴脚本-Tampermonkey-淘宝dsr过滤器(过滤非3红商品)
    python 基础小坑 0==False is True
    pyd 编译,简单命令cythonize
    python 调用Tesseract,dll模式,无需安装,绿色版
    list与set的查询效率,大量数据查询匹配,必须选set
    selenium 页面加载慢,超时的解决方案
    selenium 不打印chromedriver的日志信息
  • 原文地址:https://www.cnblogs.com/chenyun1/p/12563152.html
Copyright © 2011-2022 走看看