当前位置: 首页 > news >正文

存储管理、XFS 增量备份恢复、LVM

1. 存储管理是啥

在 Linux 里,存储管理就是规划、使用、维护磁盘和分区,让数据既能高效读写,又能安全可靠地保存。

主要包括:

  1. 磁盘分区(fdisk/parted)
  2. 文件系统创建与挂载(mkfs、mount)
  3. 容量扩容/缩容(LVM、RAID、云盘动态调整)
  4. 备份与恢复(tar、rsync、快照、dump/restore)
  5. 监控与维护(df、du、iostat、smartctl)

类比

  • 磁盘 = 空地
  • 分区 = 分好的地块
  • 文件系统 = 修好的路和仓库布局
  • 挂载 = 把仓库入口开到你的操作系统里
  • 存储管理 = 既要规划仓库,也要保证物品可找、可搬、可修复

2. XFS 增量备份与恢复

2.1 XFS 是啥

  • 高性能日志文件系统,Red Hat/CentOS 7 默认使用
  • 擅长处理大文件、大目录
  • 支持在线扩展容量
  • 自带专用的备份恢复工具:xfsdump / xfsrestore

2.2 增量备份原理

  • 完全备份:备份整个文件系统

  • 增量备份:只备份上次备份后变化过的文件

  • XFS 用备份等级(level)控制:

    • level 0 = 完全备份
    • level 1 = 在 level 0 的基础上增量
    • level 2 = 在 level 1 的基础上增量
    • 以此类推

2.3 增量备份命令

假设挂载点是 /data,备份到 /backup/data.dump

# 第一次完全备份(level 0)
xfsdump -l 0 -f /backup/data.l0.dump /data# 第二次增量备份(level 1)
xfsdump -l 1 -f /backup/data.l1.dump /data
  • -l:备份等级
  • -f:备份文件存储位置

2.4 恢复命令

恢复到 /restore 目录:

# 先恢复完全备份
xfsrestore -f /backup/data.l0.dump /restore# 再按顺序恢复增量备份
xfsrestore -f /backup/data.l1.dump /restore

⚠️ 恢复必须按备份顺序执行,否则数据不完整。


3. LVM 是啥(Logical Volume Manager)

3.1 LVM 解决什么问题

传统分区(/dev/sda1、/dev/sda2…)容量固定,不好扩展。
LVM 可以:

  • 把多个物理磁盘/分区合成一个大存储池(Volume Group, VG)
  • 在存储池里灵活分配逻辑卷(Logical Volume, LV)
  • 支持在线扩容、缩容、快照

3.2 核心结构

  1. PV(Physical Volume)物理卷

    • 真正的磁盘或分区
  2. VG(Volume Group)卷组

    • 存储池,由多个 PV 组成
  3. LV(Logical Volume)逻辑卷

    • 相当于“虚拟分区”,挂载后可以像普通分区使用

3.3 常用命令

# 创建物理卷
pvcreate /dev/sdb /dev/sdc# 创建卷组
vgcreate myvg /dev/sdb /dev/sdc# 创建逻辑卷(10G)
lvcreate -L 10G -n mylv myvg# 格式化并挂载
mkfs.xfs /dev/myvg/mylv
mount /dev/myvg/mylv /data# 扩容(在线)
lvextend -L +5G /dev/myvg/mylv
xfs_growfs /data

3.4 LVM 快照

  • 类似“时间点备份”,几乎瞬间完成
  • 可用于备份时保证数据一致性
lvcreate -L 1G -s -n mylv_snap /dev/myvg/mylv

4. 企业实战场景整合

场景
某公司 /data 挂载了一个 XFS 文件系统,业务数据每天都会变化,要求:

  • 每周日做完全备份
  • 每天做一次增量备份
  • 存储空间可动态扩容

方案

  1. /data 建在 LVM 上,方便未来扩容:

    pvcreate /dev/sdb /dev/sdc
    vgcreate datavg /dev/sdb /dev/sdc
    lvcreate -L 100G -n datalv datavg
    mkfs.xfs /dev/datavg/datalv
    mount /dev/datavg/datalv /data
    
  2. 定时任务执行 XFS 备份:

    # 每周日 level 0
    0 2 * * 0 xfsdump -l 0 -f /backup/data.l0.dump /data
    # 周一到周六 level 1
    0 2 * * 1-6 xfsdump -l 1 -f /backup/data.l1-$(date +\%Y\%m\%d).dump /data
    
  3. 当数据接近 90% 容量时:

    lvextend -L +50G /dev/datavg/datalv
    xfs_growfs /data
    

http://www.dtcms.com/a/321421.html

相关文章:

  • Unity_VR_Pico开发手册
  • 防火墙安全作用及 firewalld 交互、端口配置
  • 基于嵌入式Linux RK3568 qt 车机系统开发
  • 前端单元测试最佳实践(一)
  • Linux系统编程Day9 -- gdb (linux)和lldb(macOS)调试工具
  • ubuntu安装gpu驱动
  • 中国的超算中心使用情况如何?是否算力过剩
  • vscode 配置
  • STM32学习笔记5-TIM定时器-1
  • windows安装Docker Desktop报错One prerequisite is not fulfilled.
  • CVPR2025-DEIM改进项目介绍
  • Linux 运维与优化的系统化思维:从内核到生产环境的全链路管理
  • 景区车辆监控调度管理平台建设方案
  • Jetpack Compose 常用控件
  • 电子EDI:MaxLinear EDI 需求分析
  • Go 的错误处理方式深度解析—— error vs panic vs recover:机制原理与实战取舍
  • vue3 遍历 map 用法
  • 密码学安全模型(Security Model):用形式化框架定义“安全“
  • Microsoft Dynamics AX 性能优化解决方案
  • 网络资源模板--基于Android Studio 实现的麻雀笔记App
  • CSS:BFC
  • 五种IO模型 阻塞IO 多路转接之select 多路转接之poll
  • 灰狼算法+四模型对比!GWO-CNN-LSTM-Attention系列四模型多变量时序预测
  • VIOO IQOO7手机 解锁BL ROOT教程
  • 光猫、路由器和交换机
  • 如何使用 pg_rman 进行 PostgreSQL 的备份与恢复
  • 解决 vscode 编辑 markdown 文件时退格键/backspace 删除卡顿问题
  • 【普中STM32精灵开发攻略】--第 14 章 动态数码管实验
  • PyQt 中 pyqtSignal 的使用
  • Orangepi5-RK3588安装ffmpeg硬编码版本