LVM逻辑卷组的管理

一、什么是LVM

        LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。

LVM 有三个重要的概念:

1 PV(Physical Volume) 物理卷 处于LVM最底层,可以是物理硬盘或者分区。

2 VG(Volume Group) 卷组 卷组是对一个或多个物理卷的集合

3 LV(Logical Volume) 逻辑卷 逻辑卷是可供系统使用的最终元设备,它们在卷组中创建和管理,由物理块组成,实际上就是一个虚拟分区

二、LVM常用管理命令

在创建LVM时顺序是:PV(物理卷)》》VG(卷组)》》LV(逻辑卷)

功能PV物理卷管理VG卷组管理LV逻辑卷管理
扫描pvscanvgscanlvscan
创建pvcreatevgcreatelvcreate
查看/显示pvdisplayvgdisplaylvdispaly
删除pvremotevgremotelvremote
扩展无法扩展vgextendlvextend
缩容无法缩容vgreducelvreduce

三 实战

1、将一块硬盘创建成LVM 并挂载到 /data 下

[root@pg001 ~]# rpm -qa | grep lvm  #查看是否安装LVM 如果没有请执行 yum -y install lvm2 安装 
lvm2-2.02.186-7.el7.x86_64
lvm2-libs-2.02.186-7.el7.x86_64
[root@pg001 ~]# fdisk -l  #查看新的磁盘
磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009881f

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    83886079    40893440   8e  Linux LVM

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区          #该磁盘并没有分区,这就是我们的新磁盘
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-root:37.7 GB, 37706792960 字节,73646080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:4160 MB, 4160749568 字节,8126464 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

[root@pg001 ~]# fdisk /dev/sdb  
#进入后输入 n 创建分区

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
# 创建成功后输入 p 查看分区号
命令(输入 m 获取帮助):p      

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x116ed9bd

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   83  Linux
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):L

 0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris        
 1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx         
 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据 
 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具      
 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt         
 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问       
 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC  
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要       
16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep        
1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT            
1e  隐藏的 W95 FAT1 80  旧 Minix       
Hex 代码(输入 L 列出所有代码):8e        #选择 LVM 
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):w   #执行 W 保存
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@pg001 ~]# pvcreate /dev/sdb1     #创建pv 物理卷
  Physical volume "/dev/sdb1" successfully created.  
[root@pg001 ~]# pvdisplay   #创建成功并查看
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <39.00 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              9983
  Free PE               1
  Allocated PE          9982
  PV UUID               FDW1eB-z3hX-SWEs-x4te-H09e-kYUx-gW99oC
   
  "/dev/sdb1" is a new physical volume of "<20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               <20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               5HuxOF-w9u1-xRN1-hTzp-EvWP-n04S-Dct2fM

[root@pg001 ~]# vgcreate vgdata   /dev/sdb1  #创建vg卷组 卷组名称vgdata
  Volume group "vgdata" successfully created
[root@pg001 ~]# vgdisplay  #创建成功并查看
  --- Volume group ---
  VG Name               vgdata
  System ID             
  Format                lvm2
  Metadata Areas        1
  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                1
  Act PV                1
  VG Size               <20.00 GiB
  PE Size               4.00 MiB
  Total PE              5119
  Alloc PE / Size       0 / 0   
  Free  PE / Size       5119 / <20.00 GiB
  VG UUID               fnmp3Q-Ctf6-xJQo-krjC-sitB-TzlS-W9uPI3
   
  --- 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               <39.00 GiB
  PE Size               4.00 MiB
  Total PE              9983
  Alloc PE / Size       9982 / 38.99 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               BJM6kd-4BcX-UDnf-WKa8-CaKL-BkcE-C3EWVe
[root@pg001 ~]# lvcreate -l +100%FREE -n lvdata   vgdata
  Logical volume "lvdata" created.
[root@pg001 ~]# lvdisplay  #创建成功并查看
  --- Logical volume ---
  LV Path                /dev/vgdata/lvdata
  LV Name                lvdata
  VG Name                vgdata
  LV UUID                JP7EAb-ZhJ1-3dKo-ab9y-YDqd-yScq-E2LoDJ
  LV Write Access        read/write
  LV Creation host, time pg001, 2022-07-09 17:18:20 +0800
  LV Status              available
  # open                 0
  LV Size                <20.00 GiB
  Current LE             5119
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                XUlQHG-jtP5-Vk1Y-7GnR-V5bu-AFLZ-lgFGbY
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-05-02 17:41:43 +0800
  LV Status              available
  # open                 1
  LV Size                <35.12 GiB
  Current LE             8990
  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                5ZkUjN-aCNI-9841-u7xO-QhcT-Iujq-KudEGk
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-05-02 17:41:43 +0800
  LV Status              available
  # open                 2
  LV Size                <3.88 GiB
  Current LE             992
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
[root@pg001 ~]# mkfs.ext4 /dev/vgdata/lvdata  #创建ext4文件系统
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5241856 blocks
262092 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2153775104
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 
完成
Writing superblocks and filesystem accounting information: 完成  
[root@pg001 ~]# mount /dev/vgdata/lvdata /data  #挂载
root@pg001 ~]# df -Th  查看
文件系统                  类型      容量  已用  可用 已用% 挂载点
devtmpfs                  devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                     tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                     tmpfs     1.9G   12M  1.9G    1% /run
tmpfs                     tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   xfs        36G  2.6G   33G    8% /
/dev/sda1                 xfs      1014M  150M  865M   15% /boot
tmpfs                     tmpfs     378M     0  378M    0% /run/user/0
/dev/mapper/vgdata-lvdata ext4       20G   45M   19G    1% /data
[root@pg001 ~]# vim /etc/fstab  #设置开机自动挂载
# /etc/fstab
# Created by anaconda on Mon May  2 17:41:44 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=a612225b-d15d-45d0-ba4b-04917510d6cb /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
UUID=ed634a26-e1fc-4074-8d2d-596fc99c0a23 /data ext4    defaults        0 0



2、将刚刚挂载的LVM 进行扩展

[root@pg001 ~]# vgextend vgdata /dev/sdc1   
  Volume group "vgdata" successfully extended 
[root@pg001 ~]# vgdisplay   添加成功并查看 查看到vgdata 由原来的20G 变成了30G
  --- Volume group ---
  VG Name               vgdata
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               29.99 GiB
  PE Size               4.00 MiB
  Total PE              7678
  Alloc PE / Size       5119 / <20.00 GiB
  Free  PE / Size       2559 / <10.00 GiB
  VG UUID               fnmp3Q-Ctf6-xJQo-krjC-sitB-TzlS-W9uPI3
   
  --- 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               <39.00 GiB
  PE Size               4.00 MiB
  Total PE              9983
  Alloc PE / Size       9982 / 38.99 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               BJM6kd-4BcX-UDnf-WKa8-CaKL-BkcE-C3EWVe
lvextend -l +100%FREE  /dev/vgdata/lvdata 
  Size of logical volume vgdata/lvdata changed from <20.00 GiB (5119 extents) to 29.99 GiB (7678 extents).
  Logical volume vgdata/lvdata successfully resized.
[root@pg001 ~]# lvdisplay     #扩展成功并查看
  --- Logical volume ---
  LV Path                /dev/vgdata/lvdata
  LV Name                lvdata
  VG Name                vgdata
  LV UUID                JP7EAb-ZhJ1-3dKo-ab9y-YDqd-yScq-E2LoDJ
  LV Write Access        read/write
  LV Creation host, time pg001, 2022-07-09 17:18:20 +0800
  LV Status              available
  # open                 1
  LV Size                29.99 GiB
  Current LE             7678
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                XUlQHG-jtP5-Vk1Y-7GnR-V5bu-AFLZ-lgFGbY
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-05-02 17:41:43 +0800
  LV Status              available
  # open                 1
  LV Size                <35.12 GiB
  Current LE             8990
  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                5ZkUjN-aCNI-9841-u7xO-QhcT-Iujq-KudEGk
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-05-02 17:41:43 +0800
  LV Status              available
  # open                 2
  LV Size                <3.88 GiB
  Current LE             992
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

[root@pg001 ~]# df -Th  #然而此时data 并没有增加
文件系统                  类型      容量  已用  可用 已用% 挂载点
devtmpfs                  devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                     tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                     tmpfs     1.9G   12M  1.9G    1% /run
tmpfs                     tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   xfs        36G  2.6G   33G    8% /
/dev/sda1                 xfs      1014M  150M  865M   15% /boot
/dev/mapper/vgdata-lvdata ext4       20G   45M   19G    1% /data

[root@pg001 ~]# resize2fs /dev/vgdata/lvdata   同步文件系统容量到内核 该命令只支持ext4、ext3等

如果是xfs  则xfs_growfs /dev/vgdata/lvdata 

如果过程中创建错误 可以实用 pvremote、vgremote、lvremote 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值