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已经删除了,没有了
 
 
 
 
 
 
posted @ 2020-03-24 23:25  向云而生(陈云)  阅读(232)  评论(0编辑  收藏  举报