PV,VG,LV,,LVM概念解析及操作

本文深入解析LVM(逻辑卷管理)的概念及其组件PV、VG、LV的作用与关系,通过实例演示如何在多硬盘环境下进行分区、创建PV、VG、LV,并详细介绍了LVM的扩容和缩容操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • LVM(逻辑卷管理)的概念

在了解LVM的概念之前我们应该先了解PV(physical volume,物理卷)、VG(volume group,卷组)和LV(logical volume,逻辑卷)。因为LVM就是由这三种元素组成的。

  1. PV(physical volume,物理卷):
        PV是VG的组成部分,它是由分区构成的,通常我们在有多块硬盘的环境中把一块硬盘格式化成一个主分区后,然后把这块硬盘做成PV,在只有一块硬盘的情况下我们就是把这块硬盘上的某一个分区做成PV。比如,公司里的服务器可能有多块硬盘,这个时候你可以把一块硬盘划一个主分区,然后再把它做成PV,但是就像这次我重做系统时候机子上就一块硬盘,我还得考虑引导分区和“/”根分区,所以我就把硬盘划了四个主分区,一个“/boot”分区、一个“/”分区,还有一个“swap”分区,最后当然就把剩下的分了一个主分区,把系统装好后我把最后一个主分区做成了一个PV,然后加入到VG里,又从VG里划分的LV,也就组成了LVM。
    2. VG(volume group,卷组):
        VG就是卷组,它是由若干个PV组成的。也就是我们把上面那些硬盘分区,然后做成的PV。它就是由那些PV组成的。它的作用就是把PV集中到一块再进行划分。
    3. LV(logical volume,逻辑卷):
        LV就是从VG里划分出来的卷,它可以在你所用的卷不够用的情况下增加其容量。它其实就像是Windows里的逻辑磁盘,不过Windows里的逻辑磁盘不能随心所欲的增加或减少磁盘的容量,而LV就可以。下面就是PV、VG和LV它们之前的关系图:

                

    

从上图我们可以很容易的看出它们之前的关系,用一个例子说明就是:假如我们三块硬盘,一块50G、一块20G、另一块100G。这个时候我们要把它们做成一个LMV类型磁盘我们应该如下做:首先把三块硬盘进行分区并格式化(在上面说过了,在有多块硬盘的情况下建议一块硬盘划分一个主分区)然后将其做成PV。其次就是新建一个VG,建好之后把上面这三个硬盘转化成的PV加入到VG里将磁盘容量集中起来也就成了170G,最后我们就可以把这个VG当成一块170G的硬盘来使用就OK了!呵呵,这下明白了吧!当硬盘只有一块的时候,也就是说这块硬盘上还的装操作系统时如下图来划分分区:

 

 呵呵,上面就是我的系统的硬盘分区情况,首先划了一个"/boot"分区,然后是“swap”,最后是根“/"分区。后面的空间空下了,然后装好系统后,把空下的空间分为了一个主分区,把这个分区做成一个PV,然后新建一个VG卷组,把做成的PV加入到VG中,最后从VG中划分LV。。。好了!下面我们来看一下如何去做LVM吧。

 

新增加一个磁盘,查看新增的磁盘
[root@hadoop101 ~]# lsblk -f
NAME                     FSTYPE      LABEL UUID                                   MOUNTPOINT
sda                                                                               
├─sda1                   ext4              fb24c931-a633-4ba0-92ba-a9c5b618f735   /boot
├─sda2                   ext4              10e36f84-559b-4b63-ab7f-a33b48f0139b   /
└─sda3                   swap              7b9feb0d-bf07-40d5-9a2c-5493002909ed   [SWAP]
sdb                                                                               
├─sdb1                   ext4              9a32d67b-9407-449f-9207-f8bf6ad6b088   
├─sdb2                   ext4              0910d5e6-7475-4168-a90d-4084252f7990   
├─sdb3                   LVM2_member       HZXidH-psjf-b0bY-EgkO-1nHD-8v27-BYrbTc 
│ └─crt_vg-crt_lv (dm-0)                                                          
└─sdb4                                                                            
sdc                                                                               
sr0 
对新增的sdc磁盘进行分区
fdisk /dev/sdc
[root@hadoop101 ~]# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x2035c5ac.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +50M

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
格式化/dev/sdc1
[root@hadoop101 ~]# mkfs -t ext4 /dev/sdc1
将/test2挂载到/dev/sdc1
[root@hadoop101 ~]# mount /dev/sdc1 /test2
卸载
[root@hadoop101 ~]# umount /test2
用命令挂载重启后失效,永久挂载
[root@hadoop101 ~]# vi /etc/fstab
保存,执行mount -a立即生效

PV,VG,LV
新建PV
[root@hadoop101 ~]# pvcreate /dev/sdb3
pv扫描查看
[root@hadoop101 ~]# pvscan
[root@hadoop101 ~]# pvdisplay
创建VG
[root@hadoop101 ~]# vgcreate crt_vg /dev/sdb3
或者命令如下
vgreduce crt_vg /dev/sdb3
创建LV
[root@hadoop101 ~]# lvcreate -L 30M -n crt_lv crt_vg
  Rounding up size to full physical extent 32.00 MiB
  Logical volume "crt_lv" created.
LV增加空间
lvextend -L +30M /dev/crt_vg/crt_lv
LV减少空间
lvreduce -L -20M /dev/crt_vg/crt_lv

将testlv挂载到/dev/crt_vg/crt_lv
[root@hadoop101 ~]# mkdir /testlv
[root@hadoop101 ~]# mount /dev/crt_vg/crt_lv /testlv
用命令挂载重启后失效,永久挂载
[root@hadoop101 ~]# vi /etc/fstab
UUID=f4bb7cce-a2e0-4a29-ae9a-9161c55856fa /testlv                 ext4    defaults        1 1
保存,执行mount -a立即生效

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值