CentOS LVM管理,详细安装流程解析

代码编程 2025-05-29 1040
CentOS LVM管理之安装流程详解,LVM(逻辑卷管理)为CentOS提供灵活磁盘空间管理,掌握其安装流程,可高效配置存储,满足系统扩展需求,提升数据管理能力。

CentOS LVM管理实战:从入门到精通的保姆级教程

最近公司新上了几台服务器,系统清一色都是CentOS,硬盘分区这块儿用的是LVM(逻辑卷管理器),说实话,刚开始接触的时候我也是一头雾水,什么PV、VG、LV的,听着就头大,不过经过这段时间的摸索,总算是搞明白了其中的门道,今天就跟大家好好唠唠CentOS下的LVM管理,保证让你看完之后也能轻松上手。

LVM到底是个啥?

咱们先来说说LVM是个啥玩意儿,LVM就是Linux系统下的一种磁盘分区管理工具,跟传统的分区方式比起来,它要灵活得多,传统的分区方式,一旦分区定下来,大小就改不了了,但LVM不一样,它可以动态地调整分区大小,就像给气球打气一样,想大就大,想小就小。

CentOS LVM管理-安装流程-安装流程

LVM主要由三个部分组成:PV(物理卷)、VG(卷组)和LV(逻辑卷),PV就是咱们实际的硬盘或者硬盘分区;VG呢,就是把一个或者多个PV组合在一起,形成一个大的存储池;LV则是从VG里划分出来的逻辑分区,咱们可以在LV上创建文件系统,挂载使用。

LVM安装与配置

安装LVM工具

在CentOS上,LVM工具一般都是默认安装的,万一你的系统没有安装,也不用担心,用下面的命令就能轻松搞定:

sudo yum install lvm2

创建PV

安装好LVM工具之后,咱们就可以开始创建PV了,假设咱们有一块新的硬盘/dev/sdb,要把它变成PV,只需要执行下面的命令:

sudo pvcreate /dev/sdb

执行完这个命令之后,你可以用pvs命令来查看PV的信息,

sudo pvs

输出可能会是这样的:

CentOS LVM管理-安装流程-安装流程
  PV         VG   Fmt  Attr PSize   PFree
  /dev/sdb      lvm2 ---   100.00g 100.00g

这就说明/dev/sdb已经成功变成PV了,而且大小是100G,目前还没有被使用。

创建VG

有了PV之后,咱们就可以创建VG了,假设咱们要把/dev/sdb这个PV加入到myvg这个VG里,执行下面的命令:

sudo vgcreate myvg /dev/sdb

创建好之后,用vgs命令来查看VG的信息:

sudo vgs

输出可能会是这样的:

  VG   #PV #LV #SN Attr   VSize   VFree
  myvg   1   0   0 wz--n- 100.00g 100.00g

这就说明myvg这个VG已经成功创建了,而且大小是100G,目前还没有创建LV。

创建LV

咱们就可以在VG里创建LV了,假设咱们要从myvg这个VG里划分出50G的空间来创建一个名为mylv的LV,执行下面的命令:

sudo lvcreate -L 50G -n mylv myvg

创建好之后,用lvs命令来查看LV的信息:

sudo lvs

输出可能会是这样的:

  LV   VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  mylv myvg -wi-a----- 50.00g

这就说明mylv这个LV已经成功创建了,大小是50G。

格式化LV并挂载

LV创建好之后,咱们还需要对它进行格式化,然后才能挂载使用,假设咱们要把mylv格式化成ext4文件系统,执行下面的命令:

sudo mkfs.ext4 /dev/myvg/mylv

格式化好之后,咱们就可以创建挂载点,然后把LV挂载上去了,咱们创建一个名为/mnt/mylv的挂载点,然后执行下面的命令:

sudo mkdir /mnt/mylv
sudo mount /dev/myvg/mylv /mnt/mylv

挂载好之后,你就可以像使用普通分区一样使用/mnt/mylv这个目录了。

LVM动态调整分区大小

LVM最厉害的地方就是可以动态地调整分区大小,咱们来看看具体是怎么操作的。

扩展LV大小

假设咱们之前创建的mylv只有50G,现在不够用了,咱们想把它扩展到80G,咱们得看看VG里还有多少空闲空间:

sudo vgs

输出可能会是这样的:

  VG   #PV #LV #SN Attr   VSize   VFree
  myvg   1   1   0 wz--n- 100.00g 50.00g

从输出可以看出,VG里还有50G的空闲空间,足够咱们把mylv扩展到80G了,执行下面的命令来扩展LV大小:

sudo lvextend -L 80G /dev/myvg/mylv

扩展好之后,咱们还需要调整文件系统的大小,让它能够使用新增的空间,对于ext4文件系统,执行下面的命令:

sudo resize2fs /dev/myvg/mylv

调整好之后,你就可以用df -h命令来查看/mnt/mylv的大小了,应该已经变成80G了。

缩小LV大小

缩小LV大小的操作稍微复杂一些,因为咱们得先确保文件系统里的数据不会被损坏,假设咱们想把mylv从80G缩小到60G,咱们得卸载LV:

sudo umount /mnt/mylv

咱们得检查文件系统,确保没有错误:

sudo e2fsck -f /dev/myvg/mylv

检查好之后,咱们就可以调整文件系统的大小了:

sudo resize2fs /dev/myvg/mylv 60G

调整好文件系统大小之后,咱们就可以缩小LV的大小了:

sudo lvreduce -L 60G /dev/myvg/mylv

缩小好之后,咱们再重新挂载LV:

sudo mount /dev/myvg/mylv /mnt/mylv

这时候,你再用df -h命令来查看/mnt/mylv的大小,应该已经变成60G了。

LVM快照功能

LVM还有一个非常实用的功能,就是快照,快照可以记录LV在某一时刻的状态,就像给LV拍了一张照片一样,如果咱们不小心把LV里的数据弄丢了,或者想恢复到之前的某个状态,就可以用快照来恢复。

创建快照

假设咱们想给mylv创建一个名为mylv_snap的快照,大小是10G,执行下面的命令:

sudo lvcreate -L 10G -s -n mylv_snap /dev/myvg/mylv

创建好之后,用lvs命令来查看快照的信息:

sudo lvs

输出可能会是这样的:

  LV        VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  mylv      myvg owi-a----- 60.00g
  mylv_snap myvg swi-a----- 10.00g      mylv   0.00

从输出可以看出,mylv_snap这个快照已经成功创建了,大小是10G,而且目前还没有使用任何空间。

恢复快照

如果咱们想恢复到mylv_snap这个快照的状态,首先得卸载mylv

sudo umount /mnt/mylv

咱们用快照来恢复mylv

sudo lvconvert --merge /dev/myvg/mylv_snap

恢复好之后,咱们再重新挂载mylv

sudo mount /dev/myvg/mylv /mnt/mylv

这时候,mylv里的数据就已经恢复到快照时的状态了。

常见问题及解决方案

在使用LVM的过程中,咱们可能会遇到一些常见问题,创建LV的时候提示空间不足,这可能是因为VG里的空闲空间不够了,咱们得添加新的PV到VG里,再比如,调整文件系统大小的时候提示错误,这可能是因为文件系统里有错误,咱们得先检查并修复文件系统。

有时候咱们可能会不小心删除了PV、VG或者LV,这时候不要着急,LVM提供了一些恢复工具,比如pvscanvgscanlvscan,可以帮助咱们找回丢失的PV、VG和LV。

LVM是CentOS下一个非常强大的磁盘分区管理工具,它让咱们可以更加灵活地管理磁盘空间,通过

结构设计权限不足错误修复指南
« 上一篇 2025-05-29
CentOS磁盘分区节能优化建议
下一篇 » 2025-05-29