Skip to content

docs(storage): add OceanStor Dorado NFS sharing and PV migration guides#818

Merged
jing2uo merged 1 commit into
mainfrom
docs/dorado-nfs-external-sharing-and-pv-migration
Jul 24, 2026
Merged

docs(storage): add OceanStor Dorado NFS sharing and PV migration guides#818
jing2uo merged 1 commit into
mainfrom
docs/dorado-nfs-external-sharing-and-pv-migration

Conversation

@jing2uo

@jing2uo jing2uo commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

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

  • Static volumes (write the PV yourself, or let the driver adopt an existing volume) give a predictable export path; dynamically provisioned volumes require reading the generated path from .spec.csi.volumeAttributes.name.
  • Covers the three array-side objects (filesystem / NFS share / access-client rule), the adopt method inheriting reclaimPolicy: Delete (must switch to Retain), NFS-version drift on a static PV without mountOptions, the read-only .snapshot directory, non-root writes, and narrowing authClient.

How to Migrate NFS PersistentVolumes to OceanStor Dorado and Rebind PVCs in Place

  • PVC.spec.volumeName is immutable, so the PVC is deleted and recreated under the same name and pre-bound to the new PV — the workload manifest is unchanged.
  • Covers claimRef uid semantics and the required two merge patches, setting both PVs to Retain (the only irreversible step), the StatefulSet volumeClaimTemplates split and --cascade=orphan re-adoption, and rsync --delete needing --exclude='/.snapshot'.

Review

Independently reviewed by a second model; each finding was verified before applying. Revisions include:

  • Corrected --numeric-ids (syncs by numeric ID; does not bypass server-side NFS squash).
  • Corrected that NFS (nfs.csi.k8s.io, attachRequired=false) does not trigger Multi-Attach on RWO; the same-node constraint applies only to attach-based drivers (iSCSI/RBD).
  • Hardened the verification command (set -eu + NUL-delimited) to remove a CONTENT_OK false positive on filenames with spaces — the check immediately precedes PVC deletion.
  • Wrapped the tar fallback in kubectl 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; clarified showmount port requirements; added a migration-finalization step.

Notes

  • Titles and prose use "OceanStor Dorado" with no vendor name; the csi.huawei.com identifiers in YAML/commands are literal values and kept as-is.
  • All addresses and credentials are placeholders.
  • id and sourceSHA are intentionally omitted from frontmatter; CI fills them in.

🤖 Generated with Claude Code

新增两篇 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>
@jing2uo
jing2uo merged commit 5d96474 into main Jul 24, 2026
1 check passed
@jing2uo
jing2uo deleted the docs/dorado-nfs-external-sharing-and-pv-migration branch July 24, 2026 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants