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

相关文章:

  • 【Qt开发】常用控件(二) -> enabled
  • GoLand 项目从 0 到 1:第六天 —— 权限接口开发与问题攻坚
  • npm run 常见脚本
  • HarmonyOS SDK助力讯飞听见App能力建设
  • Java技术栈/面试题合集(21)-Docker篇
  • 仅需8W,无人机巡检系统落地 AI 低空智慧城市!可源码交付
  • ADB打印设备日志相关
  • WWDC 25 玻璃态星际联盟:SwiftUI 视图协同“防御协议”
  • 深入理解 robots.txt:网站与搜索引擎的 “沟通协议”
  • Linux文档压缩打包与安装
  • zookeeper3.8.4安装以及客户端C++api编译
  • 天翼云与飞轮科技达成战略合作,共筑云数融合新生态
  • 2025 蓝桥杯C/C++国B 部分题解
  • 【Mybatis入门】配置Mybatis(IDEA)
  • LabVIEW多循环架构
  • [深度学习] 大模型学习4-RAG技术全景解析
  • 机械学习--k-means
  • K-Means 聚类
  • SonarQube 扫描多个微服务模块
  • 二、k8s 1.29 之 网络
  • MySQL definer does not exist 问题分析
  • 计算机网络:到底什么是可变长子网掩码VLSM?
  • 自适应反步控制:理论与设计
  • 【洛谷题单】--分支结构(二)
  • 脚本统计MongoDB集合结构信息
  • CSS BFC
  • 接口返回504 Gateway Time-out 错误,这意味着请求在网关或代理服务器等待上游服务器响应时超时。以下是可能的原因和排查建议:
  • provide 和 inject 最佳实践
  • 前端单元测试最佳实践(一)
  • webrtc弱网-EncodeUsageResource类源码分析及算法原理