容器 30:PV/PVC 与 CSI 怎样到达进程的目录
声明成功不等于目录可写
PVC 指明容量/访问模式等需求,通过绑定/动态供给关联 PV;具体 CSI 驱动与节点组件按存储类型准备卷,把它挂载进 Pod;进程最终看到的是自己的 mount namespace 中某个路径。不同驱动对动态供给、重挂载、跨节点恢复、备份一致性的承诺不同。即使 Pod Running,卷的所有者、只读设置或应用 UID 不匹配仍可导致写入失败;不能仅凭 PVC Bound 说业务数据已可恢复。
正例在专用 kind VM 且有明确 CSI 驱动能力时,用同一 probe-app 的 /state 写一段合成文本,记录 PVC UID、PV 名称、Pod UID、容器 ID、mountinfo、应用响应;分别重建容器、重建 Pod、换节点,区分每一步数据是否留在原卷。反例将自有卷作为只读或不匹配所有者挂入,在同一服务端点发写入请求,保存准确错误与事件;不得修改共享 PVC 或改权限绕过安全机制。实验步骤和探针包可独立获取。
本机无 kind/CSI/外部共享存储能力;即使旧文提到 CSI,也不能据此写入本篇的宿主 mountinfo 或持久化结果,完整实验 NOT_RUN。任何换节点案例先核查驱动是否支持所需访问模式,禁止把单节点路径模拟成跨节点存储。
| 现象 | 证据 | 不能推出 |
|---|---|---|
| PVC Bound | PV/驱动/节点 mount | 应用有写权限 |
| 重建 Pod 数据仍在 | 相同卷 ID、文件内容 | 换节点也必然可用 |
| 写入成功 | 真实持久化/备份检查 | fsync/备份一定完成 |
练习
- 先预测删除容器、重建同一 Pod 对卷内容和容器可写层各有什么影响;在专用 CSI 环境分别核对挂载 ID 与数据。
- 预测把原来可写的挂载改为只读后
/state的 HTTP 行为,保存应用异常与节点事件,再还原自有卷配置。
上一篇:29:Service;下一篇开始按同一 Pod UID 关联应用延迟、cgroup 与请求日志。
系列总目录:从进程隔离到运行时与编排。
参考资料
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.

