第 4 章 为裸机 OpenShift Data Foundation 集群扩展存储
要扩展裸机集群中配置的 Red Hat OpenShift Data Foundation worker 节点的存储容量,您可以一次添加三个磁盘来提高容量。由于 OpenShift Data Foundation 使用副本数 3 来维持高可用性,因此需要三个磁盘。因此,消耗的存储量是可用空间的三倍。
当启用加密或使用副本 2 池时,可用空间可能会有所不同。
4.1. 扩展使用本地存储设备创建的集群 复制链接链接已复制到粘贴板!
要扩展使用本地存储设备创建的 OpenShift Data Foundation 集群,您需要向存储节点添加新磁盘。新磁盘大小必须与部署期间使用的磁盘大小相同,因为 OpenShift Data Foundation 不支持异构磁盘/OSD。
对于具有三个故障域的部署,您可以在 3 的倍数中添加磁盘来扩展存储,其数量与来自每个故障域中的节点的磁盘数量相同。例如,如果添加六个磁盘来扩展,则会从三个故障域中的每个域的节点中都获取两个磁盘。如果磁盘数量不是三的倍数,则它只消耗三倍数的磁盘,剩余磁盘将不会使用。
对于少于三个故障域的部署,可以灵活地添加任意数量的磁盘。确保启用了灵活的扩展。如需更多信息,请参阅知识库文章 Verify if flexible scaling is enabled。
灵活扩展功能会在部署时启用,之后无法启用或禁用。
先决条件
- OpenShift Container Platform 控制台的管理特权。
- 正在运行的 OpenShift Data Foundation 存储集群。
- 确保要用于扩展的磁盘已附加到存储节点
-
确保已创建
LocalVolumeDiscovery
和LocalVolumeSet
对象。
流程
要添加容量,您可以使用部署期间置备的存储类或与过滤器匹配的其它存储类。
-
在 OpenShift Web 控制台中,点 Operators
Installed Operators。 - 点 OpenShift Data Foundation Operator。
单击 Storage Systems 选项卡。
- 点击可见列表旁的 Action 菜单(⋮) 来扩展选项菜单。
- 从选项菜单中选择 Add Capacity。
- 根据您的要求,选择您添加磁盘或新存储类的存储类。显示的可用容量基于存储类中可用的本地磁盘。
- 点 Add。
-
要检查状态,进入 Storage
Data Foundation,并验证 Status 卡中的 Storage System 有一个绿色勾号。
验证步骤
验证 Raw Capacity 卡。
-
在 OpenShift Web 控制台中,点 Storage
Data Foundation。 - 在 Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
在 Block and File 选项卡中,检查 Raw Capacity 卡。
请注意,容量会根据您的选择而增加。
注意原始容量不考虑复制并显示完整容量。
-
在 OpenShift Web 控制台中,点 Storage
验证新 OSD 及其对应的新持久卷声明(PVC)已创建。
查看新创建的 OSD 的状态:
-
从 OpenShift Web 控制台点 Workloads
Pods。 从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
-
从 OpenShift Web 控制台点 Workloads
查看 PVC 的状态:
-
从 OpenShift Web 控制台点 Storage
Persistent Volume Claims。 从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
-
从 OpenShift Web 控制台点 Storage
可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。
识别运行新 OSD pod 的节点。
oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
$ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <OSD-pod-name>
是 OSD pod 的名称。
例如:
oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
$ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
NODE compute-1
NODE compute-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
对于上一步中确定的每个节点,请执行以下操作:
创建调试 pod,并为所选主机打开 chroot 环境。
oc debug node/<node-name>
$ oc debug node/<node-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <node-name>
是节点的名称。
chroot /host
$ chroot /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
检查
ocs-deviceset
名称旁边的crypt
关键字。lsblk
$ lsblk
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
只有在红帽支持团队帮助下,才支持集群缩减。