CentOS文件系统快照使用指南
文件系统快照是数据保护和系统恢复的重要工具,CentOS中主要通过Snapper(适用于Btrfs/LVM文件系统)和LVM原生快照(适用于LVM逻辑卷)实现。以下是具体使用方法:
Snapper是CentOS中管理文件系统快照的主流工具,支持Btrfs和thin-provisioned LVM文件系统,提供快照创建、管理、对比及恢复功能。
通过YUM包管理器安装(CentOS 7/8均适用):
sudo yum install snapper -y
为需要管理的文件系统创建Snapper配置(以/mnt/btrfs为例):
sudo snapper create-config /mnt/btrfs
配置文件默认存储在/etc/snapper/configs/下,可通过snapper list-configs查看。
sudo snapper create --description "Pre-update snapshot" # 添加描述便于识别
pre快照(操作前),再创建post快照(操作后),便于后续对比:sudo snapper create -t pre --description "Pre-upgrade snapshot" # -t指定类型为pre
# 执行系统升级操作(如yum update)
sudo snapper create -t post --pre-number=1 --description "Post-upgrade snapshot" # --pre-number关联对应的pre快照编号
sudo snapper list
输出字段说明:Type(快照类型:single/pre/post)、#(快照编号)、Date(创建时间)、Description(描述)。1和2)的文件变化:sudo snapper diff 1..2 # 不指定路径则对比所有文件
1):sudo snapper delete 1
1的状态(需提前创建当前状态的快照,避免数据丢失):sudo snapper undochange 1..0 # 0表示当前状态
/.snapshots/<快照编号>/snapshot/),复制所需文件:mkdir /mnt/snapshot
mount /.snapshots/1/snapshot /mnt/snapshot
cp /mnt/snapshot/etc/fstab /etc/fstab # 恢复fstab文件
umount /mnt/snapshot
LVM原生快照是CentOS中针对LVM逻辑卷的轻量级快照解决方案,适合需要快速创建和恢复的场景。
确保系统已安装LVM工具(默认包含在CentOS中),并创建好逻辑卷(如/dev/myvg/my_lv)。
使用lvcreate命令创建快照(-s表示快照,-n指定快照名称,-L指定快照大小):
sudo lvcreate -s -n my_snapshot -L 5G /dev/myvg/my_lv
-s:创建快照;-n:快照名称(如my_snapshot);-L:快照大小(建议为原始逻辑卷的10%-20%,用于存储变化数据)。sudo lvdisplay /dev/myvg/my_snapshot
输出中Snap Percent表示快照使用率(超过100%会导致快照失效)。sudo mkdir /mnt/snapshot
sudo mount -o ro /dev/myvg/my_snapshot /mnt/snapshot
sudo rsync -a /mnt/snapshot/ /mnt/my_lv/ # 同步数据
lvremove删除:sudo umount /mnt/snapshot
sudo lvremove /dev/myvg/my_snapshot
snapper list中的Cleanup列、lvdisplay中的Snap Percent),避免快照失效。rsync或tar备份到外部存储)。cron脚本自动化清理过期快照(如保留最近7天的快照):# 示例脚本(删除7天前的Snapper快照)
find /var/lib/snapper/configs -name "*.conf" -exec grep -oP '(?<=config_name=).*?(?=/)' {} \; | while read config; do
snapper list --config $config | awk '$6 <= "'$(date -d "7 days ago" +%Y-%m-%d)'" {print $1}' | xargs -I {} sudo snapper delete {}
done
通过以上方法,可有效利用CentOS的快照功能实现文件系统的保护和恢复,提升系统可靠性。