如何修复 EC2 [error] Veeam Cannot find a compatible file system for storing snapshot data

问题:

你正在尝试在 EC2 机器上运行 Veeam 备份(例如到远程 SMB 或 NFS 服务),但备份在备份作业启动后立即失败。日志看起来像这样:

veeam_job_log.txt
21:52:29   Job BackupJob1 started at 2020-12-23 21:52:29 GMT
21:52:30   Preparing to backup
21:52:40   [error] Failed to create volume snapshot
21:52:41   [error] Failed to take volume snapshot
21:52:41   [error] Failed to perform backup
21:52:41   [error] Cannot find a compatible file system for storing snapshot data
21:52:41   [error] Processing finished with errors at 2020-12-23 21:52:41 GMT

/var/log/veeam/veeamsvc.log 中的详细日志显示这些错误:

veeam_detailed_log.txt
[23.12.2020 21:52:41.069] <140589764957952> lpbcore|       Searching for the best candidate to store snapshot data.
[23.12.2020 21:52:41.069] <140589764957952> lpbcore|         Logical block size limit 512 bytes
[23.12.2020 21:52:41.071] <140589764957952> lpbcore|       Searching for the best candidate to store snapshot data. Failed.
[23.12.2020 21:52:41.071] <140589764957952> lpbcore| ERR |No suitable devices for snapshot data storage were found.
[23.12.2020 21:52:41.071] <140589764957952> lpbcore| >>  |An exception was thrown from thread [140589764957952].
[23.12.2020 21:52:41.071] <140589764957952> lpbcore|     Detecting snapshot storage parameters. Failed.
[23.12.2020 21:52:41.071] <140589764957952> lpbcore|   Creating snapshot storage. Storage type: stretch file Failed.
[23.12.2020 21:52:41.071] <140589764957952> lpbcore| Creating machine snapshot using VeeamSnap kernel module Failed.
[23.12.2020 21:52:41.071] <140589764957952> lpbcore| ERR |Snapshot creation operation has failed.
[23.12.2020 21:52:41.071] <140589764957952> lpbcore| >>  |Cannot find a compatible file system for storing snapshot data
[23.12.2020 21:52:41.071] <140589764957952> lpbcore| >>  |--tr:Failed to create machine snapshot
[23.12.2020 21:52:41.071] <140589764957952> lpbcore| >>  |An exception was thrown from thread [140589764957952].
[23.12.2020 21:52:41.071] <140589764957952>        | Thread finished. Role: 'snapshot operation'.
[23.12.2020 21:52:41.102] <140590156179200> lpbcore| ERR |Cannot find a compatible file system for storing snapshot data
[23.12.2020 21:52:41.102] <140590156179200> lpbcore| >>  |--tr:Failed to create machine snapshot
[23.12.2020 21:52:41.102] <140590156179200> lpbcore| >>  |--tr:Failed to finish snapshot creation process.

解决方案

Veeam 目前无法检测 EC2 EBS 引导设备 /dev/xvda 作为存储快照数据的合适设备。

  1. 你需要创建一个单独的 EBS 块卷并将其附加到 VM。推荐大小计算如下:15% * 将备份的磁盘总大小。如果你备份文件或目录,使用0.25 * 要备份的文件或目录的最大预期大小。
  2. 将新的 EBS 块设备附加到 VM(例如作为 /dev/xvdb - 使用 lsblk 找到正确的驱动器!)
  3. 使用类似以下命令在 EBS 设备上创建新分区表和新分区
create_partition_fdisk.sh
sudo fdisk /dev/xvdb

然后在 fdisk 中输入这些命令:g 创建新的 GUID 分区表,然后 n 创建新分区。你可以在所有地方使用默认参数。然后运行 w 将更改写入磁盘并使用 Ctrl+D 退出 fdisk) 4. 在新分区上创建新文件系统,例如使用

mkfs_ext4_xvdb1.sh
sudo mkfs.ext4 /dev/xvdb1
  1. 使用类似 mount /dev/xvda1 /mnt 的命令将分区挂载到某处(例如 /mnt/)。为了在开机时自动挂载,使用类似这样的行
fstab_xvdb1_entry.txt
/dev/xvdb1 /mnt ext4 defaults,auto 0 0

/etc/fstab 中。lsblk 现在应该告诉你分区已挂载,例如

lsblk_xvdb_output.txt
xvdb    202:16   0    2G  0 disk
└─xvdb1 202:17   0    2G  0 part /mnt
  1. 重新运行 veeam。备份现在应该正常工作。

我不知道此问题具体为什么发生,但从 Veeam 的角度来看,EC2 的 /dev/xvda 似乎不是正常的块设备。

注意 veeam 将整机备份的快照存储最小空间计算为10% * 可用空间 + 5% * 已用空间。我不知道这些因子是常数还是动态确定的,因此我推荐的15% * 总空间更为保守。


Check out similar posts by category: Backup, Linux