You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为虚拟机文件备份选择支持快照的Linux文件系统

适合你的Linux备份磁盘方案(支持每日快照)

针对你的备份系统迁移需求,结合Ubuntu 16.04.3的环境和每日快照的要求,我推荐两个成熟的方案,都是原生支持快照功能的文件系统,完全适配你的Hyper-V精简卷场景:

方案一:Btrfs(Ubuntu原生支持,配置简单)

Btrfs是Ubuntu默认支持的文件系统,原生支持快照、增量备份和精简配置,和Hyper-V的精简卷配合度很高,适合快速搭建备份环境。

操作步骤:

  1. 确认磁盘设备
    先确保目标磁盘是/dev/sdd,执行命令验证:
    lsblk
    # 或者
    sudo fdisk -l
    
  2. 格式化磁盘为Btrfs
    sudo mkfs.btrfs /dev/sdd
    
  3. 创建挂载点并挂载
    sudo mkdir /mnt/backup-disk
    sudo mount /dev/sdd /mnt/backup-disk
    
  4. 配置开机自动挂载
    编辑/etc/fstab文件,添加以下行(确保挂载参数适合备份场景):
    sudo nano /etc/fstab
    
    新增内容:
    /dev/sdd /mnt/backup-disk btrfs defaults,noatime 0 0
    
    保存后测试挂载是否正常:
    sudo mount -a
    
  5. 迁移原有备份数据
    用rsync把旧备份目录的数据同步到新磁盘:
    sudo rsync -av /原备份目录/ /mnt/backup-disk/data/
    
  6. 设置每日自动快照
    先创建快照脚本:
    sudo nano /usr/local/bin/btrfs-snapshot.sh
    
    写入以下内容:
    #!/bin/bash
    SNAPSHOT_ROOT="/mnt/backup-disk/snapshots"
    BACKUP_SUBVOL="/mnt/backup-disk/data"
    
    # 创建快照存储目录(不存在则创建)
    mkdir -p ${SNAPSHOT_ROOT}
    
    # 创建当日快照,命名包含日期
    sudo btrfs subvolume snapshot ${BACKUP_SUBVOL} ${SNAPSHOT_ROOT}/backup-$(date +%Y%m%d)
    
    # 清理7天前的快照,保留最近7天
    sudo find ${SNAPSHOT_ROOT} -name "backup-*" -mtime +7 -exec rm -rf {} \;
    
    给脚本添加执行权限:
    sudo chmod +x /usr/local/bin/btrfs-snapshot.sh
    
    最后添加cron任务,设置每日凌晨2点执行:
    sudo crontab -e
    
    新增一行:
    0 2 * * * /usr/local/bin/btrfs-snapshot.sh
    

方案二:ZFS(数据完整性更强,适合重要备份)

ZFS提供更强大的快照管理、数据校验和存储池功能,虽然需要额外安装包,但在Ubuntu 16.04.3上非常稳定,适合对数据安全性要求高的备份场景。

操作步骤:

  1. 安装ZFS工具包
    sudo apt-get update && sudo apt-get install zfsutils-linux
    
  2. 创建ZFS存储池
    利用/dev/sdd创建存储池(ashift=12适配Hyper-V的4K扇区,优化性能):
    sudo zpool create -o ashift=12 backup-pool /dev/sdd
    
  3. 创建备份数据集
    数据集相当于ZFS里的子目录,用来存储备份文件:
    sudo zfs create backup-pool/backup-data
    
    如果需要自定义挂载点:
    sudo zfs set mountpoint=/mnt/backup-disk backup-pool/backup-data
    
  4. 迁移原有备份数据
    sudo rsync -av /原备份目录/ /mnt/backup-disk/
    
  5. 设置每日自动快照
    创建快照脚本:
    sudo nano /usr/local/bin/zfs-snapshot.sh
    
    写入以下内容:
    #!/bin/bash
    DATASET="backup-pool/backup-data"
    
    # 创建当日快照
    sudo zfs snapshot ${DATASET}@$(date +%Y%m%d)
    
    # 保留最近7天的快照,删除更早的
    sudo zfs list -t snapshot -o name -s creation | grep ${DATASET}@ | head -n -7 | xargs -n1 sudo zfs destroy
    
    添加执行权限:
    sudo chmod +x /usr/local/bin/zfs-snapshot.sh
    
    添加cron任务:
    sudo crontab -e
    
    新增一行:
    0 2 * * * /usr/local/bin/zfs-snapshot.sh
    

额外注意事项

  • 测试快照功能:手动执行一次快照脚本,验证快照是否正常创建。Btrfs用btrfs subvolume list /mnt/backup-disk查看,ZFS用zfs list -t snapshot查看。
  • 精简卷兼容性:Btrfs和ZFS都支持精简配置,和Hyper-V的精简卷配合不会浪费存储空间,只有实际写入数据才会占用物理磁盘空间。
  • 数据校验:如果选择ZFS,它默认会对数据做校验和,能自动检测并修复部分数据损坏;Btrfs可以通过sudo btrfs filesystem enable-checksum /mnt/backup-disk启用校验功能。

内容的提问来源于stack exchange,提问作者maloitpro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:23:12