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

发布于:2025-08-10 ⋅ 阅读:(16) ⋅ 点赞:(0)

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
    


网站公告

今日签到

点亮在社区的每一天
去签到