我正在研究一致性快照验证。我们对连接到主机的原始设备(即两个驱动器 sdb 和 sdc)进行了快照,并希望检查数据是否按照写入磁盘时的所需顺序保存,我们想证明正常快照和一致性快照之间的数据快照时间顺序的差异,正常快照意味着分别对两个驱动器进行快照,而一致性快照意味着将它们快照合并到一个一致性组中。
如上所述,我使用以下命令在 Raid0 中的三个驱动器中的 LVM 上创建了一个 EXT4 文件系统。
pvcreate /dev/vdaa /dev/vdab /dev/vdac
vgcreate test /dev/vdaa /dev/vdab /dev/vdac
lvcreate --type raid0 -L 2G --stripes 3 --stripesize 4 -n lv test
mkfs.ext4 /dev/test/lv
mount /dev/test/lv /mnt
然后我尝试:
分别对vdaa,vdab,vdac进行逐一快照,然后进行回滚,检查数据完整性,文件系统有数据丢失,但文件系统可以拉起。
对所有三个设备进行一致的快照并回滚它们,没有数据完整性问题,
但是,我想知道在案例 1 中数据是如何布局的?为什么文件系统可以在回滚后恢复?我认为文件系统将保持离线状态,因为数据在时间上不一致,因为它们的数据是在 3 个时间点分别拍摄的(即使足够接近)