第一章: 相关概念

1.物理存储介质(PhysicalStorageMedia):指系统的物理存储设备==>磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。

2.物理卷(Physical Volume,PV):指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

3.卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。

4.逻辑卷(Logical Volume,LV):类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。

第二章 实践与例子

1 创建物理卷

物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。在创建逻辑卷之前需要先创建物理卷,然后将多个物理卷组合创建卷组,最后在卷组的基础上创建逻辑卷。

将空白硬盘(或者分区)加入主机,系统识别到新的硬盘sdb后,使用pvcreate对硬盘创建PV: 
代码实现:

# lsblk  /dev/sdb
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vdc  253:32   0  500G  0 disk #fdisk /dev/sdb
....Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e           # 修改系统ID为 Linux LVM
Changed type of partition 'Linux' to 'Linux LVM'Command (m for help): pDisk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 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
Disk label type: dos
Disk identifier: 0x6200a0acDevice Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   8e  Linux LVMCommand (m for help): w
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.//注,如果是第一次建立的新磁盘,则应该先分区。命令顺序如下:# fdisk /dev/sdb
>n
然后选择p(主分区)
>p
然后一路回车
>t
后面的命令和上面一样了。# 创建物理卷
# pvcreate /dev/sdb1        Physical volume "/dev/sdb1" successfully created.
# pvdisplay"/dev/sdb1" is a new physical volume of "10.00 GiB"--- NEW Physical volume ---PV Name               /dev/sdb1VG Name               PV Size               10.00 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               xT6409-MGxH-M7Dy-TvZz-Fl55-qarO-Bb1n3U

需要注意的是,如果针对空闲分区创建PV,需要重新指定分区的系统ID。在上面的代码中Hex code (type L to list all codes): 8e指定分区的系统ID为Linux LVM。空白为分区磁盘直接使用pvcreate /dev/sdb命令,系统ID自动转成Linux LVM。

2 创建卷组

卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。现在使用vgcreate命令对上文创建的PV(单个物理卷)创建卷组。 
代码实现:

[root@Centos7T ~]#vgcreate vg0 /dev/sdb1     # 创建卷组vg0,指定物理块PE大小10M,并将pv:/dev/sdb1加入vg0.
  Volume group "vg0" successfully created
[root@Centos7T ~]#vgdisplay             # 查看所有卷组的信息.后面接具体卷组名,可查看指定卷组信息
  --- Volume group ---
  VG Name               vg0
  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               9.99 GiB
  PE Size               4.00 MiB
  Total PE              1023
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1023 / 9.99 GiB
  VG UUID               46Z4tB-d71l-nfir-t6sB-cZPo-SBfl-eFCDIj
[root@Centos7T ~]#pvdisplay          # 查看所当前物理卷的信息.后面可接具体物理卷设备,可查看指定物理卷信息
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               vg0              # 已加入卷组vg0
  PV Size               10.00 GiB / not usable 10.00 MiB
  Allocatable           yes
  PE Size               10.00 MiB        # pe大小
  Total PE              1023             # 当前物理卷的pe总数
  Free PE               1023             # 当前物理卷的未被划分逻辑卷的pe总数
  Allocated PE          0
  PV UUID               xT6409-MGxH-M7Dy-TvZz-Fl55-qarO-Bb1n3U

3 创建逻辑卷

逻辑卷(Logical Volume,LV):类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。可以使用lvcreate命令创建逻辑卷 
代码实现:

# lvcreate -n lv0 -l 100%vg vg0     # 使用vg0的全部空间创建逻辑卷lv0
  Logical volume "lv0" created.
# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg0/lv0
  LV Name                lv0
  VG Name                vg0
  LV UUID                zGNz6W-N4QC-m3ZF-ey3h-mP7i-gFJ3-DjGMX1
  LV Write Access        read/write
  LV Creation host, time Centos7.magedu.com, 2017-08-19 21:27:34 +0800
  LV Status              available
  # open                 0
  LV Size                9.99 GiB
  Current LE             1023
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

# lsblk -f /dev/sdb
NAME        FSTYPE      LABEL UUID                                   MOUNTPOINT
sdb                                                                  
└─sdb1      LVM2_member       xT6409-MGxH-M7Dy-TvZz-Fl55-qarO-Bb1n3U
  └─vg0-lv0

此时会在/dev目录下生成一个新的设备文件:

# ll /dev/vg0/lv0
lrwxrwxrwx. 1 root root 7 Aug 19 21:27 /dev/vg0/lv0 -> ../dm-0     # 软链接文件

#ll /dev/dm-0
brw-rw----. 1 root disk 253, 0 Aug 19 21:27 /dev/dm-0

4 创建文件系统

在逻辑卷lv0创建完成后话需要创建文件系统并挂载到制定目录才能够使用,当然还需要将挂载信息写入/etc/fstab文件 
代码实现:

# mkfs.xfs /dev/vg0/lv0           # 创建文件系统
meta-data=/dev/vg0/lv0           isize=512    agcount=4, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2618880, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
# lsblk /dev/sdb -f
NAME        FSTYPE      LABEL UUID                                   MOUNTPOINT
sdb                                                                  
└─sdb1      LVM2_member       xT6409-MGxH-M7Dy-TvZz-Fl55-qarO-Bb1n3U
  └─vg0-lv0 xfs               549cfbaa-a6dc-4161-a765-5f55af78131a   
# lsblk /dev/vg0/lv0 -f
NAME    FSTYPE LABEL UUID                                 MOUNTPOINT
vg0-lv0 xfs          549cfbaa-a6dc-4161-a765-5f55af78131a
# mkdir /mnt/lv0 && mount /dev/vg0/lv0 /mnt/lv0     # 将逻辑卷挂载到制定目录
[root@Centos7T ~]#df -T             # 查看挂载点
Filesystem          Type     1K-blocks    Used Available Use% Mounted on
/dev/sda2           xfs       52403200 4605416  47797784   9% /
/dev/sda1           xfs        1038336  172116    866220  17% /boot
/dev/sda5           xfs       52403200  376288  52026912   1% /app
/dev/sr0            iso9660    8086368 8086368         0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg0-lv0 xfs       10465280   32944  10432336   1% /mnt/lv0
# blkid /dev/vg0/lv0
/dev/vg0/lv0: UUID="549cfbaa-a6dc-4161-a765-5f55af78131a" TYPE="xfs"
#df -T /dev/vg0/lv0
Filesystem          Type 1K-blocks  Used Available Use% Mounted on
/dev/mapper/vg0-lv0 xfs   10465280 32944  10432336   1% /mnt/lv0
# echo "UUID=549cfbaa-a6dc-4161-a765-5f55af78131a /mnt/lv0                 xfs    defaults        0 0" >> /etc/fstab
# cat /etc/fstab | egrep "UUID"
UUID=806ef114-dff2-4c17-aff7-c95bc67faf40 /                       xfs     defaults        0 0
UUID=3df87bb6-2f6f-4d3f-af94-5ec47d2a9796 /app                    xfs     defaults        0 0
UUID=1e7ba91a-85c8-442b-b105-bc61c00ddbee /boot                   xfs     defaults        0 0
UUID=cc0e9678-d369-4bb9-9039-fd2f322df8b4 swap                    swap    defaults        0 0
UUID=549cfbaa-a6dc-4161-a765-5f55af78131a /mnt/lv0                 xfs    defaults        0 0

至此,逻辑卷创建完毕并可投入使用。

5 扩展逻辑卷

任何分区在使用过程中难免会遇到空间不足的情况,逻辑卷也不例外。但我们可以很方便的多逻辑卷进行扩展,不论是使用新的空白磁盘还是已有的空白分区。其大致实现原理为:对空白分区创建物理卷,然后将物理卷加入到需要扩展逻辑卷所在的卷组,最后扩大逻辑卷空间。如果逻辑卷所在的卷组还有空闲的空间(PE)可被使用且足够大,则甚至不需要另外的分区或者磁盘。本文还是以新的分区为例扩展逻辑卷lv0. 
代码实现: 
修改系统ID并创建PV

[root@Centos7T ~]#lsblk -f /dev/sdc
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sdc                                                      
└─sdc1 xfs          6ef26358-ce07-4b0c-b28b-07caa90838bd
[root@Centos7T ~]#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): p

Disk /dev/sdc: 32.2 GB, 32212254720 bytes, 62914560 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
Disk label type: dos
Disk identifier: 0xe20e9d16

Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    62914559    31456256   83  Linux

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): p

Disk /dev/sdc: 32.2 GB, 32212254720 bytes, 62914560 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
Disk label type: dos
Disk identifier: 0xe20e9d16

Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    62914559    31456256   8e  Linux LVM

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

Calling ioctl() to re-read partition table.
Syncing disks.
[root@Centos7T ~]#pvcreate /dev/sdc1          # 在指定分区上创建物理卷
WARNING: xfs signature detected on /dev/sdc1 at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/sdc1.
  Physical volume "/dev/sdc1" successfully created.
[root@Centos7T ~]#pvs
  PV         VG  Fmt  Attr PSize  PFree
  /dev/sdb1  vg0 lvm2 a--   9.99g     0
  /dev/sdc1      lvm2 ---  30.00g 30.00g

将PV加入到指定VG

[root@Centos7T ~]#vgextend vg0 /dev/sdc1          # 将物理卷加入已有的卷组
  Volume group "vg0" successfully extended
[root@Centos7T ~]#vgs
  VG  #PV #LV #SN Attr   VSize  VFree
  vg0   2   1   0 wz--n- 39.98g 29.99g            # VFREE为30G,即为新增物理卷的空间
[root@Centos7T ~]#pvdisplay /dev/sdc1
  --- Physical volume ---
  PV Name               /dev/sdc1
  VG Name               vg0
  PV Size               30.00 GiB / not usable 9.00 MiB
  Allocatable           yes
  PE Size               10.00 MiB
  Total PE              3071
  Free PE               3071
  Allocated PE          0
  PV UUID               Ez6ZFl-xjWR-gQHp-O3Yj-vTza-2OCE-h7Jccy

可知,将新建的PV加入到vg0后,vg0也有了30G的可用空间。同时/dev/sdc1的PE大小自动与/dev/sdb1同步为10M。 
扩展逻辑卷LV

[root@Centos7T ~]#lvs
  LV   VG  Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0 -wi-ao---- 9.99g

[root@Centos7T ~]#lvextend -l 100%free /dev/vg0/lv0      # 扩展逻辑卷,使用卷组的全部可用空间
  Size of logical volume vg0/lv0 changed from 9.99 GiB (1023 extents) to 29.99 GiB (3071 extents).
  Logical volume vg0/lv0 successfully resized.
[root@Centos7T ~]#lvs
  LV   VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0 -wi-ao---- 29.99g                                       
[root@Centos7T ~]#lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg0/lv0
  LV Name                lv0
  VG Name                vg0
  LV UUID                zGNz6W-N4QC-m3ZF-ey3h-mP7i-gFJ3-DjGMX1
  LV Write Access        read/write
  LV Creation host, time Centos7.magedu.com, 2017-08-19 21:27:34 +0800
  LV Status              available
  # open                 1
  LV Size                29.99 GiB
  Current LE             3071
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

[root@Centos7T ~]#lsblk -f /dev/sd{b,c}
NAME        FSTYPE      LABEL UUID                                   MOUNTPOINT
sdb                                                                  
└─sdb1      LVM2_member       xT6409-MGxH-M7Dy-TvZz-Fl55-qarO-Bb1n3U
  └─vg0-lv0 xfs               549cfbaa-a6dc-4161-a765-5f55af78131a   /mnt/lv0
sdc                                                                  
└─sdc1      LVM2_member       Ez6ZFl-xjWR-gQHp-O3Yj-vTza-2OCE-h7Jccy
  └─vg0-lv0 xfs               549cfbaa-a6dc-4161-a765-5f55af78131a   /mnt/lv0

逻辑卷扩展成功。

5 删除逻辑卷

本文由于更多是演示,删除逻辑卷会卷组、物理卷一并彻底删除。但实际生产中可能只是单独删除逻辑卷,卷组、物理卷还会保留。当然,实际生产中很少需要删除逻辑卷。在删除逻辑卷之前,所有有用的资料都需要备份转移。 
代码实现:

[root@Centos7T ~]#sed -i '/lv0/d' /etc/fstab && umount /mnt/lv0/      # 删除配置信息
[root@Centos7T ~]#cat /etc/fstab | egrep "UUID"
UUID=806ef114-dff2-4c17-aff7-c95bc67faf40 /                       xfs     defaults        0 0
UUID=3df87bb6-2f6f-4d3f-af94-5ec47d2a9796 /app                    xfs     defaults        0 0
UUID=1e7ba91a-85c8-442b-b105-bc61c00ddbee /boot                   xfs     defaults        0 0
UUID=cc0e9678-d369-4bb9-9039-fd2f322df8b4 swap                    swap    defaults        0 0
[root@Centos7T ~]#df -T
Filesystem     Type     1K-blocks    Used Available Use% Mounted on
/dev/sda2      xfs       52403200 4605388  47797812   9% /
/dev/sda1      xfs        1038336  172116    866220  17% /boot
/dev/sda5      xfs       52403200  376288  52026912   1% /app
/dev/sr0       iso9660    8086368 8086368         0 100% /run/media/root/CentOS 7 x86_64
[root@Centos7T ~]#lvs
  LV   VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0 -wi-a----- 29.99g
[root@Centos7T ~]#lvremove /dev/vg0/lv0         # 移除逻辑卷
Do you really want to remove active logical volume vg0/lv0? [y/n]: y
  Logical volume "lv0" successfully removed
[root@Centos7T ~]#lvs
[root@Centos7T ~]#vgs
  VG  #PV #LV #SN Attr   VSize  VFree
  vg0   2   0   0 wz--n- 39.98g 39.98g
[root@Centos7T ~]#vgremove vg0                  # # 移除卷组
  Volume group "vg0" successfully removed
[root@Centos7T ~]#vgs
[root@Centos7T ~]#pvs
  PV         VG Fmt  Attr PSize  PFree
  /dev/sdb1     lvm2 ---  10.00g 10.00g
  /dev/sdc1     lvm2 ---  30.00g 30.00g
[root@Centos7T ~]#pvremove /dev/sdb1 /dev/sdc1      # 移除物理卷
  Labels on physical volume "/dev/sdb1" successfully wiped.
  Labels on physical volume "/dev/sdc1" successfully wiped.
[root@Centos7T ~]#pvs
[root@Centos7T ~]#lsblk -f /dev/sd{b,c}
NAME   FSTYPE      LABEL UUID                                   MOUNTPOINT
sdb                                                             
└─sdb1                                                          
sdc                                                             
└─sdc1 LVM2_member       Ez6ZFl-xjWR-gQHp-O3Yj-vTza-2OCE-h7Jccy

至此,逻辑卷删除完成。当然,/dev/sdc1显示LVM2_member(实际上sdb1也是的),这是由于我们前面将/dev/sdc1的系统ID改为8e导致的,重新将系统ID改回83即可。

Centos7 逻辑卷 物理卷 卷组 实践相关推荐

  1. Linux 物理卷(PV)、逻辑卷(LV)、卷组(VG)管理

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

  2. 关于 Linux中逻辑卷/物理分区等知识的一些总结

    我的需求: 准备红帽考试,这块听课听得稀里糊涂的. 我是这样做的: 请教了公司大佬,书里找了些资料.这里整理笔记加以记忆,不足之处请小伙伴指出来.生活加油.2021.01.08 一,思维导图梳理关系 ...

  3. 48.逻辑卷管理3,卷组管理,vgscan,vgcreate,vgextend,vgreduce,vgremove,vgchange,vgdispaly

    卷组相关操作 可以把卷组想象成基本分区中的硬盘,是由多个物理卷组成的.卷组就已经可以动态地调整空间大小了,当卷组空间不足时,可以向卷组中添加新的物理卷.然后通过卷组划分若干个逻辑卷. 常用的命令有,v ...

  4. 1. 创建逻辑卷vshare,卷组的名称为devgroup,PE的大小为16M,共使用50个PE块,文件系统为vfat,要求永久挂载到/mnt/vshare目录下。

    1. 创建逻辑卷vshare,卷组的名称为devgroup,PE的大小为16M,共使用50个PE块,文件系统为vfat,要求永久挂载到/mnt/vshare目录下. 创建分区 创建一个大小为 16*5 ...

  5. windows逻辑卷扩容_Windows 动态磁盘卷:简单卷、跨区卷 、带区卷 、镜像卷 、RAID5卷 相关配置操作介绍...

    Windows Server 2003 提供了新的磁盘管理方式,能够提高磁盘性能和容错能力.将基本磁盘升级为动态磁盘,能够更灵活分配和管理磁盘空间,能够配置各种磁盘阵列提高磁盘能力. 动态磁盘与基本磁 ...

  6. 2021高考物理成绩查询,教育部考试中心:2021年高考物理全国卷试题评析

    2021年高考物理全国卷命题贯彻落实<深化新时代教育评价改革总体方案>要求,依托高考评价体系,强化基础性考查,优化情境设计,增强试题灵活性,深化关键能力考查,充分发挥高考命题的育人功能和积 ...

  7. Linux是否兼容windows跨区卷,简单卷与跨区卷的区别介绍

    Windows有自带的磁盘卷的功能,例如windows10能够创建的卷有简单卷.带区卷.跨区卷.镜像卷和RAID-5卷五种模式,他们之间的区别如下: 关于简单卷:简单卷是物理磁盘的一部分,但它工作时就 ...

  8. windows 磁盘管理:简单卷、跨区卷、带区卷、镜像卷 和 RAID-5

    Windows操作系统提供了灵活的磁盘管理方式,可以通过将基本磁盘升级为动态磁盘来提高服务器性能或加强容错性.很多企业通过使用Windows Server 2003,使用系统自带磁盘管理功能做到RAI ...

  9. Win10磁盘管理的简单卷、带区卷、跨区卷、镜像卷学习测试

    Win10磁盘管理的简单卷.带区卷.跨区卷.镜像卷学习测试 一.概念 windows自带的磁盘卷的功能,看了一下windows10能够创建的卷有简单卷.带区卷.跨区卷.镜像卷和RAID-5卷五种模式, ...

最新文章

  1. 亲近自然的加州玻璃豪宅
  2. pythonweb啥意思_python-web-guide
  3. openjdk jvm_Java / JVM是如何构建的? 采用OpenJDK是您的答案!
  4. 学习:SQL Server的BUILTIN\Administrators用户
  5. 循环,函数,指针作业
  6. TDSQL 安装部署(多图预警)
  7. 王者荣耀回应服务器崩了:已处理完成 将陆续补发相应赔偿
  8. 有钱就是任性!阿里20亿美元拿下网易考拉:欢迎加入阿里动物园
  9. 广东第一高中生_曝前广东第一高中生将加盟广东,他或成宏远最有希望之人
  10. Spark自定义排序
  11. SPSS 问卷与量表的区别及联系【SPSS 030期】
  12. DependsOn注解
  13. 2021年网络安全学习路线指导(含视频教程)
  14. java 实现jpg、png、tif、gif 任意图像格式转换(多页tif合并)
  15. 吴裕雄--天生自然 诗经:临江仙·滚滚长江东逝水
  16. java holder详解_connection holder is null 异常详解
  17. 青少年模式形同虚设 半数App诱导打赏
  18. Mybatis-plus的自动填充功能
  19. 计算机诞生以来应用最早的,全国一级b考试练习题.doc
  20. layUIselect下拉菜单

热门文章

  1. 关于华为应用市场审核App无法启动的问题
  2. 有符号数和无符号数在计算机中怎么区分?
  3. ensp 防火墙 pat 映射
  4. HTML知识点学习(二)
  5. 用这个抢票神器,一抢一个准!
  6. 软件设计师 软考 真题练习 (三)
  7. 好用的项目管理工具,选择Tracup的N种理由
  8. 走向.NET架构设计—第三章—分层设计,初涉架构(后篇)
  9. protobuf在java中使用_记录:Protocol Buffers(protobuf)在Java开发中使用
  10. 【笔记本电脑连接真无线 jbl flash x耳机】pin 是 000000