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优化存储管理。建议在实际操作前备份重要数据,以避免意外情况导致的数据丢失。

相关推荐
怀刃8 分钟前
C# 内存监控怎么定位问题
运维
TPBoreas9 分钟前
Jenkins启动端口修改失败查找日志
运维·服务器·jenkins
正在努力的小河2 小时前
Linux设备树简介
linux·运维·服务器
小晶晶京京2 小时前
day35-负载均衡
运维·网络·网络协议·学习·负载均衡
LLLLYYYRRRRRTT2 小时前
WordPress (LNMP 架构) 一键部署 Playbook
linux·架构·ansible·mariadb
轻松Ai享生活3 小时前
crash 进程分析流程图
linux
牛奶咖啡133 小时前
云计算核心技术之容器技术
云计算·容器技术·容器引擎·容器的主要应用场景·docker核心技术·容器编排工具·k8s的运行架构和重要概念
拾心214 小时前
【运维进阶】LNMP + WordPress 自动化部署实验
运维·自动化·ansible·mariadb
大路谈数字化4 小时前
Centos中内存CPU硬盘的查询
linux·运维·centos