OBS迁移到NAS,如果源端存在同名但大小写不同的对象,会如何处理?
从OBS到NAS的异构迁移过程中,由于OBS允许大小写不同的同名对象/文件/文件夹存在,而文件存储系统不允许任何形式的同名文件/文件夹,因此源端OBS中大小写不同的同名文件/文件夹迁移到NAS时,先执行迁移的文件/文件夹会迁移成功,后执行迁移的文件/文件夹可能会迁移失败。
以SMB协议为例,源端与目的端存在同名文件/文件夹时迁移的结果情况(不区分大小写):
源端类型 |
目的端类型 |
迁移结果 |
---|---|---|
文件 |
文件 |
迁移成功 |
文件夹 |
文件夹 |
迁移成功 |
文件 |
文件夹 |
迁移失败 |
文件夹 |
文件 |
迁移失败 |
- 对象大小与最后修改时间覆盖(条件覆盖):
- 对于文件迁移:源端和目的端存在的同名文件,保留最后修改时间较新的文件;如果最后修改时间相同,比较文件大小,大小不同则源端覆盖目的端文件;如果最后修改时间和大小都相同,则跳过;
- 对于文件夹迁移:当文件迁移完成后再比对文件夹大写、时间和权限,如果文件夹大小不同/时间不相同/权限不相同,则源端覆盖目的端文件夹;
- 不覆盖:对于同名文件,一律执行跳过。
- 直接覆盖:对于同名文件,不进行任何判断,一律执行覆盖。
- CRC64对比覆盖:目前仅支持华为云/阿里云/腾讯云/亚马逊云。检查源端文件和目的端文件的CRC64,若不相等则覆盖;若源端或目的端不存在CRC64值,直接覆盖。