4.10.6. 为本地存储设备自动发现和置备
Local Storage Operator 自动进行本地存储发现和置备。使用此功能,您可以在部署过程中不提供动态置备(如使用裸机、VMware 或带有附加设备的 AWS 存储实例)时简化安装。
自动发现和置备只是一个技术预览功能。技术预览功能不被红帽产品服务等级协议 (SLA) 支持,且可能在功能方面有缺陷。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的详情,请参阅 https://access.redhat.com/support/offerings/techpreview/。
使用以下步骤自动发现本地设备,并为所选设备自动置备本地。
请谨慎使用 LocalVolumeSet
对象。当您从本地磁盘自动置备持久性卷(PV)时,本地 PV 可能会声明所有匹配的设备。如果使用 LocalVolumeSet
对象,请确保 Local Storage Operator 是唯一管理该节点上本地设备的实体。
先决条件
- 有集群管理员权限。
- 已安装 Local Storage Operator。
- 已将本地磁盘附加到 OpenShift Container Platform 节点。
-
您可以访问 OpenShift Container Platform web 控制台和
oc
命令行界面(CLI)。
流程
通过 web 控制台启用本地设备的自动发现:
-
在 Administrator 视角中,导航到 Operators
Installed Operators,再点 Local Volume Discovery 选项卡。 - 点 Create Local Volume Discovery。
根据您要在所有节点上还是在特定的节点上发现可用磁盘,选择 All nodes 或 Select nodes。
注意无论是使用 All nodes 或 Select nodes 进行过滤,只有 worker 节点可用。
- 点击 Create。
-
在 Administrator 视角中,导航到 Operators
此时会显示名为 auto-discover-devices
的本地卷发现实例。
显示节点上持续可用的设备列表:
- 登陆到 OpenShift Container Platform Web 控制台。
-
进入 Compute
Nodes。 - 点要打开的节点名称。此时会显示 "Node Details" 页面。
选择 Disks 标签显示所选设备的列表。
在添加或删除本地磁盘时,设备列表会持续更新。您可以根据名称、状态、类型、型号、容量和模式过滤设备。
从 web 控制台为发现的设备自动置备本地卷:
-
导航到 Operators
Installed Operators,再从 Operators 列表中选择 Local Storage。 -
选择 Local Volume Set
Create Local Volume Set。 - 输入卷集合名称和存储类名称。
选择 All nodes 或 Select nodes 以相应地应用过滤器。
注意无论是使用 All nodes 或 Select nodes 进行过滤,只有 worker 节点可用。
选择您要应用到本地卷集的磁盘类型、模式、大小和限制,然后点 Create。
几分钟后会显示一条信息,表示 "Operator reconciled successfullyd successfully."。
-
导航到 Operators
另外,也可通过 CLI 为发现的设备置备本地卷:
创建一个对象 YAML 文件来定义本地卷集,如
local-volume-set.yaml
,如下例所示:apiVersion: local.storage.openshift.io/v1alpha1 kind: LocalVolumeSet metadata: name: example-autodetect spec: nodeSelector: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - worker-0 - worker-1 storageClassName: example-storageclass 1 volumeMode: Filesystem fsType: ext4 maxDeviceCount: 10 deviceInclusionSpec: deviceTypes: 2 - disk - part deviceMechanicalProperties: - NonRotational minSize: 10G maxSize: 100G models: - SAMSUNG - Crucial_CT525MX3 vendors: - ATA - ST2000LM
创建本地卷集对象:
$ oc apply -f local-volume-set.yaml
根据存储类验证本地持久性卷是否被动态置备:
$ oc get pv
输出示例
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE local-pv-1cec77cf 100Gi RWO Delete Available example-storageclass 88m local-pv-2ef7cd2a 100Gi RWO Delete Available example-storageclass 82m local-pv-3fa1c73 100Gi RWO Delete Available example-storageclass 48m
结果会在从节点中删除后删除。必须手动删除符号链接。