开发者

Linux LVM逻辑卷相关管理方式

开发者 https://www.devze.com 2024-08-10 11:36 出处:网络 作者: CN-FuWei
目录一、LVM概述1.1 PV(PhysicalVolume,物理卷)1.2 VG(VolumeGroup,卷组)1.3 LV(LogicalVolume,逻编程辑卷)二、LVM的管理命令2.1 PV物理卷管理2.2 VG卷组管理2.3 LV逻辑卷管理总结一、LVM概述
目录
  • 一、LVM概述
    • 1.1 PV(PhysicalVolume,物理卷)
    • 1.2 VG(VolumeGroup,卷组)
    • 1.3 LV(LogicalVolume,逻编程辑卷)
  • 二、LVM的管理命令
    • 2.1 PV物理卷管理
    • 2.2 VG卷组管理
    • 2.3 LV逻辑卷管理
  • 总结

    一、LVM概述

    LVM是linux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上,文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层的磁盘分区布局,能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性。

    需要注意的是,“/boot”分区不能基于LVM创建,必须独立出来。

    1.1 PV(PhysicalVolume,物理卷)

    物理卷是LVM机制的基本存储设备,通常对应一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(Physical Extent,PE),从而构成物理卷,物理卷一般直接使用设备文件名称,如/dev/sdb1、/dev/sDB2、/dev/sdd等。

    对用于转换成物理卷的普通分区,建议先使用fdisk工具将分区类型的ID标记号改为“8e”。若是整块硬盘,可以将所有磁盘空间划php分为一个主分区后再做相应调整。

    1.2 VG(VolumeGroup,卷组)

    由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷,许多个物理卷可以分别组成不同的卷组,卷组的名称由用户自行定义。

    1.3 LV(LogicalVolume,逻辑卷)

    逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑python卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。使用mkfs等工具在逻辑卷上创建文件系统之后,就可以挂载到Linux系统中的目录下使用。

    通过上述对物理卷、卷组、逻辑卷的解释可以看出,建立LVM分区管理机制的过程:首先将普通分区或整个硬盘创建为物理卷;接下来,将物理上比较分散的各物理卷的存储空间组成一个逻辑整体,即卷组;最后,基于卷组这个整体,分割出不同的数据存储空间,形成逻辑卷。逻辑卷才是最终用户可以格式化并挂载使用的存储单位。

    二、LVM的管理命令

    2.1 PV物理卷管理

    2.1.1 pvscan

    功能描述:使用pvscan命令可以扫描系统中所有的硬盘,列出找到的物理卷。

    Linux LVM逻辑卷相关管理方式

    1.列出所有物理卷

    [root@rhel ~]# pvscan
     PV/dev/sda5                  lvm2[100.00 GiB]
     PV/dev/sda6                  lvm2[100.01 GiB]
     Total:2[200.01 GiB]/in use:0[0 ]/in no VG:2[200.01 GiB]

    2.1.2 pvcreate

    功能描述:使用pvcreate命令可以将物理磁盘分区初始化创建为物理卷。

    Linux LVM逻辑卷相关管理方式

    1.创建物理卷/dev/sda5和/dev/sda6

    [root@rhel ~]# pvcreate /dev/sda5 /dev/sda6
     Physical volume "/dev/sda5" successfully created
     Physical volume "/dev/sda6" successfully created

    2.1.3 pvdisplay

    功能描述:使用pvdisplay命令可以显示物理卷的相关属性,比如物理卷的名称、大小、PE大小及UUD等信息。

    Linux LVM逻辑卷相关管理方式

    1.显示物理卷属性

    [root@rhel ~]# pvdisplay
     ''/dev/sda5'' is a new physical volume of ''100.00 GiB''
     --- NEW Physical volume ---
     PV Name             /dev/sda5
     VG Name
     PV Size             100.00 GiB
     Allocatable           NO
     PE Size              0
     Total PE              0
     Free PE              0
     Allocated PE           0
     PV UUID               n4I6I5-pr0w-ZTrx-tA9b-YxC1-CHKV-FLhj3f
     ''/dev/sda6'' is a new physical volume of ''100.01 GiB''
     --- NEW Physical volume ---
     PV Name             /dev/sda6
     VG Name
     PV Size             100.01GiB
     Allocatable           NO
     PE Size              0
     Total PE              0
     Free PE              0
     Allocated PE           0
     PV UUID               jCHf48-OTup-Fiox-ezUv-Zi7P-ZD5N-1vZykb

    2.1.4 pvremove

    功能描述:使用pvremove命令可以删除指定的物理卷。

    Linux LVM逻辑卷相关管理方式

    1.删除物理卷/dev/sda5、/dev/sda6和/dev/sda7

    [root@rhel ~]# pvremove /dev/sda5 /dev/sda6 /dev/sda7
    Labels on physical volume ''/dev/sda5'' successfully wiped
    Labels on physical volume ''/dev/sda6'' successfully wiped
    Labels on physical volume ''/dev/sda7'' successfully wiped

    2.1.5 pvchange

    功能描述:使用pvchange命令可以更改一个或多个物理卷的属性,比如分配权限。

    Linux LVM逻辑卷相关管理方式

    1.禁用物理卷/dev/sda5上的物理盘区的分配

    [root@rhel ~]# pvchange -x n /dev/sda5
    Physical volume ''/dev/sda5'' changed
    1 physical volume changed / 0 physical volumes not changed

    2.禁用所有物理卷上的物理盘区的分配

    [root@rhel ~]# pvchange -x n -a
      WARNING: lvmetad is running but disabled. Restart lvmetad before enabling it!
      connect() failed on local socket: 没有那个文件或目录
      Internal cluster locking initialisation failed.
      WARNING: Falling back to local file-based locking.
      Volume Groups with the cluspythontered attribute will be inAccessible.
      Physical volume ''/dev/sda7'' changed
      Physical volume ''/dev/sda5'' changed
      Physical volume ''/dev/sda6'' changed
      3 physical volumes changed / 0 physical volumes not changed

    2.1.6 pvresize

    功能描述:使用pvresize命令可以调整一个卷组中的物理卷的大小。

    Linux LVM逻辑卷相关管理方式

    1.调整物理卷/dev/sda5的大小为磁盘分区的最大值

    [root@rhel ~]# pvresize /dev/sda5
      Physical volume ''/dev/sda5'' changed
      1 physical volume(s) resized / 0 physical volume(s) not resized

    2.调整物理卷/dev/sda5的大小为40GB

    [root@rhel ~]# pvresize --setphysicalvolumesize 40G /dev/sda5
      Physical volume ''/dev/sda5'' changed
      1 physical volume(s) resized / 0 physical volume(s) not resized

    2.1.7 pvs

    功能描述:使用pvs命令可以输出有关物理卷的报告信息。

    Linux LVM逻辑卷相关管理方式

    1.显示物理卷的报告信息

    [root@rhandroidel ~]# pvs
      PV       VG  Fmt  Attr PSize  PFree
      /dev/sda5  vg1  lvm2 a--  100.00g    0
      /dev/sda6  vg1  lvm2 a--  100.00g    0
      /dev/sda7  vg1  lvm2 a--  100.00g 50.01g

    2.显示物理卷/dev/sda5的报告信息

    [root@rhel ~]# pvs /dev/sda5
      PV       VG  Fmt  Attr PSize  PFree
      /dev/sda5  vg1  lvm2 a--  100.00g   0

    2.2 VG卷组管理

    2.2.1 vgscan

    功能描述:使用vgscan命令可以查找所有的卷组。

    Linux LVM逻辑卷相关管理方式

    1.列出所有卷组

    [root@rhel ~]# vgscan
     Reading all physical volumes. This may take a while...
     Found volume group ''vg1'' using metadata type lvm2

    2.2.2 vgcreate

    功能描述:使用vgcreate命令可以创建卷组。

    Linux LVM逻辑卷相关管理方式

    1.创建卷组vg1,其成员为/dev/sda5和/dev/sda6物理卷

    [root@rhel ~]# vgcreate vg1 /dev/sda5 /dev/sda6
    Volume group ''vg1'' successfully created

    2.2.3 vgextend

    功能描述:使用vgextend命令可以动态扩展卷组,它通过向卷组中添加物理卷来增加卷组的容量。

    Linux LVM逻辑卷相关管理方式

    1.在卷组vg1中添加/dev/sda6物理卷

    [root@rhel ~]# vgextend vg1 /dev/sda6
    Volume group ''vg1'' successfully extended

    2.2.4 vgreduce

    功能描述:使用vgreduce命令可以从卷组中移除物理卷,但是卷组中剩余的最后一个物理卷是不能移除的。

    Linux LVM逻辑卷相关管理方式

    1.从卷组vg1中移除物理卷/dev/sda6

    [root@rhel ~]# vgreduce vg1 /dev/sda6
    Removed ''/dev/sda6'' from volume group ''vg1''

    2.2.5 vgdisplay

    功能描述:使用vgdisplay命令可以显示卷组的相关属性,比如卷组大小、状态、UUID、物理卷最大数量和逻辑卷最大数量等信息。如果不指定卷组名称,那么显示所有卷组的属性。

    Linux LVM逻辑卷相关管理方式

    1.显示卷组属性

    [root@rhel ~]# vgdisplay
    --- Volume group ---
    VG Name             vg1
    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             200.00 GiB
    PE Size             4.00 MiB
    Total PE            51201
    Alloc PE/Size      0/0
    Free  PE/Size      51201/200.00 GiB
    VG UUID             4woSab-ZIKC-cfUW-l23z-s8Oq-01z0-JbBJjE

    2.2.6 vgchange

    功能描述:使用vgchange命令可以更改卷组的属性,比如设置卷组的活动状态。处于活动状态的卷组是没办法被删除的,必须先将卷组设置为非活动状态后才能删除。

    Linux LVM逻辑卷相关管理方式

    1.将卷组vg1设置为非活动状态

    [root@rhel ~]# vgchange -a n vg1
      0 logical volume(s) in volume group ''vg1'' now active

    2.2.7 vgremove

    功能描述:使用vgremove命令可以删除指定的卷组。当需要删除的卷组上已经创建了逻辑卷时,需要进行确认删除,防止误删除数据。

    Linux LVM逻辑卷相关管理方式

    1.删除卷组vg1

    [root@rhel ~]# vgremove /dev/vg1
    Volume group “vg1” successfully removed

    2.2.8 vgs

    功能描述:使用vgs命令可以报告关于卷组的信息。

    Linux LVM逻辑卷相关管理方式

    1.报告卷组vg1的信息

    [root@rhel ~]# vgs vg1
    vgs  vg1
    VG   #PV #LV #SN Attr   VSize   VFree
    vg1   3   1   0  wz--n- 300.01g 50.01g

    2.2.9 vgsplit

    功能描述:使用vgsplit命令可以从源卷组中移动一个或多个物理卷到目标卷组。

    Linux LVM逻辑卷相关管理方式

    1.将卷组vg1拆分为两个,生成新卷组vg2,该卷组成员为/dev/sda7

    [root@rhel ~]# vgsplit vg1 vg2 /dev/sda7
     New volume group ''vg2'' successfully split from ''vg1''

    2.3 LV逻辑卷管理

    2.3.1 lvscan

    功能描述:使用lvscan命令可以列出所有卷组中的逻辑卷。

    lvscan [选项]

    Linux LVM逻辑卷相关管理方式

    1.列出所有卷组中的逻辑卷

    [root@rhel ~]# lvscan
     ACTIVE     '/dev/vg1/lv1'[150.00 GiB]inherit

    2.3.2 lvcreate

    功能描述:用于从指定的卷组中分割空间,以创建新的逻辑卷。需要指定逻辑卷大小、名称及所在的卷组名作为参数。

    [root@localhost~]# lvcreate  -L  容量大小  -n  逻辑卷名  卷组名

    1.将在卷组abc中建立一个新的逻辑卷,容量为10GB,名称设为test

    [root@localhost~]# lvcreate -L 10G -n test abc

    2.3.3 lvdisplay

    功能描述:使用lvdisplay命令可以显示逻辑卷的相关属性,比如逻辑卷大小、UUID、状态和块设备等信息。如果不指定逻辑卷路径,那么显示所有逻辑卷的属性。

    lvdisplay [选项] [逻辑卷路径]

    Linux LVM逻辑卷相关管理方式

    1.显示逻辑卷属性

    [root@rhel ~]# lvdisplay
      --- Logical volume ---
      LV Path              /dev/vg1/lv1
      LV Name              lv1
      VG Name              vg1
      LV UUID              88WzFH-zDt0-uwhi-JTCf-eRKf-tzZW-65altu
      LV Write Access       read/write
      LV Creation host, time rhel, 2013-08-19 01:31:11 +0800
      LV Status            available
      #open              0
      LV Size              150.00 GiB
      Current LE           38400
      Segments             2
      Allocation           inherit
      Read ahead sectors    auto
      -currently set to    256
      block device         253:0

    2.3.4 lvextend

    功能描述:使用lvextend命令可以添加空间到指定的逻辑卷中,从而扩展逻辑卷的大小。

    lvextend [选项] [逻辑卷路径[:PE[-PE]]...]

    Linux LVM逻辑卷相关管理方式

    1.将逻辑卷lv1容量再增加100GB

    [root@rhel ~]# umount /dev/vg1/lv1
    //先卸载逻辑卷lv1
    [root@rhel ~]# lvextend -L +100G /dev/vg1/lv1
    Extending logical volume lv1 to 250.00 GiB
    Logical volume lv1 successfully resized

    2.通过对物理卷/ dev/sda5的自由空间量扩展逻辑卷/dev/vg1/lv1的大小

    [root@rhel ~]# lvextend /dev/vg1/lv1 /dev/sda5

    2.3.5 lvremove

    功能描述:使用lvremove命令可以删除指定逻辑卷。如果逻辑卷处于挂载状态,那么不能删除该逻辑卷,必须先将其卸载掉。

    lvremove [选项] [逻辑卷路径]

    Linux LVM逻辑卷相关管理方式

    1.删除逻辑卷/dev/vg1/lv1

    [root@rhel ~]# umount /dev/vg1/lv1
    //卸载逻辑卷/dev/vg1/lv1
    [root@rhel ~]# lvremove /dev/vg1/lv1
    Do you really want to remove active logical volume lv1? [y/n]: y      //输入y确认删除逻辑卷
     Logical volume ''lv1'' successfully removed

    2.3.6 lvchange

    功能描述:使用lvchange命令可以更改一个逻辑卷的属性。

    lvchange [选项] [逻辑卷路径]

    Linux LVM逻辑卷相关管理方式

    1.将逻辑卷/dev/vg1/lv1的状态设置为不可用

    [root@rhel ~]# lvchange -a y /dev/vg1/lv1

    2.将逻辑卷lv1的访问权限设置为只读

    [root@rhel ~]# lvchange -p r vg1/lv1
     Logical volume "lv1" changed

    3.将逻辑卷lv1的访问权限设置为读写

    [root@rhel ~]# lvchange -p rw vg1/lv1
      Logical volume "lv1" changed

    2.3.7 lvs

    功能描述:使用lvs命令可以报告有关逻辑卷的信息。

    lvs [选项] [卷组名]

    Linux LVM逻辑卷相关管理方式

    1.报告有关逻辑卷的信息

    [root@rhel ~]# lvs
      LV  VG      Attr     LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
      lv1  vg1  -wi------250.00g

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号