Linux磁盘检测、修复与备份恢复的详细指南
一、磁盘检测与修复工具1. fsck - 文件系统检查与修复工具功能检查并修复Linux文件系统适用于ext2/ext3/ext4等非XFS文件系统基本语法1fsck[选项] [设备或挂载点]常用选项选项说明-y自动修复检测到的问题-n只检查不修复-f强制检查即使文件系统看起来正常-v显示详细输出-t指定文件系统类型使用示例12345# 检查并自动修复/dev/sdb1分区fsck-y/dev/sdb1# 检查ext4文件系统但不修复fsck-n -t ext4/dev/sdb2注意事项1.必须在卸载状态下执行2.建议先使用-n选项检查后再决定是否修复3.重要数据应先备份再执行修复2. xfs_repair - XFS文件系统修复工具功能专门用于修复XFS文件系统基本语法1xfs_repair [选项] 设备常用选项选项说明-n只检查不修复-v详细输出-L强制清空日志严重损坏时使用-d修复只读挂载的文件系统使用示例12345678# 检查XFS文件系统但不修复xfs_repair -n/dev/sdb1# 修复XFS文件系统xfs_repair/dev/sdb1# 强制修复严重损坏的XFS文件系统xfs_repair -L/dev/sdb1注意事项1.可以尝试在只读挂载状态下修复2.-L选项会丢失未完成的文件操作3.修复前建议先使用xfs_check检查3. badblocks - 磁盘坏道检测工具功能检测磁盘物理坏道基本语法1badblocks [选项] 设备 [块数量] [起始块]常用选项选项说明-v显示详细信息-w使用写测试模式会破坏数据-n使用非破坏性读写模式-s显示进度-o将坏块列表输出到文件使用示例12345678# 只读检测坏道badblocks -sv/dev/sdb# 破坏性测试会擦除数据badblocks -wsv/dev/sdb# 将坏道列表保存到文件badblocks -sv -o badblocks.txt/dev/sdb注意事项1.-w选项会破坏数据使用前必须备份2.发现坏道后应尽快更换磁盘3.可与e2fsck配合使用标记坏道二、文件系统备份与恢复1. xfsdump/XFS文件系统备份工具功能专门用于XFS文件系统的增量备份备份等级说明0级完全备份1-9级增量备份基本语法1xfsdump [选项] -f 备份文件 源设备或挂载点常用选项选项说明-f指定备份文件路径-L会话标签必须-M设备标签可选-l指定备份等级0-9-s备份指定子目录-I查看备份信息使用示例1234567891011# 完全备份/dev/sdb1到/backup/sdb1.bakxfsdump -l 0 -Lsdb1_full_backup-Msdb1-f/backup/sdb1.bak/dev/sdb1# 增量备份1级xfsdump -l 1 -Lsdb1_incr_backup-Msdb1-f/backup/sdb1_incr.bak/dev/sdb1# 备份特定目录xfsdump -s home/user1-Luser1_backup-Msdb1-f/backup/user1.bak/mnt/data# 查看备份信息xfsdump -I注意事项1.只能备份已挂载的文件系统2.需要root权限3.不能备份两个UUID相同的文件系统4.备份信息存储在/var/lib/xfsdump/inventory2. xfsrestore/XFS文件系统恢复工具功能恢复xfsdump创建的备份基本语法1xfsrestore [选项] -f 备份文件 恢复目标常用选项选项说明-f指定备份文件-v显示详细信息-r增量恢复模式-i交互模式-L指定恢复特定会话使用示例12345678# 完全恢复备份xfsrestore -f/backup/sdb1.bak/mnt/data# 增量恢复xfsrestore -f/backup/sdb1_incr.bak/mnt/data# 交互式恢复xfsrestore -i -f/backup/sdb1.bak恢复流程1.先恢复0级完全备份2.按顺序恢复增量备份1-9级3.可以使用xfsrestore -I查看备份信息三、XFS文件系统维护工具集工具功能描述xfs_admin调整XFS文件系统参数xfs_copy并行拷贝XFS文件系统内容xfs_dbXFS文件系统调试工具xfs_check检查XFS文件系统完整性xfs_bmap查看文件块映射xfs_fsrXFS文件系统碎片整理xfs_quota管理XFS磁盘配额xfs_metadump备份XFS元数据xfs_mdrestore恢复XFS元数据xfs_growfs扩展XFS文件系统大小xfs_info显示XFS文件系统信息常用维护命令示例1234567891011# 查看文件块映射xfs_bmap -v/path/to/file# 碎片整理xfs_fsr/dev/sdb1# 扩展文件系统xfs_growfs/mnt/data# 查看XFS信息xfs_info/dev/sdb1四、实战案例案例1磁盘故障模拟与修复123456789# 模拟文件系统损坏ddif/dev/zeroof/dev/sdb1bs512 count1# 尝试修复ext4文件系统umount/dev/sdb1fsck-y/dev/sdb1# 尝试修复XFS文件系统xfs_repair/dev/sdb1案例2完整备份与恢复流程12345678# 备份xfsdump -l 0 -Lfull_backup-Mdata_vol-f/backup/full.bak/mnt/data# 模拟数据丢失rm-rf/mnt/data/*# 恢复xfsrestore -f/backup/full.bak/mnt/data案例3增量备份策略12345678910111213# 周一完全备份xfsdump -l 0 -Lmon_full-Mdata_vol-f/backup/mon.bak/mnt/data# 周二增量备份xfsdump -l 1 -Ltue_incr-Mdata_vol-f/backup/tue.bak/mnt/data# 周三增量备份xfsdump -l 2 -Lwed_incr-Mdata_vol-f/backup/wed.bak/mnt/data# 恢复流程xfsrestore -f/backup/mon.bak/mnt/dataxfsrestore -f/backup/tue.bak/mnt/dataxfsrestore -f/backup/wed.bak/mnt/data复制讲解五、最佳实践建议1.定期检查每月执行一次xfs_check或fsck -n监控dmesg中的磁盘错误信息2.备份策略重要数据采用0级增量备份备份文件存储在不同物理设备定期验证备份可恢复性