LVM动态扩容

LVM根分区扩容

查看设备状态

  • /sys/class/scsi_device/ 目录包含了系统中每个 SCSI 设备对应的文件和子目录,通过执行 ls
  • /sys/class/scsi_device/ 命令,可以查看系统中所有 SCSI 设备的相关信息,比如设备名称、状态等。
ls /sys/class/scsi_device/

有时候已经加了磁盘,为什么lsblk还是不会实时出现,可以通过提醒的当时来解决这个问题

echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan

基本概念

  • PV:物理卷(Physical volume):物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。一块硬盘,或多块硬盘。
  • VG:卷组(Volume Group):卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。一堆磁盘的统称。
  • LV:逻辑卷(Logical Volume):逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。一个逻辑分区,一个分区。
  • PE(Physical Extent):每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
  • LE(Logical Extent):逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

创建LVM

创建PV

#创建pv
[root@linux-server ~]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.

#查看pv
[root@linux-server ~]# pvs      
  PV         VG     Fmt  Attr PSize   PFree 
  /dev/sdb          lvm2 ---   10.00g 10.00g
  
#查看pv
[root@linux-server ~]# pvscan  
  PV /dev/sda2   VG centos          lvm2 [<19.00 GiB / 0    free]
  PV /dev/sdb                       lvm2 [10.00 GiB]
  Total: 2 [<29.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 1 [10.00 GiB]

创建vg

#创建vg
[root@linux-server ~]# vgcreate vg1 /dev/sdb       
  Volume group "vg1" successfully created
参数解释:
-s 16M 指的是在分区的时候指定vg的大小。

#查看vg
[root@linux-server ~]# vgs                                        
  VG     #PV #LV #SN Attr   VSize   VFree  
  centos   1   2   0 wz--n- <19.00g      0 
  vg1      1   0   0 wz--n- <10.00g <10.00g
[root@linux-server ~]# vgscan
  Reading volume groups from cache.
  Found volume group "centos" using metadata type lvm2
  Found volume group "vg1" using metadata type lvm2

#查看vg     查看剩余pe
[root@linux-server ~]# vgdisplay                             
--- Volume group ---
  VG Name               vg1
  System ID                     
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <10.00 GiB
  PE Size               4.00 MiB
  Total PE              2559
  Alloc PE / Size       0 / 0 MiB
  Free  PE / Size       2559 / <10.00 GiB
  VG UUID               bVvQxe-4M2A-mMuk-b3gJ-4Maj-0xDy-5QZDOp

创建LV

[root@linux-server ~]#        lvcreate   -L  150M (+150M)  -n   lv1   vg1           #创建lv
  Rounding up size to full physical extent 152.00 MiB
  Logical volume "lv1" created.
[root@linux-server ~]#        lvcreate   -l   20   -n   lv2   vg1             #采用PE方式在创建一个lv
  Logical volume "lv2" created.
参数解释:

-L 指定lv的大小

-n 给创建的lv起一个名字

-l 20 指定PE 
[root@linux-server ~]#               lvs          #查看lv
  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  vg1    -wi-a----- 152.00m                                                    
  lv2  vg1    -wi-a-----  80.00m 

创建LV

#创建lv
[root@linux-server ~]#lvcreate   -L  150M (+150M)  -n   lv1   vg1           
  Rounding up size to full physical extent 152.00 MiB
  Logical volume "lv1" created.

#采用PE方式在创建一个lv
[root@linux-server ~]# lvcreate -l 20 -n lv2 vg1             
  Logical volume "lv2" created.
参数解释:

-L 指定lv的大小
-n 给创建的lv起一个名字
-l 20 指定PE 

#查看lv
[root@linux-server ~]# 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  vg1    -wi-a----- 152.00m                                                    
  lv2  vg1    -wi-a-----  80.00m 

制作文件系统并挂载

[root@linux-server ~]# mkfs.xfs        /dev/vg1/lv1
[root@linux-server ~]# mkfs.ext4      /dev/vg1/lv2
[root@linux-server ~]# mkdir            /mnt/lv{1..2}
[root@linux-server ~]# mount /dev/vg1/lv1 /mnt/lv1
[root@linux-server ~]# mount /dev/vg1/lv2 /mnt/lv2
[root@linux-server ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1     xfs       149M  7.8M  141M   6% /mnt/lv1
/dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2

LVM扩容

PV管理

#注意:如果lv所在的vg有空间直接lv扩容就ok了!如果没有空间则需要先对vg进行扩容。

[root@linux-server ~]#         pvcreate      /dev/sdc 
  Physical volume "/dev/sdc" successfully created.

VG管理

直接vgextend扩容

[root@linux-server ~]#        vgextend      vg1 /dev/sdc       #vg1卷组名字,将/dev/sdc扩展到vg1中
  Volume group "vg1" successfully extended

[root@linux-server ~]#        vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  centos   1   2   0 wz--n- <19.00g     0 
  vg1      2   2   0 wz--n-  19.99g 18.23g

LV扩容

[root@linux-server ~]#                  vgs            #查看vg
  VG     #PV #LV #SN Attr   VSize   VFree 
  centos   1   2   0 wz--n- <19.00g     0 
  vg1      1   2   0 wz--n- <19.99g <9.77g
[root@linux-server ~]#                  lvextend -L 850M /dev/vg1/lv1   #扩展到850M
[root@linux-server ~]#                  lvextend -L +850M /dev/vg1/lv1   #在原有基础上加850M
[root@linux-server ~]#                  lvs            查看lv
  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  vg1    -wi-ao----   1.66g                                                    
  lv2  vg1    -wi-ao----  80.00m 
[root@linux-server ~]#                  lvextend -l  +15    /dev/vg1/lv1 #在原有基础上加15个PE
[root@linux-server ~]#                  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  vg1    -wi-ao----  <1.68g                                                    
  lv2  vg1    -wi-ao----  80.00m

检验文件系统扩容

[root@linux-server ~]#                       df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1     xfs       149M  7.8M  141M   6% /mnt/lv1
/dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2
[root@linux-server ~]#                    xfs_growfs /dev/vg1/lv1  #xfs扩容
[root@linux-server ~]#                    resize2fs /dev/vg1/lv2   #ext4扩容
[root@linux-server ~]#                    df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/vg1-lv1     xfs       1.7G  9.1M  1.7G   1% /mnt/lv1
/dev/mapper/vg1-lv2     ext4       74M  1.6M   67M   3% /mnt/lv2

相关推荐

  1. LVM动态扩容

    2024-03-15 20:20:02       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-15 20:20:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-15 20:20:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-15 20:20:02       87 阅读
  4. Python语言-面向对象

    2024-03-15 20:20:02       96 阅读

热门阅读

  1. 面试官:简单讲一下Spring Boot事务的使用

    2024-03-15 20:20:02       35 阅读
  2. 工人安全绳穿戴识别系统---豌豆云

    2024-03-15 20:20:02       40 阅读
  3. 基类、接口、抽象类的区别

    2024-03-15 20:20:02       37 阅读
  4. C# Random随机数_DateTime类_String_API_StringBuilder类

    2024-03-15 20:20:02       33 阅读
  5. Data studio普通用户采用非SSL的方式连接openGauss

    2024-03-15 20:20:02       44 阅读
  6. 洛谷题解 - P2249 【深基13.例1】查找

    2024-03-15 20:20:02       39 阅读
  7. SV-7043VP 20W SIP网络有源吸顶喇叭

    2024-03-15 20:20:02       36 阅读
  8. ElementPlus switch组件初始化触发change事件处理

    2024-03-15 20:20:02       36 阅读
  9. maya自动重定向测试

    2024-03-15 20:20:02       50 阅读
  10. 什么是虚假唤醒?为什么会产生虚假唤醒?

    2024-03-15 20:20:02       44 阅读
  11. python 之yaml库使用总结

    2024-03-15 20:20:02       42 阅读