docs(storage): add OceanStor Dorado NFS sharing and PV migration guides#818
Merged
Merged
Conversation
新增两篇 solution 文档,中英文各一份,均在 ACP 4.3.1 + OceanStor Dorado 6.1.9
+ CSI v4.12.0 上实机验证。章节结构对齐仓库既有 solution 风格
(Overview/Environment/Prerequisites/Resolution/FAQ)。
1. How to Share OceanStor Dorado NFS Volumes with Hosts Outside the Cluster
- 静态卷(自己写 PV / CSI 纳管两种接法)提供可预测导出路径;动态卷需从
volumeAttributes.name 读取生成路径
- 覆盖阵列侧建卷三步、纳管继承 Delete 需改 Retain、静态 PV 无 mountOptions
时 NFS 版本漂移、.snapshot 只读、非 root 写入与 authClient 收敛
2. How to Migrate NFS PersistentVolumes to OceanStor Dorado and Rebind PVCs in Place
- 因 PVC.spec.volumeName 不可变,同名删建 + 预绑,工作负载清单不变
- claimRef uid 语义与两次 merge patch、迁移前改 Retain(唯一不可逆步骤)、
StatefulSet volumeClaimTemplates 分裂与 --cascade=orphan 重建收养、
rsync --delete 须 --exclude='/.snapshot'
经 gpt-5.6-sol 独立审阅并逐条核实后修订:
- 更正 --numeric-ids 的作用(按数字 ID 同步,不绕过 NFS 服务端 squash)
- 更正 NFS(nfs.csi.k8s.io, attachRequired=false)不会因 RWO 触发
Multi-Attach;同节点约束仅适用于 iSCSI/RBD 等挂接型驱动
- 校验命令改用 set -eu + NUL 分隔,消除含空格文件名导致的 CONTENT_OK 假阳性
- tar 备用命令补 kubectl exec;rsync 补充 --sparse 说明
- 统一静态卷示例卷名为 <volume-name> 占位符;REST 块标注为请求结构示意
并补认证/device-id/fs-id/share-id 说明;showmount 端口前提与可选性
- 新增迁移收尾步骤(旧卷清理与目标 PV 最终回收策略)
标题正文无厂商名,csi.huawei.com 等标识符原样保留;地址凭据全部占位符化。
frontmatter 的 id/sourceSHA 由 CI 后补。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
fanzy618
approved these changes
Jul 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two new solution guides (English + Chinese), each validated end to end on ACP 4.3.1 + OceanStor Dorado 6.1.9 + OceanStor CSI driver For Dorado v4.12.0. Section structure follows the existing repo solution style (Overview / Environment / Prerequisites / Resolution / FAQ).
Guides
How to Share OceanStor Dorado NFS Volumes with Hosts Outside the Cluster
.spec.csi.volumeAttributes.name.reclaimPolicy: Delete(must switch toRetain), NFS-version drift on a static PV withoutmountOptions, the read-only.snapshotdirectory, non-root writes, and narrowingauthClient.How to Migrate NFS PersistentVolumes to OceanStor Dorado and Rebind PVCs in Place
PVC.spec.volumeNameis immutable, so the PVC is deleted and recreated under the same name and pre-bound to the new PV — the workload manifest is unchanged.claimRefuid semantics and the required two merge patches, setting both PVs toRetain(the only irreversible step), the StatefulSetvolumeClaimTemplatessplit and--cascade=orphanre-adoption, andrsync --deleteneeding--exclude='/.snapshot'.Review
Independently reviewed by a second model; each finding was verified before applying. Revisions include:
--numeric-ids(syncs by numeric ID; does not bypass server-side NFS squash).nfs.csi.k8s.io,attachRequired=false) does not triggerMulti-Attachon RWO; the same-node constraint applies only to attach-based drivers (iSCSI/RBD).set -eu+ NUL-delimited) to remove aCONTENT_OKfalse positive on filenames with spaces — the check immediately precedes PVC deletion.tarfallback inkubectl exec; noted--sparse; marked the REST block as request structure with auth / device-id / fs-id / share-id guidance; unified the static-volume name to a<volume-name>placeholder; clarifiedshowmountport requirements; added a migration-finalization step.Notes
csi.huawei.comidentifiers in YAML/commands are literal values and kept as-is.idandsourceSHAare intentionally omitted from frontmatter; CI fills them in.🤖 Generated with Claude Code