最新要闻

广告

手机

光庭信息跌4.57% 2021上市超募11亿2022扣非降74% 时快讯

光庭信息跌4.57% 2021上市超募11亿2022扣非降74% 时快讯

搜狐汽车全球快讯 | 大众汽车最新专利曝光:仪表支持拆卸 可用手机、平板替代-环球关注

搜狐汽车全球快讯 | 大众汽车最新专利曝光:仪表支持拆卸 可用手机、平板替代-环球关注

家电

lvm逻辑卷|当前独家

来源:博客园


(资料图)

lvm逻辑卷

前言

raid磁盘阵列技术,提高硬盘的读写效率,以及数据的安全,raid的缺点在于:1.当你配置好了raid磁盘阵列组,容量的大小,已经是限定了,如果你存储的业务非常多,磁盘容量不够用的问题就会出现,你想要扩容磁盘的空间,就会非常麻烦。2.不同的磁盘分区,相对都是独立的,没有任何联系,可能空间利用率比较低。3.如果某一分区满了,默认磁盘管理是无法直接扩容的,只能重新的分区,重新分配容量大小,创建文件系统,很麻烦。4.如果你要合并分区,还是得重新格式化磁盘分区,还得进行数据备份。

lvm 逻辑卷管理技术

lvm (logical volume manager)

1.lvm原理他是讲一个或者多个硬盘在逻辑上进行了合并,相当于一个大的硬盘去使用,当你的硬盘空间不够了,可以直接去其他硬盘中拿容量去使用,这就是一个动态的磁盘容量管理技术。

2.优点lvm最大的优点就是可以对磁盘进行动态管理,可以提高磁盘管理的灵活性

3.基本概念PP (Physical parttion) 物理分区,lvm直接创建在物理分区上。PV (Physical Volume) 物理卷,处于lvm的最底层,一般一个PV对应一个PP。PE (Physical Extend) 物理拓展,PV中可以用于分配的最小存储单位。VG (Volume Group) 卷组,卷组创建在PV之上,可以划分为多个PV。LE (Logical Extends) 逻辑扩展单元,逻辑扩展单元,LE是组成LV的基本单元,一个LE对应一个PE。LV (Logical Volume) 逻辑卷,创建在VG之上,是一个可以动态扩展的分区概念。

-LVM动态扩容大小,其实就是通过互相交换PE的过程,达到能够弹性扩容分区大小-想要减少空间容量,就是剔除PE的大小-想要扩大容量,就是把其他的PE添加到自己的LV当中-PE默认大小一般都是4M,LVM最多是可以创建出65534个PE,因此LVM最大的VG卷组单位是256G-PE其实是LVM最小的存储单位,类似于操作系统的block (4k)-LV逻辑卷的概念(理解为普通分区的概念,/dev/sdb /dev/sdc)

lvm的创建流程

`1.创建PV`[root@localhost ~]# pvcreate /dev/sdb /dev/sdc  Physical volume "/dev/sdb" successfully created.  Physical volume "/dev/sdc" successfully created.`2.创建卷组`[root@localhost ~]# vgcreate xuxuvg1 /dev/sdb /dev/sdc  Volume group "xuxuvg1" successfully created`3.查看pv vg信息` [root@localhost ~]# pvs  PV         VG      Fmt  Attr PSize   PFree    /dev/sda2  centos  lvm2 a--  <19.00g      0   /dev/sdb   xuxuvg1 lvm2 a--  <10.00g <10.00g  /dev/sdc   xuxuvg1 lvm2 a--  <10.00g <10.00g[root@localhost ~]# pvscan  PV /dev/sdb    VG xuxuvg1         lvm2 [<10.00 GiB / <10.00 GiB free]  PV /dev/sdc    VG xuxuvg1         lvm2 [<10.00 GiB / <10.00 GiB free]  PV /dev/sda2   VG centos          lvm2 [<19.00 GiB / 0    free]  Total: 3 [<38.99 GiB] / in use: 3 [<38.99 GiB] / in no VG: 0 [0   ][root@localhost ~]# pvdisplay  --- Physical volume ---  PV Name               /dev/sdb  VG Name               xuxuvg1  PV Size               10.00 GiB / not usable 4.00 MiB  Allocatable           yes   PE Size               4.00 MiB  Total PE              2559  Free PE               2559  Allocated PE          0  PV UUID               NuXbh4-5URD-N3gP-CXQM-WUw4-uzAe-20br2v     --- Physical volume ---  PV Name               /dev/sdc  VG Name               xuxuvg1  PV Size               10.00 GiB / not usable 4.00 MiB  Allocatable           yes   PE Size               4.00 MiB  Total PE              2559  Free PE               2559  Allocated PE          0  PV UUID               TsQu1V-2KZ0-gZtV-feuX-nnhO-iD3m-qUlc3m     --- Physical volume ---  PV Name               /dev/sda2  VG Name               centos  PV Size               <19.00 GiB / not usable 3.00 MiB  Allocatable           yes (but full)  PE Size               4.00 MiB  Total PE              4863  Free PE               0  Allocated PE          4863  PV UUID               6ipoOT-021J-hgZV-Ftku-zFGU-wj8u-AQB5FO      [root@localhost ~]# vgs  VG      #PV #LV #SN Attr   VSize   VFree   centos    1   2   0 wz--n- <19.00g     0   xuxuvg1   2   0   0 wz--n-  19.99g 19.99g[root@localhost ~]# vgscan  Reading volume groups from cache.  Found volume group "xuxuvg1" using metadata type lvm2  Found volume group "centos" using metadata type lvm2[root@localhost ~]# vgdisplay  --- Volume group ---  VG Name               xuxuvg1  System ID               Format                lvm2  Metadata Areas        2  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                2  Act PV                2  VG Size               19.99 GiB  PE Size               4.00 MiB  Total PE              5118  Alloc PE / Size       0 / 0     Free  PE / Size       5118 / 19.99 GiB  VG UUID               VWU7sx-xiWc-bTvw-1nCf-holz-7uu3-ksV5hN     --- 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               <19.00 GiB  PE Size               4.00 MiB  Total PE              4863  Alloc PE / Size       4863 / <19.00 GiB  Free  PE / Size       0 / 0     VG UUID               1qSTmy-1mDg-ZuGi-GP1o-kK1U-sUvk-qXznQV   `4.尝试扩容,缩小vg卷组`[root@localhost ~]# pvcreate /dev/sdd  Physical volume "/dev/sdd" successfully created.  [root@localhost ~]# pvs  PV         VG      Fmt  Attr PSize   PFree    /dev/sda2  centos  lvm2 a--  <19.00g      0   /dev/sdb   xuxuvg1 lvm2 a--  <10.00g <10.00g  /dev/sdc   xuxuvg1 lvm2 a--  <10.00g <10.00g  /dev/sdd           lvm2 ---   10.00g  10.00g[root@localhost ~]# vgextend xuxuvg1 /dev/sdd  Volume group "xuxuvg1" successfully extended`5.显示一下卷组的信息,容量等`[root@localhost ~]# vgdisplay  --- Volume group ---  VG Name               xuxuvg1  System ID               Format                lvm2  Metadata Areas        3  Metadata Sequence No  2  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               <29.99 GiB  PE Size               4.00 MiB  Total PE              7677  Alloc PE / Size       0 / 0     Free  PE / Size       7677 / <29.99 GiB  VG UUID               VWU7sx-xiWc-bTvw-1nCf-holz-7uu3-ksV5hN`6.还可以缩小卷组大小,剔除/dev/sdd`[root@localhost ~]# vgreduce xuxuvg1 /dev/sdd  Removed "/dev/sdd" from volume group "xuxuvg1"  `7.删除/dev/sdd的物理卷`[root@localhost ~]# pvremove /dev/sdd  Labels on physical volume "/dev/sdd" successfully wiped.  `8.使用此时的卷组,创建逻辑卷,进行使用/dev/sdb /dev/sdc`[root@localhost ~]# lvcreate -n lv1 -L +500M xuxuvg1  Logical volume "lv1" created.  [root@localhost ~]# lvs  LV   VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  root centos  -wi-ao---- <17.00g                                                      swap centos  -wi-ao----   2.00g                                                      lv1  xuxuvg1 -wi-a----- 500.00m    [root@localhost ~]# lvdisplay  --- Logical volume ---  LV Path                /dev/xuxuvg1/lv1  LV Name                lv1  VG Name                xuxuvg1  LV UUID                VgzEKy-SlDf-oYed-LP0I-531x-wpt1-RcNZbR  LV Write Access        read/write  LV Creation host, time localhost.localdomain, 2023-07-05 00:50:00 +0800  LV Status              available  # open                 0  LV Size                500.00 MiB  Current LE             125  Segments               1  Allocation             inherit  Read ahead sectors     auto  - currently set to     8192  Block device           253:2`9.对刚创建的lv1逻辑卷进行格式化文件系统`[root@localhost ~]# mkfs.xfs /dev/xuxuvg1/lv1meta-data=/dev/xuxuvg1/lv1       isize=512    agcount=4, agsize=32000 blks         =                       sectsz=512   attr=2, projid32bit=1         =                       crc=1        finobt=0, sparse=0data     =                       bsize=4096   blocks=128000, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=1log      =internal log           bsize=4096   blocks=855, version=2         =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0`10.向lv1逻辑卷中,进行挂载,以及数据写入(就可以当作一个普通分区来使用了)`[root@localhost ~]# mkdir /xuxu_lv1[root@localhost ~]# mount /dev/xuxuvg1/lv1 /xuxu_lv1/[root@localhost ~]# df -Th文件系统                类型      容量  已用  可用 已用% 挂载点devtmpfs                devtmpfs  475M     0  475M    0% /devtmpfs                   tmpfs     487M     0  487M    0% /dev/shmtmpfs                   tmpfs     487M  7.7M  479M    2% /runtmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup/dev/mapper/centos-root xfs        17G  2.3G   15G   14% //dev/sda1               xfs      1014M  138M  877M   14% /boottmpfs                   tmpfs      98M     0   98M    0% /run/user/0/dev/mapper/xuxuvg1-lv1 xfs       497M   26M  472M    6% /xuxu_lv1`11.向磁盘中写入数据,查看空间容量`[root@localhost xuxu_lv1]# echo {1..3000000} > test.txt[root@localhost xuxu_lv1]# df -Th文件系统                类型      容量  已用  可用 已用% 挂载点devtmpfs                devtmpfs  475M     0  475M    0% /devtmpfs                   tmpfs     487M     0  487M    0% /dev/shmtmpfs                   tmpfs     487M  7.7M  479M    2% /runtmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup/dev/mapper/centos-root xfs        17G  2.3G   15G   14% //dev/sda1               xfs      1014M  138M  877M   14% /boottmpfs                   tmpfs      98M     0   98M    0% /run/user/0/dev/mapper/xuxuvg1-lv1 xfs       497M   48M  450M   10% /xuxu_lv1[root@localhost xuxu_lv1]# echo {1..2000000} > test2.txt[root@localhost xuxu_lv1]# df -Th文件系统                类型      容量  已用  可用 已用% 挂载点devtmpfs                devtmpfs  475M     0  475M    0% /devtmpfs                   tmpfs     487M     0  487M    0% /dev/shmtmpfs                   tmpfs     487M  7.7M  479M    2% /runtmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup/dev/mapper/centos-root xfs        17G  2.3G   15G   14% //dev/sda1               xfs      1014M  138M  877M   14% /boottmpfs                   tmpfs      98M     0   98M    0% /run/user/0/dev/mapper/xuxuvg1-lv1 xfs       497M   62M  436M   13% /xuxu_lv1`12.修改/etc/fstab 开机自动挂载`[root@localhost xuxu_lv1]# vim /etc/fstab/dev/xuxuvg1/lv1 /xuxu_lv1 xfs defaults 0 0[root@localhost xuxu_lv1]# ls /xuxu_lv1/test2.txt  test.txt

lv逻辑卷的扩容

`扩容  给lv1+10G``只要卷组中的容量够用,就可以对lv逻辑卷扩容``1.先取消挂载lv1设备`[root@localhost /]# umount /xuxu_lv1/`2.使用lvextend命令扩容逻辑卷的大小`[root@localhost /]# lvextend -L +10G /dev/xuxuvg1/lv1   Size of logical volume xuxuvg1/lv1 changed from 500.00 MiB (125 extents) to <10.49 GiB (2685 extents).  Logical volume xuxuvg1/lv1 successfully resized.  `3.挂载逻辑卷开始使用`[root@localhost /]# mount /dev/xuxuvg1/lv1 /xuxu_lv1/[root@localhost /]# df -hT文件系统                类型      容量  已用  可用 已用% 挂载点devtmpfs                devtmpfs  475M     0  475M    0% /devtmpfs                   tmpfs     487M     0  487M    0% /dev/shmtmpfs                   tmpfs     487M  7.7M  479M    2% /runtmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup/dev/mapper/centos-root xfs        17G  2.3G   15G   14% //dev/sda1               xfs      1014M  138M  877M   14% /boottmpfs                   tmpfs      98M     0   98M    0% /run/user/0/dev/mapper/xuxuvg1-lv1 xfs       497M   62M  436M   13% /xuxu_lv1`可以看到还是显示500M``4.重新调整xfs文件系统大小`[root@localhost /]# xfs_growfs /dev/xuxuvg1/lv1 meta-data=/dev/mapper/xuxuvg1-lv1 isize=512    agcount=4, agsize=32000 blks         =                       sectsz=512   attr=2, projid32bit=1         =                       crc=1        finobt=0 spinodes=0data     =                       bsize=4096   blocks=128000, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=1log      =internal               bsize=4096   blocks=855, version=2         =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0data blocks changed from 128000 to 2749440[root@localhost /]# df -hT文件系统                类型      容量  已用  可用 已用% 挂载点devtmpfs                devtmpfs  475M     0  475M    0% /devtmpfs                   tmpfs     487M     0  487M    0% /dev/shmtmpfs                   tmpfs     487M  7.7M  479M    2% /runtmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup/dev/mapper/centos-root xfs        17G  2.3G   15G   14% //dev/sda1               xfs      1014M  138M  877M   14% /boottmpfs                   tmpfs      98M     0   98M    0% /run/user/0/dev/mapper/xuxuvg1-lv1 xfs        11G   66M   11G    1% /xuxu_lv1

删除逻辑卷

`1.生产环境下需要先把文件都备份,这里实验就不做演示了``2.取消挂载逻辑卷`[root@localhost /]# umount /xuxu_lv1/`3.删除逻辑卷`[root@localhost /]# lvremove /dev/xuxuvg1/lv1 Do you really want to remove active logical volume xuxuvg1/lv1? [y/n]: y  Logical volume "lv1" successfully removed`4.删除卷组`[root@localhost /]# vgremove xuxuvg1  Volume group "xuxuvg1" successfully removed`5.删除物理卷设备`[root@localhost /]# pvs  PV         VG     Fmt  Attr PSize   PFree   /dev/sda2  centos lvm2 a--  <19.00g     0   /dev/sdb          lvm2 ---   10.00g 10.00g  /dev/sdc          lvm2 ---   10.00g 10.00g[root@localhost /]# pvremove /dev/sdb /dev/sdc  Labels on physical volume "/dev/sdb" successfully wiped.  Labels on physical volume "/dev/sdc" successfully wiped.`6.最后检查一下所有lvm相关信息`[root@localhost /]# pvs  PV         VG     Fmt  Attr PSize   PFree  /dev/sda2  centos lvm2 a--  <19.00g    0 [root@localhost /]# vgs  VG     #PV #LV #SN Attr   VSize   VFree  centos   1   2   0 wz--n- <19.00g    0 [root@localhost /]# lvs  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  root centos -wi-ao---- <17.00g                       swap centos -wi-ao----   2.00g  `可以看到lvm相关信息都被删除`文章内容主要参考:https://www.bilibili.com/video/BV1LF411G7xh?p=40&vd_source=0318a6d26fb028b832726d62a0e9e2cb

关键词: