Linux(十一)——LVM磁盘配额整理

文章目录

  • 前言
  • 一、LVM概述
  • 二、LVM基本概念
  • 三、LVM管理命令
    • [3.1 命令分类](#3.1 命令分类)
  • 四、LVM操作流程
    • [4.1 关闭主机,添加两块新硬盘,重启主机](#4.1 关闭主机,添加两块新硬盘,重启主机)
    • [4.2 使用fdisk工具进行分区设置](#4.2 使用fdisk工具进行分区设置)
    • [4.3 创建物理卷](#4.3 创建物理卷)
    • [4.4 创建卷组](#4.4 创建卷组)
    • [4.5 创建逻辑卷](#4.5 创建逻辑卷)
    • [4.6 格式化与挂载](#4.6 格式化与挂载)
    • [4.7 扩容逻辑卷](#4.7 扩容逻辑卷)
      • [4.7.1 创建新的物理卷](#4.7.1 创建新的物理卷)
      • [4.7.2 扩展卷组](#4.7.2 扩展卷组)
      • [4.7.3 扩展逻辑卷](#4.7.3 扩展逻辑卷)
      • [4.7.4 刷新文件系统](#4.7.4 刷新文件系统)
  • 总结

前言

LVM(Logical Volume Manager)是Linux环境下对磁盘分区进行管理的一种机制。它通过将底层物理硬盘抽象化,使管理员能够更灵活地分配、调整和管理存储空间。本文档将详细介绍LVM的核心概念、管理命令及操作流程,帮助用户快速掌握LVM的使用方法。


一、LVM概述

二、LVM基本概念

  • PV(Physical Volume,物理卷)

    LVM的基本存储单元,通常对应为一个普通分区或整个硬盘。在创建物理卷时,系统会在存储设备头部建立LVM属性记录区,并将空间划分为默认4MB的物理扩展块(PE)。
    PE(Physical Extent,物理扩展块)特性

    • 可选大小:4/8/16/32/64MB
    • 较小PE提升空间利用率
    • 单个卷组最多支持65534个PE(PE大小直接影响卷组最大容量)
  • VG(Volume Group,卷组)

    由一个或多个物理卷组成一个整体,即称为卷组,支持动态调整:

    • 可随时添加新物理卷
    • 可移除现有物理卷
  • LV(Logical Volume,逻辑卷)

    基于卷组的逻辑存储单元:

    • 与底层物理设备解耦
    • 从卷组空间分配创建
    • 支持文件系统格式化

三、LVM管理命令

3.1 命令分类

功能 PV 管理命令 VG 管理命令 LV 管理命令
Scan(扫描) pvscan vgscan lvscan
Create(建立) pvcreate vgcreate lvcreate
Display(显示) pvdisplay vgdisplay lvdisplay
Remove(移除) pvremove vgremove lvremove
Extend(扩展) - vgextend lvextend
Reduce(减少) - vgreduce lvreduce

四、LVM操作流程

需求:需要创建两个10G物理卷 并且设置逻辑卷15G挂载到 yjs0805

4.1 关闭主机,添加两块新硬盘,重启主机

  • 关闭主机,添加两块新硬盘,重启主机。

  • 或使用命令扫描新硬盘:

    bash 复制代码
    echo "- - -" > /sys/class/scsi_host/host0/scan


查看磁盘分区情况

bash 复制代码
[root@simon ~]# fdisk -l

4.2 使用fdisk工具进行分区设置

  • 使用fdisk工具将磁盘设备(如/dev/sdb/dev/sdc)划分为主分区(如sdb1sdc1),并将分区类型ID标记为"8e"(LVM类型)。
bash 复制代码
fdisk /dev/sdb
fdisk /dev/sdc
bash 复制代码
[root@simon ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xa9e88d6c 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):
将使用默认值 20971519
分区 1 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):t       # 改变一个分区的系统号码
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e   # LVM类型
已将分区"Linux"的类型更改为"Linux LVM"

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

磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa9e88d6c

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20971519    10484736   8e  Linux LVM
命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

4.3 创建物理卷

bash 复制代码
pvcreate /dev/sdb1 /dev/sdc1
pvscan

4.4 创建卷组

bash 复制代码
vgcreate vgname1 /dev/sdb1 /dev/sdc1
vgdisplay


4.5 创建逻辑卷

bash 复制代码
lvcreate -L 15G -n lvname1 vgname1

4.6 格式化与挂载

  • 格式化逻辑卷为XFS文件系统:

    bash 复制代码
    mkfs.xfs /dev/vgname1/lvname1
  • 挂载到指定目录:

    bash 复制代码
    mount /dev/vgname1/lvname1 /yjs_0805
    df -Th

4.7 扩容逻辑卷

可以看到,经过上述分配后,卷组vgname1的剩余空间仅剩5GB。当需要扩展逻辑卷时:

  1. 若需求空间小于5GB,直接执行lvextend -L +扩展空间 /dev/vgname1/lvname1即可完成扩展
  2. 若所需空间超过剩余空间(例如需要扩展10GB),则需要先扩展卷组容量,具体操作如下:

4.7.1 创建新的物理卷

方式和上面类似,就不赘述了。我创建一块大小为10g的物理卷/dev/sdd1。

4.7.2 扩展卷组

bash 复制代码
vgextend vgname1 /dev/sdd1
vgdisplay vgname1

4.7.3 扩展逻辑卷

bash 复制代码
lvextend -L +10G /dev/vgname1/lvname1

4.7.4 刷新文件系统

  • 对于XFS文件系统:

    bash 复制代码
    xfs_growfs /dev/vgname1/lvname1
  • 对于ext4文件系统:

    bash 复制代码
    resize2fs /dev/vgname1/lvname1

总结

创建与删除LVM流程如下:

创建 LVM 步骤

  1. 使用 pvcreate 创建物理卷 (PV)
  2. 通过 vgcreate 创建卷组 (VG)
  3. 使用 lvcreate 创建逻辑卷 (LV)
  4. 执行 mkfs.xfs 格式化逻辑卷
  5. 最后使用 mount 挂载逻辑卷

删除 LVM 步骤

  1. 首先 umount 卸载逻辑卷
  2. 使用 lvremove 移除卷组中的所有逻辑卷
  3. 通过 vgremove 删除卷组
  4. 最后执行 pvremove 移除物理卷

LVM提供了一种灵活且高效的磁盘管理方式,支持动态调整存储空间,适用于需要频繁变更存储需求的场景。通过本文档的介绍,用户可以掌握LVM的核心概念、管理命令及操作流程,从而更好地利用LVM优化存储管理。建议在实际操作前备份重要数据,以避免意外情况导致的数据丢失。

相关推荐
戴为沐10 小时前
Linux内存扩容指南
linux
zylyehuo20 小时前
Linux 彻底且安全地删除文件
linux
用户805533698031 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297911 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF1 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者3 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo3 天前
Linux系统中网线与USB网络共享冲突
linux
荣--3 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森3 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜4 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https