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