Linux系统LVM逻辑卷管理

. LVM逻辑卷概述

LVMLogical Volume Manager)是基于内核的一种逻辑卷管理器,LVM适用于管理大存储设备,并允许用户动态调整文件系统大小。另外LVM快照功能可对数据进行快速备份。LVM提供了逻辑概念上的磁盘,这使得文件系统不再关心底层物理磁盘概念。(LVM将多块磁盘整合为一块磁盘,实现动态调整磁盘容量 )

使用LVM创建逻辑卷需要了解以下概念:

(1)PV物理卷:物理卷是LVM最底层概念,是LVM的逻辑存储块,多个物理卷可以合并或者拆分,从而实现容量的扩容与减缩。LVM提供命令工具将分区转换为物理卷,同过组合物理卷生成卷组(VG);

(2)VG卷组:卷组是LVM逻辑概念上的磁盘设备,通过单个或多个物理卷组合生成。卷组的大小取决于物理卷的容量和个数(实现存储模块整合,变为一块逻辑磁盘)。

(3)LV逻辑卷:逻辑卷就是LVM逻辑意义上的分区,可通过从卷组提取指定容量来创建逻辑卷(将卷组进行分区)。

(4)PE物理拓展块:将物理卷组合为卷组后,所划分的最小存储单位,即逻辑意义上磁盘最小存储单元(也叫物理长度)。LVM默认PE大小为4MBVG最多65534PE拓展块,它限制了vg最大值。

LVM整体讲就是,将物理磁盘分区转换为LVM物理卷(PV),多个物理卷组合为卷组(VG),从卷组中提取存储空间做为LV(逻辑卷),最后将逻辑卷挂载到某个挂载点目录进行使用。

相关命令:将普通分区转换为物理卷使用pvcreate,将物理卷组合为卷组使用vgcreate,从卷组中提取容量创建逻辑卷使用lvcreate。创建完成后分别使用pvdisplayvgdisplaylvdisplay

二、LVM配置相关命令

2.1物理卷阶段

1pvscan:扫描系统中连接的所有硬盘,列出找到的物理卷列表

主要参数:

-d:调试模式;

-e:仅显示属于输出卷组的物理卷;

-n:仅显示不属于任何卷组的物理卷;

-s:短格式输出;

-u:显示UUID

2pvcreate:将物理硬盘分区初始化为物理卷

主要参数:

-f:强制创建物理卷,不需要用户确认;

-u:指定设备的UUID

-y:所有的问题都回答“yes”;

-Z:是否利用前4个扇区。

3pvdisplay:显示物理卷的属性,包括物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID等。

4pvremove: 删除pv

主要参数

-d:调试模式

-f:强制删除

-y:对提问回答yes

2.2卷组阶段

1vgcreate:创建卷组

主要参数:

-l:卷组上允许创建的最大逻辑卷数

-p:卷组中允许添加的最大物理卷数

-s:卷组上的物理卷的PE大小

2vgscan:查找系统中存在的LVM卷组,并显示找到的卷组列表

3vgdisplay:用于显示LVM卷组的信息

主要参数:

-A:仅显示活动卷组的属性

-s:使用短格式输出的信息

4vgreduce:通过删除LVM卷组中的物理卷来减少卷组容量

主要参数:

-a:如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷

--removemissing:删除卷组中丢失的物理卷,使卷组恢复正常状态

5vgchange修改卷组的属性,经常被用来设置卷组是处于活动状态或非活动状态。处于活动状态的卷组无法被删除,必须使用vgchange命令将卷组设置为非活动状态后才能删除。

主要参数:

-a:设置卷组的活动状态

6vgremove用于用户删除LVM卷组。当要删除的卷组上已经创建了逻辑卷时,vgremove命令需要进行确认删除,防止误删除数据。

主要参数:

-f:强制删除

2.3LV阶段

1lvcreate:创建LVM的逻辑卷

主要参数:

-L:指定逻辑卷的大小,单位bskmgtpe及对应大写BSKMGTPE等;

-l:指定逻辑卷的大小,指定PE个数

-n:指定逻辑卷名称

2lvscan扫描当前系统中存在的所有的LVM逻辑卷

主要参数:

-b:显示逻辑卷的主设备和次设备号

3lvdisplay用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性

4lvremove:用于删除指定LVM逻辑卷。如果逻辑卷已经使用mount命令加载,则不能使用lvremove命令删除。必须使用umount命令卸载后,逻辑卷方可被删除。

5lvreduce:用于减少LVM逻辑卷占用的空间大小。使用lvreduce命令收缩逻辑卷的空间大小有可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。

主要参数:

-L:指定逻辑卷的大小,单位bskmgtpe及对应大写BSKMGTPE等;

-l:指定逻辑卷的大小,指定PE个数

(1)lvextend:用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的。

主要参数:

-L:指定逻辑卷的大小,单位bskmgtpe及对应大写BSKMGTPE等;

-l:指定逻辑卷的大小,指定PE个数

三、LVM创建流程

LVM创建流程,就是将物理磁盘分区转换为LVM物理卷(PV),多个物理卷组合为卷组(VG),从卷组中提取存储空间做为LV(逻辑卷),最后将逻辑卷挂载到某个挂载点目录进行使用。

详细步骤如下:

1)对新加硬盘进行分区,并将格式改为8e linux lvmfdisk /dev/sdb

2)重新读取分区表,partprobe /dev/sdb; ??????????????????????????????????????

3)创建物理卷,将磁盘转换为pv物理卷,pvcreate /dev/sdb{1,2,3,5}

4)创建卷组,将这四个分区整合为VG总卷组,并对这个总卷组起名叫vg1vgcreate vg1 /dev/sdb{1,2,3,5}

5)创建逻辑卷lvcreate -L 2G -n lv1 vg1 ?#-L指定分区大小;-n指定这个分区名称;

6)格式化逻辑卷,mkfs -t ext4 /dev/vg1/lv1 #vg1卷组里的lv1分区格式化为ext4格式的分区

7)创建一个挂载点,mkdir /mnt

8)挂载使用mount -t ext4 /dev/vg1/lv1 /mnt 将这个分区挂载到/mnt

9)查看挂载状态df -h 会提示/mapper,代表这是一个LVM

四、LVM实例

4.1创建LVM

使用10G/dev/sdb磁盘,划分为四个2G分区,创建一个名为vg_test的卷组,然后从卷组中提取空间,创建2个大小分别为3G的逻辑卷,名称分别为lv_test1lv_test2.

1)使用fdisk对磁盘进行分区

############################################################################

[root@localhost ~]#?fdisk -l

磁盘 /dev/sda21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x0001038f


???设备 Boot ?????Start ????????End ?????Blocks ??Id ?System

/dev/sda1 ??* ???????2048 ????2099199 ????1048576 ??83 ?Linux

/dev/sda2 ????????2099200 ???41943039 ???19921920 ??8e ?Linux LVM

?

磁盘 /dev/sdb10.7 GB, 10737418240 字节,20971520 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x5f024b01

?

???设备 Boot ?????Start ????????End ?????Blocks ??Id ?System

WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

?

磁盘 /dev/sdc10.7 GB, 10737418240 字节,20971520 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:gpt

# ????????Start ?????????End ???Size ?Type ???????????Name

磁盘 /dev/mapper/cl-root18.2 GB, 18249416704 字节,35643392 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

?

磁盘 /dev/mapper/cl-swap2147 MB, 2147483648 字节,4194304 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

[root@localhost ~]#?fdisk ?/dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

命令(输入 m 获取帮助)n

Partition type:

???p ??primary (0 primary, 0 extended, 4 free)

???e ??extended

Select (default p):?p ?

分区号 (1-4,默认 1)1

起始 扇区 (2048-20971519,默认为 2048)

将使用默认值 2048

Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519)+2G

分区 1 已设置为 Linux 类型,大小设为 2 GiB

?

命令(输入 m 获取帮助)n

Partition type:

???p ??primary (1 primary, 0 extended, 3 free)

???e ??extended

Select (default p): p

分区号 (2-4,默认 2)2

起始 扇区 (4196352-20971519,默认为 4196352)

将使用默认值 4196352

Last 扇区, +扇区 or +size{K,M,G} (4196352-20971519,默认为 20971519)+2G

分区 2 已设置为 Linux 类型,大小设为 2 GiB

?

命令(输入 m 获取帮助)n

Partition type:

???p ??primary (2 primary, 0 extended, 2 free)

???e ??extended

Select (default p): p

分区号 (3,4,默认 3)3

起始 扇区 (8390656-20971519,默认为 8390656)

将使用默认值 8390656

Last 扇区, +扇区 or +size{K,M,G} (8390656-20971519,默认为 20971519)+2G

分区 3 已设置为 Linux 类型,大小设为 2 GiB

?

命令(输入 m 获取帮助)n

Partition type:

???p ??primary (3 primary, 0 extended, 1 free)

???e ??extended

Select (default e):?e

已选择分区 4

起始 扇区 (12584960-20971519,默认为 12584960)

将使用默认值 12584960

Last 扇区, +扇区 or +size{K,M,G} (12584960-20971519,默认为 20971519)

将使用默认值 20971519

分区 4 已设置为 Extended 类型,大小设为 4 GiB

?

命令(输入 m 获取帮助)n

All primary partitions are in use

添加逻辑分区 5

起始 扇区 (12587008-20971519,默认为 12587008)

将使用默认值 12587008

Last 扇区, +扇区 or +size{K,M,G} (12587008-20971519,默认为 20971519)+2G

分区 5 已设置为 Linux 类型,大小设为 2 GiB

?

命令(输入 m 获取帮助)p

?

磁盘 /dev/sdb10.7 GB, 10737418240 字节,20971520 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x5f024b01

?

???设备 Boot ?????Start ????????End ?????Blocks ??Id ?System

/dev/sdb1 ???????????2048 ????4196351 ????2097152 ??83 ?Linux

/dev/sdb2 ????????4196352 ????8390655 ????2097152 ??83 ?Linux

/dev/sdb3 ????????8390656 ???12584959 ????2097152 ??83 ?Linux

/dev/sdb4 ???????12584960 ???20971519 ????4193280 ???5 ?Extended

/dev/sdb5 ???????12587008 ???16781311 ????2097152 ??83 ?Linux

?

命令(输入 m 获取帮助)l ?#显示文件系统类型分区编号,LVM8e

?

?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 ??????

?

命令(输入 m 获取帮助)t

分区号 (1-5,默认 5)1

Hex 代码(输入 L 列出所有代码)8e

已将分区“Linux”的类型更改为“Linux LVM”

?

命令(输入 m 获取帮助)t

分区号 (1-5,默认 5)2

Hex 代码(输入 L 列出所有代码)8e

已将分区“Linux”的类型更改为“Linux LVM”

?

命令(输入 m 获取帮助)t

分区号 (1-5,默认 5)3

Hex 代码(输入 L 列出所有代码)8e

已将分区“AIX”的类型更改为“Linux LVM”

?

命令(输入 m 获取帮助)t

分区号 (1-5,默认 5)5

Hex 代码(输入 L 列出所有代码)8e

已将分区“Linux”的类型更改为“Linux LVM”

?

命令(输入 m 获取帮助)p

?

磁盘 /dev/sdb10.7 GB, 10737418240 字节,20971520 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x5f024b01

?

???设备 Boot ?????Start ????????End ?????Blocks ??Id ?System

/dev/sdb1 ???????????2048 ????4196351 ????2097152 ??8e ?Linux LVM

/dev/sdb2 ????????4196352 ????8390655 ????2097152 ??8e ?Linux LVM

/dev/sdb3 ????????8390656 ???12584959 ????2097152 ??8e ?Linux LVM

/dev/sdb4 ???????12584960 ???20971519 ????4193280 ???5 ?Extended

/dev/sdb5 ???????12587008 ???16781311 ????2097152 ??8e ?Linux LVM

?

命令(输入 m 获取帮助)w

The partition table has been altered!

Calling ioctl() to re-read partition table.

正在同步磁盘。

[root@localhost ~]#?fdisk -l

?

磁盘 /dev/sda21.5 GB, 21474836480 字节,41943040 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x0001038f

?

???设备 Boot ?????Start ????????End ?????Blocks ??Id ?System

/dev/sda1 ??* ???????2048 ????2099199 ????1048576 ??83 ?Linux

/dev/sda2 ????????2099200 ???41943039 ???19921920 ??8e ?Linux LVM

?

磁盘 /dev/sdb10.7 GB, 10737418240 字节,20971520 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x5f024b01

?

???设备 Boot ?????Start ????????End ?????Blocks ??Id ?System

/dev/sdb1 ???????????2048 ????4196351 ????2097152 ??8e ?Linux LVM

/dev/sdb2 ????????4196352 ????8390655 ????2097152 ??8e ?Linux LVM

/dev/sdb3 ????????8390656 ???12584959 ????2097152 ??8e ?Linux LVM

/dev/sdb4 ???????12584960 ???20971519 ????4193280 ???5 ?Extended

/dev/sdb5 ???????12587008 ???16781311 ????2097152 ??8e ?Linux LVM

WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

?

磁盘 /dev/sdc10.7 GB, 10737418240 字节,20971520 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘标签类型:gpt

# ????????Start ?????????End ???Size ?Type ???????????Name

磁盘 /dev/mapper/cl-root18.2 GB, 18249416704 字节,35643392 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

磁盘 /dev/mapper/cl-swap2147 MB, 2147483648 字节,4194304 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理)512 字节 / 512 字节

I/O 大小(最小/最佳)512 字节 / 512 字节

[root@localhost ~]# ############################################################################

2)重新读取分区表

[root@localhost ~]# partprobe /dev/sdb

3pvcreatepvdisplay创建物理卷并查看结果

############################################################################

[root@localhost ~]# pvcreate /dev/sdb{1,2,3,5} ?#出来选项选y

[root@localhost ~]# pvdisplay

############################################################################

4vgcreatevgdisplay创建卷组并查看结果

############################################################################

[root@localhost ~]# vgcreate vg_test /dev/sdb{1,2,3,5}

[root@localhost ~]# vgdisplay

############################################################################

5lvcreatelvdisplay创建逻辑卷并查看结果

############################################################################

[root@localhost ~]# lvcreate -n lv_test1 -L 3G vg_test

[root@localhost ~]# lvcreate -n lv_test2 -l 768 vg_test

[root@localhost ~]# lvdisplay

注:-L指定容量大小;-l指定pe个数,一个pe默认4MB

############################################################################

6)格式化并挂载

############################################################################

[root@localhost ~]# mkfs.xfs /dev/vg_test/lv_test1

[root@localhost ~]# mkfs.xfs /dev/vg_test/lv_test2

[root@localhost ~]# mkdir ?/mnt/{test1,test2}

[root@localhost ~]# mount /dev/vg_test/lv_test1 /mnt/test1

[root@localhost ~]# mount /dev/vg_test/lv_test2 /mnt/test2

[root@localhost ~]# df -h

文件系统 ?????????????????????容量 ?已用 ?可用 已用% 挂载点

/dev/mapper/cl-root ???????????17G ?1.1G ??16G ???7% /

devtmpfs ?????????????????????478M ????0 ?478M ???0% /dev

tmpfs ????????????????????????489M ?6.8M ?482M ???2% /run

tmpfs ????????????????????????489M ????0 ?489M ???0% /sys/fs/cgroup

/dev/mapper/vg_test-lv_test1 ?3.0G ??33M ?3.0G ???2% /mnt/test1

/dev/mapper/vg_test-lv_test2 ?3.0G ??33M ?3.0G ???2% /mnt/test2

[root@localhost ~]#

完成!

############################################################################

4.2LVM扩容

(接4.1案例)随着业务数据量增加,磁盘空间需求量增加。

方式一:通过使用既有剩余卷组,对LVM分区进行修改

lv_test1扩容到4G。将vg_test剩余卷组划分给逻辑卷。

1lvextend调整逻辑卷大小

############################################################################

[root@localhost ~]# lvextend -L +1G /dev/vg_test/lv_test1?#增加1G

??Size of logical volume vg_test/lv_test1 changed from 3.00 GiB (768 extents) to 4.00 GiB (1024 extents).

??Logical volume vg_test/lv_test1 successfully resized.

[root@localhost ~]# lvs ? #查看逻辑卷扩容完成

??LV ??????VG ?????Attr ??????LSize ?Pool Origin Data% ?Meta% ?Move Log Cpy%Sync Convert

??root ????cl ?????-wi-ao---- 17.00g ???????????????????????????????????????????????????

??swap ????cl ?????-wi-ao---- ?2.00g ???????????????????????????????????????????????????

??lv_test1 vg_test -wi-ao---- ?4.00g ???????????????????????????????????????????????????

??lv_test2 vg_test -wi-ao---- ?3.00g ???????????????????????????????????????????????????

[root@localhost ~]# df -h ?#查看文件系统大小

文件系统 ?????????????????????容量 ?已用 ?可用 已用% 挂载点

/dev/mapper/cl-root ???????????17G ?1.1G ??16G ???7% /

devtmpfs ?????????????????????478M ????0 ?478M ???0% /dev

tmpfs ????????????????????????489M ?6.8M ?482M ???2% /run

tmpfs ????????????????????????489M ????0 ?489M ???0% /sys/fs/cgroup

/dev/mapper/vg_test-lv_test1 ?3.0G ??33M ?3.0G ???2% /mnt/test1

/dev/mapper/vg_test-lv_test2 ?3.0G ??33M ?3.0G ???2% /mnt/test2

############################################################################

2xfs_growfs更新文件系统大

############################################################################

[root@localhost ~]# xfs_growfs /dev/vg_test/lv_test1

meta-data=/dev/mapper/vg_test-lv_test1 isize=512 ???agcount=4, agsize=196608 blks

?????????= ??????????????????????sectsz=512 ??attr=2, projid32bit=1

?????????= ??????????????????????crc=1 ???????finobt=0 spinodes=0

data ????= ??????????????????????bsize=4096 ??blocks=786432, imaxpct=25

?????????= ??????????????????????sunit=0 ?????swidth=0 blks

naming ??=version 2 ?????????????bsize=4096 ??ascii-ci=0 ftype=1

log ?????=internal ??????????????bsize=4096 ??blocks=2560, version=2

?????????= ??????????????????????sectsz=512 ??sunit=0 blks, lazy-count=1

realtime =none ??????????????????extsz=4096 ??blocks=0, rtextents=0

data blocks changed from 786432 to 1048576

[root@localhost ~]# df -h

文件系统 ?????????????????????容量 ?已用 ?可用 已用% 挂载点

/dev/mapper/cl-root ???????????17G ?1.1G ??16G ???7% /

devtmpfs ?????????????????????478M ????0 ?478M ???0% /dev

tmpfs ????????????????????????489M ?6.8M ?482M ???2% /run

tmpfs ????????????????????????489M ????0 ?489M ???0% /sys/fs/cgroup

/dev/mapper/vg_test-lv_test1 ?4.0G ??33M ?4.0G ???1% /mnt/test1

/dev/mapper/vg_test-lv_test2 ?3.0G ??33M ?3.0G ???2% /mnt/test2

[root@localhost ~]#

############################################################################

方式二:通过fdisk创建新分区,通过pvcreat将新分区转化为物理卷,通过vgextend将物理卷追加到现有卷组空间,最后使用lvextend调整逻辑卷容量。

1fdisk分区

############################################################################

[root@localhost ~]# fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.23.2)

命令(输入 m 获取帮助)n

All primary partitions are in use

添加逻辑分区 6

起始 扇区 (16783360-20971519,默认为 16783360)

将使用默认值 16783360

Last 扇区, +扇区 or +size{K,M,G} (16783360-20971519,默认为 20971519)+1G

分区 6 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助)t

分区号 (1-6,默认 6)6

Hex 代码(输入 L 列出所有代码)8e

已将分区“Linux”的类型更改为“Linux LVM”

?

命令(输入 m 获取帮助)w

############################################################################

2)重新读取分区表

[root@localhost ~]# partprobe /dev/sdb

3pvcreate创建新物理卷

[root@localhost ~]# pvcreate /dev/sdb6

4vgextend增加新卷组

??? [root@localhost ~]# vgextend vg_test /dev/sdb6

?

5lvextend调整逻辑卷容量

[root@localhost ~]# lvextend -L +1G /dev/vg_test/lv_test1?#增加1G

6)更新文件系统大小

[root@localhost ~]# xfs_growfs /dev/vg_test/lv_test1

############################################################################

4.3LVM缩小

对处于挂载状态的LVM进行缩小,需要先进行卸载,不卸载可能会造成数据溢出,做好数据备份。XFScentos7 预装的操作系统,XFS只能扩大不能缩小。以下内容针对ext2ext3exte4文件系统格式。

############################################################################

1)卸载挂载状态LVM分区

[root@localhost ~]# umount /dev/vg_test/lv_test

2e2fsck检查文件系统错误并修复

[root@localhost ~]#e2fsck?-f?/dev/vg_test/lv_test

注:e2fsck命令:检查、修正文件系统该工具检测和修正EXT2, EXT3 EXT4文件系统。对于其他文件系统,可以使用xfs_ repair(修复XFS, jfs_fsck,fsck.resiserfs进行检测修复。

3resize2fs修改文件系统大小

[root@localhost ~]#resize2fs?/dev/vg_test/lv_test?1G

注:resize2fs 针对文件系统ext2 ext3 ext4xfs_growfs 针对文件系统xfs

4lvresize刷新lv大小

[root@localhost ~]#lvresize -L 1G /dev/vg_test/lv_test

5)挂载并查看

[root@localhost ~]# mount /dev/vg_test/lv_test ?/mnt/test

[root@localhost ~]# df -h

文件系统 ?????????????????????容量 ?已用 ?可用 已用% 挂载点

/dev/mapper/cl-root ???????????17G ?1.1G ??16G ???7% /

devtmpfs ?????????????????????478M ????0 ?478M ???0% /dev

tmpfs ????????????????????????489M ?6.8M ?482M ???2% /run

tmpfs ????????????????????????489M ????0 ?489M ???0% /sys/fs/cgroup

/dev/mapper/vg_test-lv_test ?944M ?7.6M ?870M ???1% /mnt/test

[root@localhost ~]#

############################################################################

4.4LVM删除

删除已创建的逻辑卷时,需要先卸载文件系统、删除逻辑卷、删除卷组、删除物理卷的顺序。具体命令如下:

############################################################################

[root@localhost ~]# umount /mnt/test

[root@localhost ~]# lvremove /dev/vg_test/lv_test

[root@localhost ~]# vgremove vg_test

[root@localhost ~]# pvremove ?/dev/sdb{1,2,3,5,6}

############################################################################


个人公众号:

图片.png