管理卷
前提条件
-
Working DirectPV 插件。
要安装该插件,请参考插件安装指南.
-
在 Kubernetes 中运行 DirectPV CSI 驱动程序。
要安装驱动程序,请参考驱动程序安装指南.
-
在 DirectPV 中添加了驱动器。
参考驱动器管理指南.
添加卷
参考卷配置指南.
列出卷
要从 DirectPV 获取卷信息,请运行list volumes命令。
输出类似于以下内容:
$ kubectl directpv list drives
┌────────┬──────┬──────┬─────────┬─────────┬─────────┬────────┐
│ NODE │ NAME │ MAKE │ SIZE │ FREE │ VOLUMES │ STATUS │
├────────┼──────┼──────┼─────────┼─────────┼─────────┼────────┤
│ master │ vdb │ - │ 512 MiB │ 506 MiB │ - │ Ready │
│ node1 │ vdb │ - │ 512 MiB │ 506 MiB │ - │ Ready │
└────────┴──────┴──────┴─────────┴─────────┴─────────┴────────┘
扩展卷
DirectPV 支持在线卷扩展,无需重启使用这些卷的 Pod。
在扩展相关卷的大小后,此过程会自动完成。Persistent Volume Claim(PVC).
-
获取 PVC YAML
kubectl get pvc [PersistentVolumeClaimName] -o yaml > my-file-name.yaml
-
在 PVC 中,修改
spec.resources.requests.storage更改请求的大小。 -
将更新后的PVC应用到Kubernetes环境中,例如使用
kubectl apply.应用更改后,PVC 将更新,DirectPV 会自动增加分配给声明的卷的大小。
-
验证更改
kubectl get pvc [PersistentVolumeClaimName] -o yamlReview
status.capacity.storage查看更新后的大小。
删除卷
可以删除卷仅如果没有 Pod 正在使用该卷和它就在Ready状态。
运行kubectl delete pvc触发 DirectPV 卷删除的命令。
删除卷将导致永久性数据丢失。
请务必确认要删除的卷。
# Delete `sleep-pvc` volume
kubectl delete pvc sleep-pvc
清理陈旧卷
当 Pod 和/或 Persistent Volume Claim 被强制删除时,相关的 DirectPV 卷可能不会被删除。
这会导致卷变成陈旧卷。
通过运行以下命令删除陈旧卷:clean命令。
$ kubectl directpv clean --all
挂起卷
根据Kubernetes的设计,一个StatefulSetworkload 只有在所有 pod 都处于运行状态时才处于活动状态。 有问题的卷会阻止 StatefulSet 启动。
DirectPV 提供了一个解决方案,通过将故障卷挂载到空目录来暂停它们/var/lib/directpv/tmp具有只读访问权限的目录。
这可以通过执行暂停卷命令。
kubectl directpv suspend volumes --nodes node-1 --drives dm-3
暂停的卷在修复后可以恢复。 恢复后,相应的卷将重新使用各自分配的驱动器。
这可以通过使用 [resume volumes](/command-line/resume-volumes/) 命令来完成。
kubectl directpv resume volumes --nodes node-1 --drives dm-3