Windows SMB离线文件是基于客户端缓存(CSC)的智能同步机制,按服务器(XP)或共享(Vista+)粒度判定离线状态,支持自动缓存(稀疏)和固定文件两类,同步分Quick Sync(单向)与Full Sync(双向)。
windows 的 smb 共享离线文件(offline files)不是简单地“复制一份到本地”,而是一套由客户端侧缓存(csc)驱动、带状态管理与智能同步逻辑的机制。它既保障离线可用性,又兼顾多端一致性,但行为在不同 windows 版本间有显著差异——尤其在故障隔离、同步粒度和缓存策略上。
离线状态判定:基于 Server 还是 Share?
这是最容易踩坑的关键点:
-
Windows XP:CSC 按服务器(Server)粒度判断离线状态。只要
\ServerShare1被标记为离线,所有以\Server开头的共享(如\ServerShare2)都会被系统视为不可用,即使它们本身网络通畅。这是为防止跨共享的数据关联导致同步冲突。 - Windows Vista 及之后版本:改为按共享(Share)粒度管理。一个共享离线,不影响同服务器上其他共享的在线状态;DFS 环境下也仅隔离故障节点,其余路径照常访问。
缓存类型与文件可用性
离线文件并非全量缓存,而是分两类:
- 自动缓存(Auto-cached)文件:用户首次打开时,只缓存当前读取的部分内容,形成“稀疏缓存”(Sparsely cached file)。这类文件必须联网才能访问,离线时不可用。
- 固定文件(Pinned files):用户手动设置为“始终可用”,系统会完整下载并锁定在本地缓存中。从 Vista 起,固定文件计入总缓存配额;XP 中则不计入,但同样受保护不被自动清理。
注意:稀疏缓存文件需在下次登录或注销前完成“填充”(即下载完整副本),否则离线时将无法打开。
同步模式:Quick Sync 与 Full Sync 的实际影响
同步行为取决于启用的模式,直接影响数据一致性:
- Quick Sync(默认):仅单向同步修改——登录时上传本地更改,注销时填充稀疏文件。服务器端新增或修改的文件不会自动拉取到本地。
- Full Sync(需手动启用):双向同步——登录/注销时均同步双方变更,并自动将服务器上新增文件标记为离线可用。适合协作频繁、需保持本地与服务器完全一致的场景。
点击“同步”按钮时,两种模式都会执行全部四项操作(合并本地修改、填充稀疏文件、同步服务器变更、标记新文件),但计划性同步(如登录/注销)仅 Full Sync 才完整覆盖。
后台同步与故障恢复逻辑
同步由 CSC 代理(Client Side Cache agent)在后台定期触发,不是实时发生:
- CSC 代理不常驻内存,而是周期性唤醒检查缓存状态与连接情况;写入超限也不会立即清理 LRU 文件,而是延后处理。
- 遇到共享不可达时,Vista+ 系统仅将其设为离线状态,继续尝试其他共享;XP 则直接“整台服务器下线”,影响范围更大。
- 重新上线后,系统自动比对时间戳与版本号,解决冲突(如本地与服务器同名文件都被修改),但需依赖用户配置的冲突解决策略(保留本地、保留服务器,或提示手动选择)。
不复杂但容易忽略

















