当前位置: 首页 > 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.lryc.cn/news/614214.html

相关文章:

  • 医疗设备专用电源滤波器的安全设计与应用价值|深圳维爱普
  • 【探展WAIC】从“眼见为虚”到“AI识真”:如何用大模型筑造多模态鉴伪盾牌
  • 显示器同步技术终极之战:G-Sync VS. FreeSync
  • 日本语言学校|ICA国际会话学院:从原始文本到结构化事实的建模实录(工程师向)
  • 888. 公平的糖果交换
  • 机器学习之支持向量机(原理)
  • Go 踩过的坑之协程参数不能过大
  • 四、redis入门之集群部署
  • 惯量时间常数 H 与转动惯量 J 的关系解析
  • UE5 图片9宫格切割
  • B4263 [GESP202503 四级] 荒地开垦 题解
  • Go语言实战案例:简易JSON数据返回
  • PostgreSQL技术大讲堂 - 第100讲:玩转PG数据库对象权限卷之迷宫
  • day070-Jenkins自动化与部署java、前端代码
  • windows 上编译PostgreSQL
  • Flutter多引擎架构下原生通信的模块化封装与性能优化
  • 研发流程管理经验分享
  • Chrome与Firefox浏览器安全运维配置命令大全:从攻防到优化的专业实践
  • 【类与对象(中)】C++类默认成员函数全解析
  • 使用 Grunt 替换 XML 文件中的属性值
  • 50系显卡ubuntu20.04安装显卡驱动,解决gazebo不调用显卡的问题
  • Java文件读写(IO、NIO)
  • HttpURLConnection (JDK原生)和Hutool HTTP工具的区别
  • 浅析线程池工具类Executors
  • ASTM D4169-23版本有哪些实施指南
  • 2025年最新Java后端场景题+八股文合集(100w字面试题总结)
  • [激光原理与应用-176]:测量仪器 - 频谱型 - AI分类与检测相对于传统算法的优缺点分析
  • 零知开源——基于STM32F103RBT6的TDS水质监测仪数据校准和ST7789显示实战教程
  • 【优选算法】BFS解决拓扑排序
  • Rust语言序列化和反序列化vec<u8>,serde库Serialize, Deserialize,bincode库(2025年最新解决方案详细使用)