(一)相关概念

逻辑卷是使用逻辑卷组管理(Logic Volume Manager)创建出来的设备,如果要了解逻辑卷,那么首先需要了解逻辑卷管理中的一些概念。

  • 物理卷(Physical Volume,PV):也就是物理磁盘分区,如果想要使用LVM来管理这个分区,可以使用fdisk将其ID改为LVM可以识别的值,即8e。
  • 卷组(Volume Group,VG):PV的集合
  • 逻辑卷(Logic Volume,LV):VG中画出来的一块逻辑磁盘

了解概念之后,逻辑卷是如何产生的就很清晰了:物理磁盘或者磁盘分区转换为物理卷,一个或多个物理卷聚集形成一个或多个卷组,而逻辑卷就是从某个卷组里面抽象出来的一块磁盘空间。具体架构如下:


(二)为什么要使用逻辑卷

对于物理磁盘,我们直接分区、格式化为文件系统之后就可以使用,那为什么还需要使用逻辑卷的方式来管理磁盘呢?我认为主要有2个原因:

  • 业务上使用大容量的磁盘。举个例子,我们需要在/data下挂载30TB的存储,对于单个磁盘,是无法满足要求的,因为市面上没有那么大的单块磁盘。但是如果我们使用逻辑卷,将多个小容量的磁盘聚合为一个大的逻辑磁盘,就能满足需求。
  • 扩展和收缩磁盘。在业务初期规划磁盘时,我们并不能完全知道需要分配多少磁盘空间是合理的,如果使用物理卷,后期无法扩展和收缩,如果使用逻辑卷,可以根据后期的需求量,手动扩展或收缩。

(三)创建物理卷(PV)

通过上面的逻辑卷架构图,可以知道,如果要创建逻辑卷,需要先有物理磁盘或者磁盘分区,然后使用物理磁盘或磁盘分区创建物理卷,再使用物理卷创建卷组,最后使用卷组创建逻辑卷。接下来一步一步创建逻辑卷。

创建物理卷是创建逻辑卷的第一步,创建物理卷相关命令有:

# pvcreate用于创建物理卷
pvcreate /dev/sdb# pvdisplay、pvsca、pvs用于查看物理卷
pvdisplay
pvs
pvscan

可以使用磁盘直接创建物理卷,也可以使用磁盘分区创建物理卷。两种方法稍微有些差距,下面进行说明。

(3.1)使用磁盘直接创建物理卷

直接使用物理磁盘创建物理卷没有什么需要特别注意的,直接创建即可。

# 使用fdisk -l确认磁盘,可以看到/dev/sdb未做分区处理
[root@masterdb ~]# fdisk -l /dev/sdbDisk /dev/sdb: 2147 MB, 2147483648 bytes, 4194304 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
# 使用pvcreate将sdb磁盘创建为物理卷
[root@masterdb ~]# pvcreate /dev/sdbPhysical volume "/dev/sdb" successfully created.
# 使用pvdisplay确认物理卷信息
[root@masterdb ~]# pvdisplay --- Physical volume ---PV Name               /dev/sda3VG Name               centosPV Size               <68.73 GiB / not usable 4.00 MiBAllocatable           yes (but full)PE Size               4.00 MiBTotal PE              17593Free PE               0Allocated PE          17593PV UUID               FRxq7G-1XWu-dPeW-wEwO-322y-M9XR-0ExebA"/dev/sdb" is a new physical volume of "2.00 GiB"--- NEW Physical volume ---PV Name               /dev/sdbVG Name               PV Size               2.00 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               nsL75f-o3fD-apyz-SSY0-miUi-4RYf-zVLIT6
# 也可以使用pvs确认物理卷信息,不过能够看到的信息比pvdisplay少
[root@masterdb ~]# pvs PV         VG     Fmt  Attr PSize  PFree/dev/sda3  centos lvm2 a--  68.72g    0 /dev/sdb          lvm2 ---   2.00g 2.00g
[root@masterdb ~]#

(3.2)使用磁盘分区创建物理卷

磁盘分区之后,磁盘id为83,如果要使用逻辑卷管理,需要将id改为8e,才能创建物理卷。

分区1修改id过程如下:

[root@masterdb ~]# fdisk /dev/sdc Welcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Command (m for help): t     #t可以修改分区代码Partition number (1,2, default 2): 1            #选择1分区进行修改Hex code (type L to list all codes): L          #如果不知道类型,可以用”L”列出可以选择的修改代码0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        1  FAT12           27  Hidden NTFS Win 82  Linux swap / 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 hidden C:  c6  DRDOS/sec (FAT-4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     a  OS/2 Boot Manag 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 hi eb  BeOS fs        e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            1e  Hidden W95 FAT1 80  Old Minix      Hex code (type L to list all codes): 8e         #选择8eChanged type of partition 'Linux' to 'Linux LVM'Command (m for help): w               # 保存The partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.[root@masterdb ~]#

按照上面的过程,修改分区2,最终结果如下:

接着进行创建物理卷(PV)即可

[root@masterdb ~]# pvcreate /dev/sdc1 Physical volume "/dev/sdc1" successfully created.
[root@masterdb ~]# pvcreate /dev/sdc2 Physical volume "/dev/sdc2" successfully created.

(四)创建、扩容卷组

(4.1)创建卷组

有了PV就可以创建卷组了,创建卷组相关命令有:

# 使用vgcreate创建卷组
vgcreate VG_NAME device1 ... devicen# 使用vgdosplay、vgscan、vgs命令查看卷组
vgdisplay
vgscan
vgs

接下来演示使用sdb和sdc1创建一个卷组VG_TEST。

# 使用vgcreate创建卷组VG_TEST,包含物理卷:/dev/sdb和/dev/sdc1
[root@masterdb ~]# vgcreate VG_TEST /dev/sdb /dev/sdc1Volume group "VG_TEST" successfully created
# 查看方法一:使用vgdisplay查看卷组信息
[root@masterdb ~]# vgdisplay--- Volume group ---VG Name               VG_TESTSystem ID             Format                lvm2Metadata Areas        2Metadata Sequence No  1VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                0Open LV               0Max PV                0Cur PV                2Act PV                2VG Size               2.99 GiBPE Size               4.00 MiBTotal PE              766Alloc PE / Size       0 / 0   Free  PE / Size       766 / 2.99 GiBVG UUID               DmY2Nz-ietc-2Y8Y-7A1b-1cpT-qEeV-XrgURn
...  # 查看方法二:使用vgscan查看卷组信息
[root@masterdb ~]# vgscanReading volume groups from cache.Found volume group "VG_TEST" using metadata type lvm2Found volume group "centos" using metadata type lvm2
# 查看方法三:使用vgs查看卷组信息
[root@masterdb ~]# vgs VG      #PV #LV #SN Attr   VSize  VFreeVG_TEST   2   0   0 wz--n-  2.99g 2.99gcentos    1   4   0 wz--n- 68.72g    0

(4.2)扩容卷组

如果在使用过程中,发现要使用的空间大于卷组的空间,可以对卷组进行扩容,把新的物理卷(PV)加入到卷组中,语法为

vgextend VG_NAME device1 ... devicen

接下来演示将sdc2加入到卷组VG_TEST中。

# 使用vgextend扩容卷组VG_TEST
[root@masterdb ~]# vgextend VG_TEST /dev/sdc2  Volume group "VG_TEST" successfully extended

最终结果如下,发现PV数量和VG容量都发生了变化

(五)创建、扩容逻辑卷

(5.1)创建逻辑卷

有了卷组,就可以创建逻辑卷(LV)了,创建逻辑卷相关命令有:

# 使用lvcreate创建逻辑卷
lvcreate –L SIZE –n LV_NAME VG_NAME使用lvdisplay、lvscan、lvs查看逻辑卷
lvdisplay
lvscan
lvs

接下来演示使用VG_TEST创建逻辑卷lv_test

# 使用lvcreate创建逻辑卷lv_test
[root@masterdb ~]# lvcreate -L 1g -n lv_test VG_TESTLogical volume "lv_test" created.
# 查看方法一:使用lvdisplay查看逻辑卷
[root@masterdb ~]# lvdisplay --- Logical volume ---LV Path                /dev/VG_TEST/lv_testLV Name                lv_testVG Name                VG_TESTLV UUID                RqWMOG-wCJJ-deu4-dIgv-c5hI-Bsqa-FHgh4ELV Write Access        read/writeLV Creation host, time masterdb, 2020-05-13 22:42:45 +0800LV Status              available# open                 0LV Size                1.00 GiBCurrent LE             256Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:4
...# 查看方法二:使用lvscan查看逻辑卷
[root@masterdb ~]# lvscan ACTIVE            '/dev/VG_TEST/lv_test' [1.00 GiB] inheritACTIVE            '/dev/centos/mysql' [<45.00 GiB] inheritACTIVE            '/dev/centos/swap' [<3.73 GiB] inheritACTIVE            '/dev/centos/home' [10.00 GiB] inheritACTIVE            '/dev/centos/root' [10.00 GiB] inherit# 查看方法三:使用lvs查看逻辑卷
[root@masterdb ~]# lvs LV      VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertlv_test VG_TEST -wi-a-----   1.00g                                                    home    centos  -wi-ao----  10.00g                                                    mysql   centos  -wi-ao---- <45.00g                                                    root    centos  -wi-ao----  10.00g                                                    swap    centos  -wi-ao----  <3.73g

创建完lv之后,格式化挂载即可使用

# 创建文件系统
[root@masterdb ~]# mkfs.ext3 /dev/VG_TEST/lv_test
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks65536 inodes, 262144 blocks13107 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=2684354568 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376Allocating group tables: done                            Writing inode tables: done                            Creating journal (8192 blocks): doneWriting superblocks and filesystem accounting information: done# 创建挂载点
[root@masterdb ~]# mkdir /test
# 挂载文件系统
[root@masterdb ~]# mount /dev/VG_TEST/lv_test /test
# 确认结果
[root@masterdb ~]# df –h Filesystem                   Size  Used Avail Use% Mounted on/dev/mapper/centos-root       10G  4.1G  5.9G  42% /.../dev/mapper/VG_TEST-lv_test  976M  1.3M  924M   1% /test


(5.2)扩容逻辑卷

使用如下命令进行扩容

# 使用lvextend扩容lv,+SIZE代表增加的空间
lvextend -L +SIZE lv_device
# 调整文件系统的大小
resize2fs device lv_device

接下来演示使用对逻辑卷lv_test扩容500M。

扩容前文件磁盘大小如下:

进行扩容操作:

# 对lv进行扩容,增加500M空间
[root@masterdb ~]# lvextend -L +500M /dev/VG_TEST/lv_test Size of logical volume VG_TEST/lv_test changed from 1.00 GiB (256 extents) to <1.49 GiB (381 extents).Logical volume VG_TEST/lv_test successfully resized.

之后查看磁盘大小,未发生改变:

调整文件系统的大小:

# 使用resize2fs调整文件系统的大小
[root@masterdb ~]# resize2fs /dev/VG_TEST/lv_test
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/VG_TEST/lv_test is mounted on /test; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/VG_TEST/lv_test is now 390144 blocks long.

确认磁盘大小已经发生了改变


【完】

Linux 物理卷(PV)、逻辑卷(LV)、卷组(VG)管理相关推荐

  1. linux实验报告用户管理,Linux实验报告-用命令实现用户和组的管理

    河南师范大学综合性 设计性实验项目简介河南师范大学综合性 设计性实验项目简介 学院名称 公章 学院名称 公章 软件学院软件学院 学年学年 20142014 20152015 第第 1 1 学期学期 填 ...

  2. 实验报告 LINUX组管理,Linux实验报告-用命令实现用户和组的管理.doc

    河南师范大学综合性.设计性实验项目简介 学院名称(公章): 软件学院 学年 2014 - 2015 第 1 学期 填表日期: 2014 年 10 月 29 日 实验课程名称 Linux操作系统 实验项 ...

  3. linux怎么查看组用户名和密码,Linux基础命令(十一)——用户和组账号管理

    注:文档有点长,前面部分说的是一些比较概念的东西,看命令的话可以直接看后面部分. 一.用户账号和组账号概述 与Windows操作系统对比,Linux系统中的用户账号和组账号的作用在本质上是一样的,同样 ...

  4. Linux物理CPU及逻辑CPU查看

    物理CPU:服务器插槽上实际的CPU个数 查看方法: cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 逻辑CPU: 查 ...

  5. linux 卸载lv,Linux系统LVM(逻辑卷管理)的删除

    创建好 LVM 之后,如果经过一段时间的运行,我们发现 LVM 技术并未像有些人吹嘘的那样为系统的管理和维护工作带来很大的方便,可以手动删除它.与创建 LVM 的顺序恰好相反,在释放 LVM 所占磁盘 ...

  6. Linux 物理卷、卷组、逻辑卷关系,逻辑卷大小的扩展

    一.概念 LVM(Logical Volume Manager) 辑卷管理 PE(Physical Extend) 物理拓展 PV(Physical Volume) 物理卷 VG(Volume Gro ...

  7. linux lvm 删除pv磁盘,如何安全的删除Linux LVM中的PV物理卷(硬盘或分区)

    大多数文章介绍的都仅仅是添加硬盘以及调整分区大小,但很少有安全的彻底卸掉其中一个分区或硬盘的,这里重点介绍一下这个. 情况介绍: 一.由于硬盘或者分区的操作方式其实都一样,所以我这里就以分区为例. 二 ...

  8. linux系统创建lvm卷,LVM逻辑卷创建管理

    一.简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵 ...

  9. linux用pe大小做逻辑卷,Linux常用命令之--逻辑卷

    逻辑卷管理概述 每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能 ...

最新文章

  1. Linux_LVMQuota
  2. “寒假”建站创业 选购虚拟主机是关键
  3. VMware Workstation 中 用NAT 方式设置网络
  4. nyoj164——卡特兰数(待填坑)
  5. plc模拟器软件_举例说明 你的PLC和触摸屏为什么总是通讯不上?
  6. 如何批量打印图片文件
  7. chromium os 编译
  8. 摘录:《晨间日记的奇迹》
  9. 跨链桥:用零知识证明桥接多链宇宙
  10. 深度学习中的遥感影像数据集~持续更新
  11. EXECL日期相减计算工龄
  12. 蓝奏云打不开解决方法
  13. Ant design vue中实现动态更换主题色
  14. 基于Java的留言板系统的设计与实现
  15. 说一下zoom:1的原理,万一被问到呢?
  16. android 响铃函数,android – 铃声一遍又一遍地播放(无限循环播放)
  17. Ubuntu20.04 ROS读取basler相机图像步骤。MATLAB2021b标定basler单目相机
  18. 第 5-5 课: 如何打包部署 Spring Boot 项⽬
  19. linux进入黑洞路由,BGP路由黑洞解决办法介绍
  20. 回溯算法:排列树(全排列)

热门文章

  1. 7-111 停车场管理 (50分) C++
  2. 如何比较两个APK包签名是否一致
  3. 趣学算法 —— 算法之美
  4. java里jlp是什么意思_如何在Java中使用Selp提交表单
  5. 连接ubuntu 向日葵黑屏
  6. Spring中的AOP切面编程的三种实现方式
  7. CKFinder 介绍
  8. [中级教程] 实例教程_次世代游戏场景刀枪武器架子3D模型制作教程
  9. 230530-论文整理-课题组2
  10. 什么是loader、项目中安装loader、使用loader管理css格式文件