本地存储器操作程序 - 文件
为 IBM Cloud Satellite® clusters.You 设置 使用本地卷的持久存储器 可以使用 Satellite 存储器模板来创建存储器配置。 将存储器配置分配给集群时,所选存储器提供者的存储器驱动程序将安装在集群中。
创建本地文件存储器配置时,指定要作为集群中的持久卷 (PV) 提供的本地存储设备。 将存储配置分配给集群后,Satellite 将部署本地存储操作程序,该操作程序将安装您在配置中指定的本地磁盘。 操作员进一步创建具有您指定的文件系统类型的持久卷,并创建可用于创建持久卷声明 (PVC) 的 sat-local-file-gold
存储类。 然后,可以在 Kubernetes 工作负载中引用 PVC。
在可以将存储器模板部署到您所在位置的集群之前,请确保通过在控制台中选择 对 Satellite Config 启用集群管理访问权 选项或者在创建集群时包含 --enable-config-admin
选项来设置 Satellite 配置。
不能将 Satellite 存储服务的作用域限定为资源组。 但是,如果要将其他资源 (例如,位置和集群) 限定为资源组,那么需要为帐户中的所有资源添加 Satellite 阅读器和链接管理员角色。
本地文件存储器的先决条件
必须先识别集群中具有所需可用磁盘的工作程序节点,然后才能创建本地文件存储器配置。 然后,对这些工作程序节点进行标签,以便仅在这些工作程序节点上安装本地存储驱动程序。
-
如果您的位置中没有任何集群,请 创建 Red Hat OpenShift on IBM Cloud 集群 或 将现有 Red Hat OpenShift on IBM Cloud 集群连接到您的位置。 确保集群中要在存储配置中使用的工作程序节点除了具有 Satellite所需的磁盘外,还具有至少一个可用的本地磁盘。 额外磁盘必须无格式。
-
标注具有可用磁盘且要在配置中使用的工作程序节点。 本地存储驱动程序仅安装在标注的工作程序节点上。
获取本地文件存储器配置的设备详细信息
创建文件存储器配置时,必须指定要使用的设备。 在以下步骤中检索的设备路径在创建配置时指定为参数。
-
登录到集群并获取可用工作程序节点的列表。 记下要在配置中使用的工作程序节点。
oc get nodes
-
登录到要用于本地存储器配置的每个工作程序节点。
oc debug node/<node-name>
-
在工作程序节点上部署调试 pod 时,运行以下命令以列出工作程序节点上的可用磁盘。
-
允许主机二进制文件。
chroot /host
-
列出您的设备。
lsblk
-
获取设备的详细信息。 验证要使用的设备是否已卸载且未格式化。
fdisk -l
-
-
查看可用磁盘的命令输出。 必须将已卸载的磁盘用于本地存储器配置。 在
lsblk
命令的以下示例输出中,xvdc
磁盘已卸载并且没有分区。NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 100G 0 disk |-xvda1 202:1 0 1G 0 part /boot `-xvda2 202:2 0 99G 0 part / xvdb 202:16 0 2G 0 disk `-xvdb1 202:17 0 2G 0 part xvdc 202:32 0 100G 0 disk xvde 202:64 0 50G 0 disk /var/data xvdh 202:112 0 64M 0 disk
-
对要用于本地文件存储器配置的每个工作程序节点重复上述步骤。
使用本地文件存储器时标注工作程序节点
在 检索要在配置中使用的磁盘的设备路径 之后,请标注磁盘所在的工作程序节点。
-
获取工作程序节点 IP 地址。
oc get nodes
-
标注先前检索到的工作程序节点。 本地存储驱动程序将使用此标签部署到工作程序节点。 您可以在示例命令中使用
storage=local-file
标签,也可以使用key=value
格式创建自己的标签。oc label nodes <worker-IP> <worker-IP> "storage=local-file"
示例输出
node/<worker-IP> labeled node/<worker-IP> labeled
-
验证是否已将标签添加到要使用的工作程序节点。 运行以下命令以显示工作程序节点上的标签,并突出显示您在上一步中添加的标签。
oc get nodes --show-labels | grep --color=always storage=local-file
在控制台中创建和分配配置
-
查看 参数参考。
-
从 "位置" 控制台,选择要在其中创建存储配置的位置。
-
选择 存储器 > 创建存储器配置
-
输入配置名称。
-
选择存储类型。
-
选择版本并单击下一步
-
如果您选择的 存储器类型 接受定制参数,请在 参数 选项卡上输入这些参数。
-
如果您选择的 存储器类型 需要私钥,请在 私钥 选项卡上输入私钥。
-
在 存储类 选项卡上,查看配置所部署的存储类或创建定制存储类。
-
在 分配给服务 选项卡上,选择要将配置分配给的服务。
-
单击 完成 以分配存储器配置。
在 CLI 中创建配置
-
查看要使用的模板版本的 参数参考。
-
登录到 IBM Cloud CLI。
ibmcloud login
-
列出 Satellite 位置并记下
Managed from
列。ibmcloud sat location ls
-
将 Satellite 位置的
Managed from
区域作为目标。 例如,对于wdc
targetus-east
。 有关更多信息,请参阅 Satellite 区域。ibmcloud target -r us-east
-
如果使用除
default
以外的资源组,请将其作为目标。ibmcloud target -g <resource-group>
-
针对要使用的模板版本,复制以下某个示例命令。 有关该命令的更多信息,请参阅 命令参考 中的
ibmcloud sat storage config create
。用于创建 V 4.9 配置的示例命令。
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-file --template-version 4.9 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" [--param "devicepath=DEVICEPATH"] --param "fstype=FSTYPE"
用于创建 V 4.10 配置的示例命令。
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-file --template-version 4.10 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" [--param "devicepath=DEVICEPATH"] --param "fstype=FSTYPE"
用于创建 V 4.11 配置的示例命令。
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-file --template-version 4.11 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" [--param "devicepath=DEVICEPATH"] --param "fstype=FSTYPE"
用于创建 V 4.12 配置的示例命令。
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-file --template-version 4.12 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" [--param "devicepath=DEVICEPATH"] --param "fstype=FSTYPE"
用于创建 V 4.13 配置的示例命令。
ibmcloud sat storage config create --location LOCATION --name NAME --template-name local-volume-file --template-version 4.13 --param "auto-discover-devices=AUTO-DISCOVER-DEVICES" --param "label-key=LABEL-KEY" --param "label-value=LABEL-VALUE" [--param "devicepath=DEVICEPATH"] --param "fstype=FSTYPE"
-
根据要使用的设置定制命令。
-
运行命令创建配置。
-
验证是否已创建配置。
ibmcloud sat storage config get --config CONFIG
在 API 中创建配置
-
生成 API 密钥,然后请求刷新令牌。 有关详细信息,请参阅 使用 API 密钥生成IBM CloudIAM 令牌。
-
查看要使用的模板版本的 参数参考。
-
复制以下某个示例请求并替换要使用的变量。
用于创建 V 4.9 配置的示例请求。
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-file\", \"storage-template-version\": \"4.9\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\", { \"entry.name\": \"FSTYPE\",\"user-secret-parameters\": }
用于创建 V 4.10 配置的示例请求。
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-file\", \"storage-template-version\": \"4.10\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\", { \"entry.name\": \"FSTYPE\",\"user-secret-parameters\": }
用于创建 V 4.11 配置的示例请求。
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-file\", \"storage-template-version\": \"4.11\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\", { \"entry.name\": \"FSTYPE\",\"user-secret-parameters\": }
用于创建 V 4.12 配置的示例请求。
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-file\", \"storage-template-version\": \"4.12\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\", { \"entry.name\": \"FSTYPE\",\"user-secret-parameters\": }
用于创建 V 4.13 配置的示例请求。
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createStorageConfigurationByController" -H "accept: application/json" -H "Authorization: TOKEN" -H "Content-Type: application/json" -d "{ \"config-name\": \"string\", \"controller\": \"string\", \"storage-class-parameters\": [ { \"additionalProp1\": \"string\", \"additionalProp2\": \"string\", \"additionalProp3\": \"string\" } ], \"storage-template-name\": \"local-volume-file\", \"storage-template-version\": \"4.13\", \"update-assignments\": true, \"user-config-parameters\": { \"entry.name\": \"AUTO-DISCOVER-DEVICES\", { \"entry.name\": \"LABEL-KEY\", { \"entry.name\": \"LABEL-VALUE\", { \"entry.name\": \"DEVICEPATH\", { \"entry.name\": \"FSTYPE\",\"user-secret-parameters\": }
在 CLI 中创建任务
-
列出存储配置,并记下要分配给集群的存储配置。
ibmcloud sat storage config ls
-
获取要向其分配存储器的集群,集群组或服务的标识。
要确保集群已向 Satellite 配置注册或要创建组,请参阅 设置集群以与 Satellite 配置配合使用。
用于列出集群组的示例命令。
ibmcloud sat group ls
用于列出集群的示例命令。
ibmcloud oc cluster ls --provider satellite
用于列出 Satellite 服务的示例命令。
ibmcloud sat service ls --location <location>
-
将存储器配置分配给先前检索的集群,组或服务。 有关更多信息,请参阅
ibmcloud sat storage assignment create
命令。用于将配置分配给集群组的示例命令。
ibmcloud sat storage assignment create --group GROUP --config CONFIG --name NAME
用于将配置分配给集群的示例命令。
ibmcloud sat storage assignment create --cluster CLUSTER --config CONFIG --name NAME
用于将配置分配给服务集群的示例命令。
ibmcloud sat storage assignment create --service-cluster-id CLUSTER --config CONFIG --name NAME
-
确认任务已创建。
ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
在 API 中创建存储器分配
-
复制以下某个示例请求。
用于将 配置分配给集群的示例请求。
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignmentByCluster" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"CLUSTER-ID\", \"controller\": \"LOCATION-ID\", \"name\": \"ASSIGNMENT-NAME\"}"
请求 将配置分配给集群组的示例。
curl -X POST "https://containers.cloud.ibm.com/global/v2/storage/satellite/createAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"channelName\": \"CONFIGURATION-NAME\", \"cluster\": \"string\", \"groups\": [ \"CLUSTER-GROUP\" ], \"name\": \"ASSIGNMENT-NAME\"}"
-
将变量替换为详细信息并运行请求。
-
通过列出分配来验证是否已创建分配。
curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignments" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
在控制台中更新存储器分配
您可以使用 Satellite 控制台 对分配应用最新补丁更新。
-
从 Satellite 控制台中的“位置”页面,选择您的位置。
-
单击 存储器 选项卡以查看配置。
-
单击要更新的配置。
-
单击信息 信息 (i) 图标以应用最新修订版或补丁。
-
可选: 为存储器分配启用自动补丁更新。 启用自动补丁更新可确保分配始终具有最新的安全修订。
如果启用自动补丁更新,那么仍必须手动应用主要更新。
在 CLI 中手动升级分配
升级分配以使用最新的存储器模板修订版。
-
列出 Satellite 存储分配,记录要升级的 Satellite 分配。
ibmcloud sat storage assignment ls
-
列出 Satellite 存储模板以查看最新的可用版本。
ibmcloud sat storage template ls
-
升级 Satellite 分配。
用于升级分配的示例命令。
ibmcloud sat storage assignment upgrade --assignment ASSIGNMENT
在 CLI 中为配置和分配启用自动补丁更新
您可以使用 sat storage assignment autopatch enable
CLI 为分配启用自动补丁更新。 启用自动补丁更新将自动应用最新的存储模板修订 (补丁)。 您仍必须手动应用主要更新。
-
列出 Satellite 存储配置。 记下配置 ID。
ibmcloud sat storage assignment ls
-
运行以下某个示例命令以对配置及其关联的分配启用自动补丁更新。 输入您在上一步中获取的配置 ID。
用于对分配启用自动补丁更新的示例命令。
ibmcloud sat storage assignment autopatch enable --config CONFIG (--all | --assignment ASSIGNMENT-ID [--assignment ASSIGNMENT-ID])
用于对给定配置下的所有存储器分配启用自动补丁更新的示例命令。
ibmcloud sat storage assignment autopatch enable --config CONFIG --all
用于禁用特定配置下所有分配的自动补丁更新的示例命令。
ibmcloud sat storage assignment autopatch disable --config CONFIG --all
用于禁用单个分配和特定配置的自动补丁更新的示例命令。
ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID
用于对多个分配和特定配置禁用自动补丁更新的示例命令。
ibmcloud sat storage assignment autopatch disable --config CONFIG --assignment ASSIGNMENT-ID --assignment ASSIGNMENT-ID
在 CLI 中手动升级配置
您可以升级 Satellite 存储配置,以获取同一主版本中的最新存储模板修订版。
-
列出 Satellite 存储配置,记录要升级的 Satellite 配置。
ibmcloud sat storage config ls
-
升级Satellite配置。 请注意,仅更新配置。 如果要升级使用此配置的分配,可以指定
--include-assignments
选项,也可以使用assignment update
命令手动更新每个分配。用于将配置升级到最新修订版的示例命令。
ibmcloud sat storage config upgrade --config CONFIG [--include-assignments]
用于将配置及其关联的分配升级到最新修订版的示例命令。
ibmcloud sat storage config upgrade --config CONFIG --include-assignments
在 API 中升级配置和分配
您可以使用 /v2/storage/satellite/updateAssignment
API 通过新的集群或集群组更新分配。 将 updateConfigVersion
设置为 true
以应用修订更新。
-
复制以下示例请求,并替换要更新的集群组和分配的变量。
curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/updateAssignment" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d "{ \"groups\": [ \"CLUSTER-GROUPS\" ], \"name\": \"ASSIGNMENT-NAME\", \"updateConfigVersion\": true, \"uuid\": \"ASSIGNMENT-ID\"}"
-
运行请求。
-
获取分配的详细信息以验证更新。
curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
在 API 中为分配启用自动补丁更新
您可以使用 /v2/storage/satellite/setAssignmentAutoupgrade
API 为分配启用自动补丁更新。 启用自动补丁更新将自动应用最新的存储模板修订 (补丁)。 您仍必须手动应用主要更新。
-
复制以下示例请求,并替换要更新的集群组和分配的变量。
curl -X PATCH "https://containers.cloud.ibm.com/global/v2/storage/satellite/setAssignmentAutoupgrade" -H "accept: application/json" -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" -d { "config": "string", "controller": "string", "autopatch": boolean,"assignment" : { "all": boolean, "uuid": ["string", "string", ...], } }
-
运行请求。
-
获取分配的详细信息以验证升级。
curl -X GET "https://containers.cloud.ibm.com/global/v2/storage/satellite/getAssignment?uuid=ASSIGNMENT-ID" -H "accept: application/json" -H "Authorization: Bearer TOKEN"
-
验证是否已部署存储配置资源。 获取
local-storage
名称空间中所有资源的列表。oc get all -n local-storage
示例输出
NAME READY STATUS RESTARTS AGE pod/local-disk-local-diskmaker-cpk4r 1/1 Running 0 30s pod/local-disk-local-provisioner-xstjh 1/1 Running 0 30s pod/local-storage-operator-96c444dfc-ttpmq 1/1 Running 0 35s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/local-storage-operator ClusterIP 172.21.173.238 <none> 60000/TCP 32s NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/local-disk-local-diskmaker 1 1 1 1 1 <none> 31s daemonset.apps/local-disk-local-provisioner 1 1 1 1 1 <none> 31s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/local-storage-operator 1/1 1 1 36s NAME DESIRED CURRENT READY AGE replicaset.apps/local-storage-operator-96c444dfc 1 1 1 37s
-
列出可用的存储类。
oc get sc -n local-storage | grep local
示例输出
sat-local-file-gold kubernetes.io/no-provisioner Delete WaitForFirstConsumer false 21m
-
列出 PV 并验证状态是否为
Available
。 创建配置时指定的本地磁盘可用作持久卷。oc get pv
示例输出
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE local-pv-1d14680 50Gi RWO Delete Available sat-local-file-gold 50s
部署使用本地文件存储器的应用程序
创建本地文件存储器配置并将其分配给集群后,可以创建使用本地文件存储器的应用程序。
您可以通过向持久卷添加标签将 PVC 映射到特定持久卷。 有关更多信息,请参阅 选择器的Kubernetes 文档。
-
将以下 YAML 保存到本地机器上名为
local-pvc.yaml
的文件。kind: PersistentVolumeClaim apiVersion: v1 metadata: name: local-pvc spec: accessModes: - ReadWriteOnce volumeMode: Filesystem resources: requests: storage: 20Gi # Important: Ensure that size of your claim is not larger than the local disk. storageClassName: sat-local-file-gold
-
在集群中创建 PVC。
oc create -f local-pvc.yaml
-
确认已创建 PVC。
oc get pvc | grep local
要确保将 pod 安排到具有存储器的工作程序节点,或者确保需要存储器的应用程序未被其他 pod 抢占,您可以指定
nodeAffinity
并设置 pod 优先级。 有关更多信息,请参阅 Kubernetes 文档以了解 pod 优先级和抢占 以及设置 节点亲缘关系。 -
部署使用本地存储器 PVC 的应用程序 pod。 将以下示例应用程序 YAML 另存为本地机器上名为
app.yaml
的文件。 此 pod 将日期写入名为test.txt
的文件。 请务必输入您之前创建的 PVC 名称。 在此示例中,nodeAffinity
规范确保仅将此 pod 调度到具有指定标签的工作程序节点。apiVersion: v1 kind: Pod metadata: name: app spec: affinity: null nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: storage operator: In values: - local-file volumes: - name: local-pvc persistentVolumeClaim: claimName: local-pvc containers: - name: local-disks image: nginx ports: - containerPort: 80 name: http-server volumeMounts: - mountPath: <mount-path-to-local-disk> name: local-pvc
-
在集群中创建应用程序 pod。
oc create -f app.yaml
-
登录到应用程序 pod 并验证您是否可以写入本地磁盘。
kubectl exec <app-pod> -it bash
-
运行以下命令以将目录切换到本地磁盘的位置,写入 test.txt 文件并显示该文件的内容。
cd /<mount-path-to-local-disk> && echo "This is a test." >> test.txt && cat test.txt
示例输出
This is a test.
-
除去测试文件并从 pod 注销。
rm test.txt && exit
从集群中除去本地文件存储器配置
如果不再计划在集群中使用本地文件存储器,那么可以从存储器配置中取消分配集群。
请注意,如果除去存储器配置,那么将从所有分配的集群中卸载本地存储器操作程序资源和 sat-local-file-gold
存储类。 不会除去 PVC,PV 和数据。 但是,在重新将驱动程序安装到集群中之前,您可能无法访问数据。
从控制台中除去本地文件存储器配置
使用控制台来除去存储器配置。
- 从 Satellite 存储仪表板中,选择要删除的存储配置。
- 选择 操作 > 删除
- 输入存储器配置的名称。
- 选择删除。
从命令行中除去本地文件存储器配置
-
列出
local-storage
名称空间中的资源。 删除存储器分配时,将除去这些资源。oc get all -n local-storage
示例输出
NAME READY STATUS RESTARTS AGE pod/local-disk-local-diskmaker-clvg6 1/1 Running 0 29h pod/local-disk-local-diskmaker-kqddq 1/1 Running 0 29h pod/local-disk-local-diskmaker-p6z9q 1/1 Running 0 29h pod/local-disk-local-provisioner-dw5g7 1/1 Running 0 29h pod/local-disk-local-provisioner-hxd9n 1/1 Running 0 29h pod/local-disk-local-provisioner-tfg95 1/1 Running 0 29h pod/local-storage-operator-df4994656-7826l 1/1 Running 0 29h NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/local-storage-operator ClusterIP 172.21.147.17 <none> 60000/TCP 29h NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/local-disk-local-diskmaker 3 3 3 3 3 <none> 29h daemonset.apps/local-disk-local-provisioner 3 3 3 3 3 <none> 29h NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/local-storage-operator 1/1 1 1 29h NAME DESIRED CURRENT READY AGE replicaset.apps/local-storage-operator-df4994656 1 1 1 29h
-
列出存储器分配并查找用于集群的存储分配。
ibmcloud sat storage assignment ls (--cluster CLUSTER | --config CONFIG | --location LOCATION | --service-cluster-id CLUSTER)
-
除去分配。 除去分配后,将从属于存储分配的所有集群中除去本地存储驱动程序 pod 和存储类。
ibmcloud sat storage assignment rm --assignment <assignment_ID>
-
列出
local-storage
名称空间中的资源,并验证是否已除去本地存储驱动程序 pod。oc get all -n local-storage
示例输出
No resources found in local-storage namespace.
-
列出集群中的存储类,并验证是否已除去本地存储类。
oc get sc
-
可选: 除去存储器配置。
- 列出存储配置。
ibmcloud sat storage config ls
- 除去存储器配置。
ibmcloud sat storage config rm --config <config_name>
- 列出存储配置。
-
列出 PVC 并记下要除去的 PVC 的名称。
oc get pvc
-
移除目前安装 PVC 的任何 pod。
-
列出当前安装要删除的 PVC 的所有 pod。 如果未返回任何 pod,那么您当前没有任何使用 PVC 的 pod。
oc get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>"
示例输出
app sat-local-file-gold
-
除去使用 PVC 的 pod。 如果 pod 是部署的一部分,请除去该部署。
oc delete pod <pod_name>
oc delete deployment <deployment-name>
-
验证是否已除去 pod 或部署。
oc get pods
oc get deployments
-
-
删除 PVC。 由于使用
Retain
回收策略指定所有 IBM提供的本地文件存储类,因此在删除应用程序或部署时不会自动删除 PV 和 PVC。oc delete pvc <pvc-name>
-
确认您的 PVC 已移除。
oc get pvc
- 列出 PV 并记下要除去的 PV 的名称。
oc get pv
- 删除 PV。 删除 PV 将使磁盘可用于其他工作负载。
oc delete pv <pv-name>
- 验证您的 PV 是否已移除。
oc get pv
参数参考
4.9 参数参考
显示名称 | CLI 选项 | Type | 描述 | 必需? | 缺省值 |
---|---|---|---|---|---|
自动存储卷发现 | auto-discover-devices |
配置 | 如果要自动发现和使用工作节点上的存储卷,请设置为 true 。 |
是 | false |
节点标签键 | label-key |
配置 | The key of the worker node key=value label. |
是 | 不适用 |
节点标签键值 | label-value |
配置 | The value of the worker node key=value label. |
是 | 不适用 |
设备路径 | devicepath |
配置 | 本地存储设备路径。 Example: /dev/sdc . 当 auto-discover-devices 设置为 false 时必须填写。 |
否 | 不适用 |
文件系统类型 | fstype |
配置 | 文件系统类型。 指定 ext3 、ext4 或 xfs 。 |
是 | ext4 |
4.10 参数参考
显示名称 | CLI 选项 | Type | 描述 | 必需? | 缺省值 |
---|---|---|---|---|---|
自动存储卷发现 | auto-discover-devices |
配置 | 如果要自动发现和使用工作节点上的存储卷,请设置为 true 。 |
是 | false |
节点标签键 | label-key |
配置 | The key of the worker node key=value label. |
是 | 不适用 |
节点标签键值 | label-value |
配置 | The value of the worker node key=value label. |
是 | 不适用 |
设备路径 | devicepath |
配置 | 本地存储设备路径。 Example: /dev/sdc . 当 auto-discover-devices 设置为 false 时必须填写。 |
否 | 不适用 |
文件系统类型 | fstype |
配置 | 文件系统类型。 指定 ext3 、ext4 或 xfs 。 |
是 | ext4 |
4.11 参数参考
显示名称 | CLI 选项 | Type | 描述 | 必需? | 缺省值 |
---|---|---|---|---|---|
自动存储卷发现 | auto-discover-devices |
配置 | 如果要自动发现和使用工作节点上的存储卷,请设置为 true 。 |
是 | false |
节点标签键 | label-key |
配置 | The key of the worker node key=value label. |
是 | 不适用 |
节点标签键值 | label-value |
配置 | The value of the worker node key=value label. |
是 | 不适用 |
设备路径 | devicepath |
配置 | 本地存储设备路径。 Example: /dev/sdc . 当 auto-discover-devices 设置为 false 时必须填写。 |
否 | 不适用 |
文件系统类型 | fstype |
配置 | 文件系统类型。 指定 ext3 、ext4 或 xfs 。 |
是 | ext4 |
4.12 参数参考
显示名称 | CLI 选项 | Type | 描述 | 必需? | 缺省值 |
---|---|---|---|---|---|
自动存储卷发现 | auto-discover-devices |
配置 | 如果要自动发现和使用工作节点上的存储卷,请设置为 true 。 |
是 | false |
节点标签键 | label-key |
配置 | The key of the worker node key=value label. |
是 | 不适用 |
节点标签键值 | label-value |
配置 | The value of the worker node key=value label. |
是 | 不适用 |
设备路径 | devicepath |
配置 | 本地存储设备路径。 Example: /dev/sdc . 当 auto-discover-devices 设置为 false 时必须填写。 |
否 | 不适用 |
文件系统类型 | fstype |
配置 | 文件系统类型。 指定 ext3 、ext4 或 xfs 。 |
是 | ext4 |
4.13 参数参考
显示名称 | CLI 选项 | Type | 描述 | 必需? | 缺省值 |
---|---|---|---|---|---|
自动存储卷发现 | auto-discover-devices |
配置 | 如果要自动发现和使用工作节点上的存储卷,请设置为 true 。 |
是 | false |
节点标签键 | label-key |
配置 | The key of the worker node key=value label. |
是 | 不适用 |
节点标签键值 | label-value |
配置 | The value of the worker node key=value label. |
是 | 不适用 |
设备路径 | devicepath |
配置 | 本地存储设备路径。 Example: /dev/sdc . 当 auto-discover-devices 设置为 false 时必须填写。 |
否 | 不适用 |
文件系统类型 | fstype |
配置 | 文件系统类型。 指定 ext3 、ext4 或 xfs 。 |
是 | ext4 |
本地文件存储器的存储类引用
查看本地文件存储器的 Satellite 存储类。 您可以使用 oc describe sc <storage-class-name>
命令在命令行中描述存储类。
存储类名 | 文件系统 | 回收策略 |
---|---|---|
sat-local-file-gold |
ext4 或 xfs |
Retain |
获取本地文件存储的帮助和支持
- 查看 Red Hat OpenShift 文档中的常见问题解答。
- 查看 故障诊断文档 以进行故障诊断并解决常见问题。
- 通过转至 "状态" 页面,检查 IBM Cloud 平台和资源的状态。
- 查看 Stack Overflow 以了解其他用户是否迂到了相同的问题。 使用 ibm-cloud 标记任何问题,以便 IBM Cloud 开发团队可以看到这些问题。
- 如果迂到本地 File Storage 操作程序的问题,那么可以在 Red Hat 客户门户网站中打开问题。