Linux基础学习之LVM逻辑卷

一:LVM逻辑卷
LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上,文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。RHEL默认安装的分区格式就是LVM逻辑卷的格式,需要注意的是/boot分区不能基于LVM创建,必须独立出来。
LVM 4个基本术语
1,PE(Physical Extend) 每一个物理卷被划分为PE的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可以配置的,默认为4MB。
2,PV (Physical Volume) 物理卷就是指硬盘分区或从逻辑卷上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区,磁盘等)比较,却含有与LVM相关的管理参数。
3,VG (Volume Group) LVM卷组类似于非LVM系统中的物理的硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
4,LV(Logical Volume) LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以创立文件系统(比如/home或者/usr等)。
5,LE (Logical Extend) 逻辑卷也被划分为被称为LE的可被寻址的基本单元。在同一个卷组中,LE的大小和PE的大小是相同的,并且一一对应。
在这里插入图片描述
创建LVM

(原先已经创建一个/dev/myvg/lv1 所用磁盘为/dev/sde{1,2,3,4},现在做/dev/myvg2/lv2,所用磁盘为/dev/sdc{1,2,3,4})

1,准备物理磁盘

2,创建pv(原先已经创建一个/dev/myvg/lv1 所用磁盘为/dev/sde{1,2,3,4},现在做/dev/myvg2/lv2,所用磁盘为/dev/sdc{1,2,3,4})

PV相关命令
pvcreate:创建
pvs:查看
pvdisplay:查看详细信息
pvscan:在系统中扫描硬盘,列出找到的物理卷列表
     pvscan       -e      仅显示属于卷组的物理卷
                  -n 仅显示不属于任何卷组的物理卷
                  -s 短格式输出
                  -u 显示UUID
pvremove:移除物理卷
      pvremove /dev/sdd
pvmove:移除物理卷中的PE,即将硬盘上的数据转移到其他硬盘上。  pvmove  /dev/sdc


[root@localhost ~]# pvcreate /dev/sdc{1,2,3,4}
  Physical volume "/dev/sdc1" successfully created.
  Physical volume "/dev/sdc2" successfully created.
  Physical volume "/dev/sdc3" successfully created.
  Physical volume "/dev/sdc4" successfully created.

查看:pvs,pvscan, pvdisplay

pvs查看
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize    PFree
  /dev/sda2  centos lvm2 a--    12.00g       0
  /dev/sdc1         lvm2 ---     1.00g    1.00g
  /dev/sdc2         lvm2 ---     1.00g    1.00g
  /dev/sdc3         lvm2 ---     1.00g    1.00g
  /dev/sdc4         lvm2 ---     1.00g    1.00g
  /dev/sde1  myvg   lvm2 a--  1020.00m  520.00m
  /dev/sde2  myvg   lvm2 a--  1020.00m 1020.00m
  /dev/sde3  myvg   lvm2 a--  1020.00m 1020.00m
  /dev/sde4  myvg   lvm2 a--  1020.00m 1020.00m

pvscan查看
[root@localhost ~]# pvscan
  PV /dev/sda2   VG centos          lvm2 [12.00 GiB / 0    free]
  PV /dev/sde1   VG myvg            lvm2 [1020.00 MiB / 520.00 MiB free]
  PV /dev/sde2   VG myvg            lvm2 [1020.00 MiB / 1020.00 MiB free]
  PV /dev/sde3   VG myvg            lvm2 [1020.00 MiB / 1020.00 MiB free]
  PV /dev/sde4   VG myvg            lvm2 [1020.00 MiB / 1020.00 MiB free]
  PV /dev/sdc2                      lvm2 [1.00 GiB]
  PV /dev/sdc3                      lvm2 [1.00 GiB]
  PV /dev/sdc1                      lvm2 [1.00 GiB]
  PV /dev/sdc4                      lvm2 [1.00 GiB]
  Total: 9 [19.98 GiB] / in use: 5 [15.98 GiB] / in no VG: 4 [4.00 GiB]
  
  
pvdisplay查看
[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               12.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              3072
  Free PE               0
  Allocated PE          3072
  PV UUID               ycvWTu-ddyQ-y2b2-LZvv-Dkbz-u4eC-NDGK10

  --- Physical volume ---
  PV Name               /dev/sde1
  VG Name               myvg
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               10.00 MiB
  Total PE              102
  Free PE               52
  Allocated PE          50
  PV UUID               fgaFH9-CvPH-CZTU-VnZw-xV5W-jApa-8XeJ7y

  --- Physical volume ---
  PV Name               /dev/sde2
  VG Name               myvg
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               10.00 MiB
  Total PE              102
  Free PE               102
  Allocated PE          0
  PV UUID               fxijNt-FzXu-giUY-MTT4-jQ2d-pyHq-g7AzID

  --- Physical volume ---
  PV Name               /dev/sde3
  VG Name               myvg
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               10.00 MiB
  Total PE              102
  Free PE               102
  Allocated PE          0
  PV UUID               UL4WbD-NH7x-QmbV-DoNV-zN00-cpHP-a3GkZ9

  --- Physical volume ---
  PV Name               /dev/sde4
  VG Name               myvg
  PV Size               1.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               10.00 MiB
  Total PE              102
  Free PE               102
  Allocated PE          0
  PV UUID               acosU5-hg71-6QT3-cAzU-8LVM-vTvj-9yRM2g

  "/dev/sdc2" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc2
  VG Name
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               ui3Ben-piQQ-9FR2-cTcE-Atl6-KXJO-lKUa85

  "/dev/sdc3" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc3
  VG Name
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               D2EbOf-LlFX-64Id-PPjn-YSwN-br6i-BaYl4d

  "/dev/sdc1" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc1
  VG Name
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               VtFGdb-Vgkh-N82b-yj9W-UhWm-RAvd-WrqAxk

  "/dev/sdc4" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc4
  VG Name
  PV Size               1.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               654Jry-vOcJ-E1FW-a2ow-Oqvm-i7ZW-yJbLak



3,创建vg

vg相关命令
vgcreate:创建卷组
    vgcreate myvg2(创建卷组的名称)  /dev/sdc{1,2,3,4}
    -s: 指定PE的大小
         vgcreata -s 16M myvg2 /dev/sdc{1,2,3,4}
vgextend: 向卷组中添加成员
      vgextend myvg2 /dev/sda4
vgreduce: 从卷组中删除成员
vgremove: 删除卷组
   vgremove myvg2
vgs: 查看卷组信息
vgdisplay: 查看卷组的详细信息
vgrename: 更改卷组的名称
     vgrename myvg2 lalala
vgchange: 改变卷组的工作状态
    vgchange -a y|n(y: 可用 n: 不可用)   myvg2
vgexport: 导出卷组
   vgexport myvg2
vgimport: 导入卷组


[root@localhost ~]# vgcreate myvg2 /dev/sdc{1,2,3,4}
  Volume group "myvg2" successfully created

查看:vgs, vgscan, vgdisplay

vgs查看
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  centos   1   2   0 wz--n- 12.00g     0
  myvg     4   1   0 wz--n-  3.98g <3.50g
  myvg2    4   0   0 wz--n-  3.98g  3.98g


vgscan查看
[root@localhost ~]# vgscan
  Reading volume groups from cache.
  Found volume group "myvg2" using metadata type lvm2
  Found volume group "centos" using metadata type lvm2
  Found volume group "myvg" using metadata type lvm2


vgdisplay查看
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               myvg2
  System ID
  Format                lvm2
  Metadata Areas        4
  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                4
  Act PV                4
  VG Size               3.98 GiB
  PE Size               4.00 MiB
  Total PE              1020
  Alloc PE / Size       0 / 0
  Free  PE / Size       1020 / 3.98 GiB
  VG UUID               y0V00d-YpoW-iL3V-kDQh-5hE5-qhUr-JxLrrj

  --- Volume group ---
  VG Name               centos
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               12.00 GiB
  PE Size               4.00 MiB
  Total PE              3072
  Alloc PE / Size       3072 / 12.00 GiB
  Free  PE / Size       0 / 0
  VG UUID               EKDs8k-Xcu9-Tk7k-MS97-pfIT-VX03-P9UzwN

  --- Volume group ---
  VG Name               myvg
  System ID
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               3.98 GiB
  PE Size               10.00 MiB
  Total PE              408
  Alloc PE / Size       50 / 500.00 MiB
  Free  PE / Size       358 / <3.50 GiB
  VG UUID               dKuY7u-fcCF-nzAm-GWuH-BRHF-CeBs-TEpgeo


4,创建lv

lv相关命令
lvcreate: 创建逻辑卷
         -n: 指定逻辑卷的名称
         -L" 指定逻辑卷的大小,使用空间容量进行指定,-L ## 绝对容量,-L +## 增量容量
         -l: 指定逻辑卷的大小,使用PE的个数进行指定,-l ## 绝对容量,-l +## 增量个数
         -s: 指明创建的逻辑卷为快照
         -p:  r   设置只读性
创建快照:lvcreate -s -n lv2 _kuaizhao -L 10G /dev/myvg2/mylv2 -p r
lvextend: 扩展逻辑卷的大小
      lvextend -L +100G /dev/myvg2/mylv2
      lvextend -l  50 /dev/myvg2/lv2
lvreduce: 缩减逻辑卷的大小
      lvexduce -L 50G /dev/myvg2/lv2
lvrename: 更改逻辑卷的名称
lvremove: 删除逻辑卷
lvconvert: 恢复快照,快照在恢复后被删除
   lvconvert --merge /dev/myvg2/lv2_kuaizhao


[root@localhost ~]# lvcreate -l 100 -n mylv2 myvg2
  Logical volume "mylv2" created.

查看:lvs, lvscan, lvdisplay

lvs查看
[root@localhost ~]# lvs
  LV    VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root  centos -wi-ao----  10.00g
  swap  centos -wi-ao----   2.00g
  mylv1 myvg   -wi-a----- 500.00m
  mylv2 myvg2  -wi-a----- 400.00m
  
  
 lvscan查看
 [root@localhost ~]# lvscan
  ACTIVE            '/dev/myvg2/mylv2' [400.00 MiB] inherit
  ACTIVE            '/dev/centos/root' [10.00 GiB] inherit
  ACTIVE            '/dev/centos/swap' [2.00 GiB] inherit
  ACTIVE            '/dev/myvg/mylv1' [500.00 MiB] inherit


lvdisplay查看
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/myvg2/mylv2
  LV Name                mylv2
  VG Name                myvg2
  LV UUID                VB31hE-Ce2a-feJh-DKVk-IeHV-N7Nc-awLDeG
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-08-10 23:26:00 +0800
  LV Status              available
  # open                 0
  LV Size                400.00 MiB
  Current LE             100
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                S2rHjF-lAhp-8qMl-2S4u-qGLV-kQii-OfYcIR
  LV Write Access        read/write
  LV Creation host, time localhost, 2019-07-31 15:49:17 +0800
  LV Status              available
  # open                 1
  LV Size                10.00 GiB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                7gDu3a-VSZt-SHpC-KqEY-QGC4-xRck-y2AoBa
  LV Write Access        read/write
  LV Creation host, time localhost, 2019-07-31 15:49:18 +0800
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/myvg/mylv1
  LV Name                mylv1
  VG Name                myvg
  LV UUID                GWrd0a-1s53-sX9K-xyZC-Y91o-15oG-nLw43l
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-08-10 16:29:23 +0800
  LV Status              available
  # open                 0
  LV Size                500.00 MiB
  Current LE             50
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2


4,创建文件系统并挂载

[root@localhost ~]# mkfs.ext4 /dev/myvg2/mylv2
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
102400 inodes, 409600 blocks
20480 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=34078720
50 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done


创建挂载点
[root@localhost ~]# mkdir /mnt/mylv2

挂载
[root@localhost ~]# mount /dev/myvg2/mylv2 /mnt/mylv2


查看
[root@localhost ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        10G  2.7G  7.4G  27% /
devtmpfs                devtmpfs  475M     0  475M   0% /dev
tmpfs                   tmpfs     487M     0  487M   0% /dev/shm
tmpfs                   tmpfs     487M  7.7M  479M   2% /run
tmpfs                   tmpfs     487M     0  487M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  133M  882M  14% /boot
tmpfs                   tmpfs      98M     0   98M   0% /run/user/0
/dev/mapper/myvg2-mylv2 ext4      380M  2.3M  354M   1% /mnt/mylv2

VG管理

1,扩大vg

[root@localhost ~]# pvcreate /dev/sda4
  Physical volume "/dev/sda4" successfully created.


[root@bogon ~]# vgextend myvg2 /dev/sda4
  Volume group "myvg2" successfully extended

查看

[root@bogon ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  centos   1   2   0 wz--n- 12.00g     0
  myvg     4   1   0 wz--n-  3.98g <3.50g
  myvg2    5   1   0 wz--n-  4.98g <4.59g

2,减小vg

[root@bogon ~]# pvs
  PV         VG     Fmt  Attr PSize    PFree
  /dev/sda2  centos lvm2 a--    12.00g       0
  /dev/sda4  myvg2  lvm2 a--  1020.00m 1020.00m
  /dev/sdc1  myvg2  lvm2 a--  1020.00m  620.00m
  /dev/sdc2  myvg2  lvm2 a--  1020.00m 1020.00m
  /dev/sdc3  myvg2  lvm2 a--  1020.00m 1020.00m
  /dev/sdc4  myvg2  lvm2 a--  1020.00m 1020.00m
  /dev/sde1  myvg   lvm2 a--  1020.00m  520.00m
  /dev/sde2  myvg   lvm2 a--  1020.00m 1020.00m
  /dev/sde3  myvg   lvm2 a--  1020.00m 1020.00m
  /dev/sde4  myvg   lvm2 a--  1020.00m 1020.00m



[root@bogon ~]# dd if=/dev/zero of=/mnt/mylv2/file bs=1M count=20
20+0 records in
20+0 records out
20971520 bytes (21 MB) copied, 0.466428 s, 45.0 MB/s

[root@bogon ~]# pvs
  PV         VG     Fmt  Attr PSize    PFree
  /dev/sda2  centos lvm2 a--    12.00g       0
  /dev/sda4  myvg2  lvm2 a--  1020.00m 1020.00m
  /dev/sdc1  myvg2  lvm2 a--  1020.00m  620.00m
  /dev/sdc2  myvg2  lvm2 a--  1020.00m 1020.00m
  /dev/sdc3  myvg2  lvm2 a--  1020.00m 1020.00m
  /dev/sdc4  myvg2  lvm2 a--  1020.00m 1020.00m
  /dev/sde1  myvg   lvm2 a--  1020.00m  520.00m
  /dev/sde2  myvg   lvm2 a--  1020.00m 1020.00m
  /dev/sde3  myvg   lvm2 a--  1020.00m 1020.00m
  /dev/sde4  myvg   lvm2 a--  1020.00m 1020.00m
  
  
将数据移到其他pv(移动sdc1)
[root@bogon ~]# pvmove /dev/sdc1
  /dev/sdc1: Moved: 2.00%
  /dev/sdc1: Moved: 100.00%

将/dev/sdc1数据移走后再查看

[root@bogon ~]# pvs
  PV         VG     Fmt  Attr PSize    PFree
  /dev/sda2  centos lvm2 a--    12.00g       0
  /dev/sda4  myvg2  lvm2 a--  1020.00m 1020.00m
  /dev/sdc1  myvg2  lvm2 a--  1020.00m 1020.00m
  /dev/sdc2  myvg2  lvm2 a--  1020.00m  620.00m
  /dev/sdc3  myvg2  lvm2 a--  1020.00m 1020.00m
  /dev/sdc4  myvg2  lvm2 a--  1020.00m 1020.00m
  /dev/sde1  myvg   lvm2 a--  1020.00m  520.00m
  /dev/sde2  myvg   lvm2 a--  1020.00m 1020.00m
  /dev/sde3  myvg   lvm2 a--  1020.00m 1020.00m
  /dev/sde4  myvg   lvm2 a--  1020.00m 1020.00m
看到把/dev/sdc1的数据移动到了sdc2上

vgreduce:从卷组中删除成员
[root@bogon ~]# vgreduce myvg2 /dev/sdc1
  Removed "/dev/sdc1" from volume group "myvg2"


[root@bogon ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  centos   1   2   0 wz--n- 12.00g     0
  myvg     4   1   0 wz--n-  3.98g <3.50g
  myvg2    4   1   0 wz--n-  3.98g  3.59g


LV扩容

1,LV扩容

(LVM扩展 有足够的VG就可以来扩展LV)

[root@bogon ~]# lvextend -L +100 /dev/myvg2/mylv2
  Size of logical volume myvg2/mylv2 changed from 400.00 MiB (100 extents) to 500.00 MiB (125 extents).
  Logical volume myvg2/mylv2 successfully resized.

[root@bogon ~]# lvs
  LV    VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root  centos -wi-ao----  10.00g
  swap  centos -wi-ao----   2.00g
  mylv1 myvg   -wi-a----- 500.00m
  mylv2 myvg2  -wi-ao---- 500.00m


[root@bogon ~]# df -h | grep mylv2
/dev/mapper/myvg2-mylv2  380M   23M  334M   7% /mnt/mylv2
我们看到Lv虽然扩容了,但是挂载磁盘大小依然是380M,我们需要给新增的lv创建文件系统,这样系统才能识别

[root@bogon ~]# resize2fs /dev/myvg2/mylv2
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/myvg2/mylv2 is mounted on /mnt/mylv2; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 4
The filesystem on /dev/myvg2/mylv2 is now 512000 blocks long.

[root@bogon ~]# df -h | grep mylv2
/dev/mapper/myvg2-mylv2  477M   23M  426M   5% /mnt/mylv2
[root@bogon ~]#
现在看到变成477M了

2,LV缩减

LVM缩减是一个比较危险的操作,而且不能像扩容一样在线操作,必须卸载逻辑卷才行,步骤如下:

1,先卸载逻辑卷

2,然后通过e2fsck命令检测逻辑卷上空余的空间

3,使用resize2fs将文件系统减少

4,在使用lvreduce命令将逻辑卷减少

注意:文件系统大小和逻辑卷大小一定保持一致才行。如果逻辑卷大于文件系统,由于部分区域未格式化成文件系统回造成空间的浪费。如果逻辑卷小于文件系统,那数据就会出问题。

卸载逻辑卷

[root@localhost ~]# umount /dev/myvg2/mylv2
[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   10G  2.7G  7.4G  27% /
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.8M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/sda1               1014M  133M  882M  14% /boot
tmpfs                     98M     0   98M   0% /run/user/0

检查逻辑卷空间(必须强制检查)

[root@localhost ~]# e2fsck -f /dev/myvg2/mylv2
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/myvg2/mylv2: 12/129024 files (0.0% non-contiguous), 47291/512000 blocks

缩减文件系统大小

[root@localhost ~]# resize2fs /dev/myvg2/mylv2 100M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/myvg2/mylv2 to 102400 (1k) blocks.
The filesystem on /dev/myvg2/mylv2 is now 102400 blocks long.

缩减逻辑卷的大小

[root@localhost ~]# lvreduce -L 100M /dev/myvg2/mylv2
  WARNING: Reducing active logical volume to 100.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce myvg2/mylv2? [y/n]: y
  Size of logical volume myvg2/mylv2 changed from 500.00 MiB (125 extents) to 100.00 MiB (25 extents).
  Logical volume myvg2/mylv2 successfully resized.

挂载使用

[root@localhost ~]# mount /dev/myvg2/mylv2 /mnt/mylv2
[root@localhost ~]# df -h | grep mylv2
/dev/mapper/myvg2-mylv2   89M   22M   61M  27% /mnt/mylv2

删除逻辑卷
1,先通过umount命令卸载逻辑卷
umount /mnt/mylv2
2,修改/etc/fstab里面逻辑卷的挂载信息(如有添加),否则系统有可能启动不起来
3,通过lvremove删除逻辑卷
lvremove /dev/myvg2/lv2
4,通过vgremove删除卷组
vgremove /dev/myvg2
5,通过pvremove将物理卷转化成普通分区
pvremove /dve/sdc{1,2,3,4}

LVM快照
注意三点:
1,VG中需要预留存放快照本身的空间,不能全部被沾满
2,快照所在的VG必须与被备份的LV相同,也就是说,快照存放的位置必须与被照卷存放在同一个VG上。否则快照会失败。
3,如果快照卷满了,会自动失效,因为快照记录的是数据变化前的数据,也就是说数据的修改量不能超过快照区的大小,否则这个快照就不能用了

创建快照

[root@localhost ~]# lvcreate -L 20 -s -n mykuaizhao /dev/myvg2/mylv2
  Logical volume "mykuaizhao" created.

删除快照

[root@localhost ~]# lvremove /dev/myvg2/mykuaizhao

查看LV

[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/myvg2/mylv2
  LV Name                mylv2
  VG Name                myvg2
  LV UUID                VB31hE-Ce2a-feJh-DKVk-IeHV-N7Nc-awLDeG
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-08-10 23:26:00 +0800
  LV snapshot status     source of
                         mykuaizhao [active]
  LV Status              available
  # open                 1
  LV Size                100.00 MiB
  Current LE             25
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

  --- Logical volume ---
  LV Path                /dev/myvg2/mykuaizhao
  LV Name                mykuaizhao
  VG Name                myvg2
  LV UUID                LLmQ3O-5WXP-ivI2-P1Gb-l0p8-pWus-jdM2R0
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-08-12 17:24:25 +0800
  LV snapshot status     active destination for mylv2
  LV Status              available
  # open                 0
  LV Size                100.00 MiB
  Current LE             25
  COW-table size         20.00 MiB    #快照实际容量
  COW-table LE           5
  Allocated to snapshot  0.06%     #快照已使用百分比
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:6


1,给创建好的lv中写入数据

[root@localhost myvg2]# echo "hello" > mykuaizhao_file
[root@localhost myvg2]# cat mykuaizhao_file
hello

原始卷中写入数据,快照卷的使用率会增加

[root@localhost myvg2]# lvdisplay | grep %
  Allocated to snapshot  0.06%
[root@localhost myvg2]# dd if=/dev/zero of=/mnt/mylv2/file bs=1M count=5
5+0 records in
5+0 records out
5242880 bytes (5.2 MB) copied, 0.0241069 s, 217 MB/s
[root@localhost myvg2]# echo "hello" > mykuaizhao_file2
[root@localhost myvg2]# ls


恢复原始数据

[root@localhost mnt]# lvconvert --merge /dev/myvg2/mykuaizhao
  Delaying merge since origin is open.
  Merging of snapshot myvg2/mykuaizhao will occur on next activation of myvg2/mylv2.

[root@localhost mnt]# mount /dev/myvg2/mylv2 /mnt/mylv2/
mount: /dev/mapper/myvg2-mylv2 is already mounted or /mnt/mylv2 busy
       /dev/mapper/myvg2-mylv2 is already mounted on /mnt/mylv2
[root@localhost mnt]# cd mylv2/
[root@localhost mylv2]#
[root@localhost mylv2]# ls
file  lost+found
[root@localhost mylv2]# ls -lh
total 5.1M
-rw-r--r--. 1 root root 5.0M Aug 12 17:50 file
drwx------. 2 root root  12K Aug 10 23:37 lost+found

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值