扩展存储
在 OpenShift Data Foundation 中扩展操作的说明
摘要
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息。
对红帽文档提供反馈
我们感谢您对文档提供反馈信息。请告诉我们如何让它更好。提供反馈:
关于特定内容的简单评论:
- 请确定您使用 Multi-page HTML 格式查看文档。另外,确定 Feedback 按钮出现在文档页的右上方。
- 用鼠标指针高亮显示您想评论的文本部分。
- 点在高亮文本上弹出的 Add Feedback。
- 按照显示的步骤操作。
要提交更复杂的反馈,请创建一个 Bugzilla ticket:
- 进入 Bugzilla 网站。
- 在 Component 部分中,选择 文档。
- 在 Description 中输入您要提供的信息。包括文档相关部分的链接。
- 点 Submit Bug。
前言
要扩展内部模式 OpenShift Data Foundation 的存储容量,您可以执行以下操作之一:
- 扩展存储节点 - 为现有 Red Hat OpenShift Data Foundation 节点添加存储容量
- 扩展存储节点 - 添加包含存储容量的新 worker 节点
有关以外部模式扩展存储的信息,请参阅 Red Hat Ceph Storage 文档。
第 1 章 扩展存储节点的要求
在继续扩展存储节点前,请参考以下部分以了解特定 Red Hat OpenShift Data Foundation 实例的节点要求:
始终确保您有大量的存储容量。
如果存储完全填满,则无法添加容量、删除内容或从存储中迁移内容以完全释放空间。完全存储很难恢复。
当集群存储容量达到总容量的 75%(接近满)和 85%(满)时,会发出容量警报。始终及时处理容量警告的信息,并定期检查您的存储以确保您不会耗尽存储空间。
如果您完全耗尽存储空间,请联系 红帽客户支持。
1.1. Red Hat OpenShift Data Foundation 支持的部署
用户置备的基础架构:
- Amazon Web Services (AWS)
- VMware
- 裸机
- IBM Power
- IBM Z 或 LinuxONE
安装程序置备的基础架构:
- Amazon Web Services (AWS)
- Microsoft Azure
- Red Hat Virtualization
- VMware
第 2 章 扩展存储容量
根据部署的类型,您可以选择以下步骤之一来扩展存储容量。
- 对于 AWS、VMware、Red Hat Virtualization 或 Azure 基础架构,使用动态或自动置备存储设备,请参阅 第 2.2 节 “通过向 OpenShift Data Foundation 节点添加容量来扩展存储”。
- 有关裸机、VMware 或者使用本地存储设备的 Red Hat Virtualization 基础架构,请参阅 第 2.3 节 “使用本地存储设备为 OpenShift Data Foundation 节点添加容量来扩展存储”。
- 有关使用本地存储设备的 IBM Z 或 LinuxONE 基础架构,请参考 第 2.4 节 “通过在 IBM Z 或 LinuxONE 基础架构上为您的 OpenShift Data Foundation 节点添加容量来扩展存储”。
- 有关使用本地存储设备的 IBM Power,请参阅 第 2.5 节 “通过使用本地存储设备为 IBM Power 基础架构上的 OpenShift Data Foundation 节点添加容量来扩展存储”。
如果要使用部署期间置备的存储类进行扩展,还必须在扩展前定义额外的存储类。详情请参阅创建存储类。
OpenShift Data Foundation 不支持异构 OSD 大小。
2.1. 创建存储类
您可以定义一个新的存储类来动态置备现有供应商的存储。
先决条件
- 管理员访问 OpenShift Web 控制台.
流程
- 登录 OpenShift Web 控制台。
- 点 Storage → StorageClasses。
点 Create Storage Class。
- 输入存储类 Name 和 Description。
- 选择所需的 Reclaim Policy 和 Provisioner。
- 点 Create 创建存储类。
验证步骤
- 点 Storage → StorageClasses,验证您可以看到新的存储类。
2.2. 通过向 OpenShift Data Foundation 节点添加容量来扩展存储
您可以在以下基础架构上配置的 Red Hat OpenShift Data Foundation worker 节点中添加存储容量和性能:
- AWS
- VMware vSphere
- Red Hat Virtualization
- Microsoft Azure
先决条件
- 正在运行的 OpenShift Data Foundation 平台。
- OpenShift Web 控制台的管理特权。
- 要使用部署期间置备的存储类之外的存储类进行扩展,首先定义一个额外的存储类。详情请参阅创建存储类。
流程
- 登录 OpenShift Web 控制台。
- 点 Operators → Installed Operators。
- 点 OpenShift Data Foundation Operator。
单击 Storage Systems 选项卡。
- 点击存储系统名称最右侧的 Action Menu(⋮) 来扩展选项菜单。
- 从选项菜单中选择 Add Capacity。
选择 Storage Class。
如果您使用部署期间生成的默认存储类,在 AWS 上将存储类设置为
gp2
或gp3
,在 VMware 上设置为thin
,在 Red Hat Virtualization 上设置为ovirt-csi-sc
,在 Microsoft Azure 上设置为managed_premium
。如果您已创建了其他存储类,请选择适当的选项。注意OpenShift Data Foundation 版本 4.10 现在支持 AWS 引入的 gp2 和 gp3 CSI 驱动程序。这些驱动程序提供改进的存储扩展功能(gp2 CSI 与 gp2 in-tree),并降低了每月的价格点(gp3)。如果需要高吞吐量,则建议在部署 OpenShift Data Foundation 时使用 gp3。
重要将非默认存储类用于您的供应商是一个技术预览功能。
技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
如需更多信息,请参阅技术预览功能支持范围。
Raw Capacity 字段显示在存储类创建过程中设置的大小。所消耗的存储总量是这个大小的三倍,因为 OpenShift Data Foundation 使用的副本数为 3。
- 点击 Add。
-
要检查状态,请进入 Storage → Data Foundation,并验证 Status 卡中的
Storage System
有一个绿色勾号。
验证步骤
验证 Raw Capacity 卡。
- 在 OpenShift Web 控制台中,点 Storage → Data Foundation。
- 在 Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
在 Block and File 选项卡中,检查 Raw Capacity 卡。
请注意,容量会根据您的选择而增加。
注意原始容量不考虑复制并显示完整容量。
验证新 OSD 及其对应的新持久卷声明(PVC)已创建。
查看新创建的 OSD 的状态:
- 从 OpenShift Web 控制台点 Workloads → Pods。
从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
查看 PVC 的状态:
- 从 OpenShift Web 控制台点 Storage → Persistent Volume Claims。
从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。
识别运行新 OSD pod 的节点。
$ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
<OSD-pod-name>
是 OSD pod 的名称。
例如:
oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
对于上一步中确定的每个节点,请执行以下操作:
创建调试 pod,并为所选主机打开 chroot 环境。
$ oc debug node/<node-name>
<node-name>
是节点的名称。
$ chroot /host
检查
ocs-deviceset
名称旁边的crypt
关键字。$ lsblk
只有在 红帽支持团队帮助下,才支持集群 缩减。
2.3. 使用本地存储设备为 OpenShift Data Foundation 节点添加容量来扩展存储
您可以在以下基础架构上将存储容量(额外存储设备)添加到基于 OpenShift Data Foundation worker 节点配置的本地存储中:
- 裸机
- VMware
- Red Hat Virtualization
先决条件
- 您必须登录到 OpenShift Container Platform 集群。
您必须已安装本地存储 Operator。使用以下任何适用于您的基础架构的步骤:
- 您必须有三个存储类型和大小相同的 OpenShift Container Platform worker 节点(例如,2TB NVMe 驱动器),与原始 OpenShift Data Foundation StorageCluster 创建时相同。
流程
要添加容量,您可以使用部署期间置备的存储类或与过滤器匹配的其它存储类。
- 在 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 卡。
请注意,容量会根据您的选择而增加。
注意原始容量不考虑复制并显示完整容量。
验证新 OSD 及其对应的新持久卷声明(PVC)已创建。
查看新创建的 OSD 的状态:
- 从 OpenShift Web 控制台点 Workloads → Pods。
从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
查看 PVC 的状态:
- 从 OpenShift Web 控制台点 Storage → Persistent Volume Claims。
从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。
识别运行新 OSD pod 的节点。
$ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
<OSD-pod-name>
是 OSD pod 的名称。
例如:
oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
对于上一步中确定的每个节点,请执行以下操作:
创建调试 pod,并为所选主机打开 chroot 环境。
$ oc debug node/<node-name>
<node-name>
是节点的名称。
$ chroot /host
检查
ocs-deviceset
名称旁边的crypt
关键字。$ lsblk
只有在 红帽支持团队帮助下,才支持集群 缩减。
2.4. 通过在 IBM Z 或 LinuxONE 基础架构上为您的 OpenShift Data Foundation 节点添加容量来扩展存储
您可以为配置的 Red Hat OpenShift Data Foundation worker 节点添加存储容量和性能。
先决条件
- 正在运行的 OpenShift Data Foundation 平台。
- OpenShift Web 控制台的管理特权。
- 要使用部署期间置备的存储类之外的存储类进行扩展,首先定义一个额外的存储类。详情请参阅创建存储类。
流程
使用 zFCP 磁盘添加额外的硬件资源。
列出所有磁盘。
$ lszdev
输出示例:
TYPE ID ON PERS NAMES zfcp-host 0.0.8204 yes yes zfcp-lun 0.0.8204:0x102107630b1b5060:0x4001402900000000 yes no sda sg0 zfcp-lun 0.0.8204:0x500407630c0b50a4:0x3002b03000000000 yes yes sdb sg1 qeth 0.0.bdd0:0.0.bdd1:0.0.bdd2 yes no encbdd0 generic-ccw 0.0.0009 yes no
SCSI 磁盘以
zfcp-lun
表示,其结构为<device-id>:<wwpn>:<lun-id>
。第一个磁盘用于操作系统。新磁盘的设备 ID 可以相同。附加一个新的 SCSI 磁盘。
$ chzdev -e 0.0.8204:0x400506630b1b50a4:0x3001301a00000000
注意新磁盘的设备 ID 必须与要替换的磁盘相同。新磁盘通过其 WWPN 和 LUN ID 进行标识。
列出所有 FCP 设备以验证新磁盘是否已配置。
$ lszdev zfcp-lun TYPE ID ON PERS NAMES zfcp-lun 0.0.8204:0x102107630b1b5060:0x4001402900000000 yes no sda sg0 zfcp-lun 0.0.8204:0x500507630b1b50a4:0x4001302a00000000 yes yes sdb sg1 zfcp-lun 0.0.8204:0x400506630b1b50a4:0x3001301a00000000 yes yes sdc sg2
- 导航到 OpenShift Web 控制台。
- 单击左侧导航栏中的 Operators。
- 选择 Installed Operators。
- 在窗口中点 OpenShift Data Foundation Operator。
在顶部导航栏中,向右滚动并单击 Storage Systems 选项卡。
- 点击可见列表旁的 Action 菜单(⋮) 来扩展选项菜单。
从选项菜单中选择 Add Capacity。
Raw Capacity 字段显示在存储类创建过程中设置的大小。所消耗的存储总量是这个大小的三倍,因为 OpenShift Data Foundation 使用的副本数为 3。
- 点击 Add。
- 要检查状态,请进入 Storage → Data Foundation,并验证 Status 卡中的 Storage System 有一个绿色勾号。
验证步骤
验证 Raw Capacity 卡。
- 在 OpenShift Web 控制台中,点 Storage → Data Foundation。
- 在 Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
在 Block and File 选项卡中,检查 Raw Capacity 卡。
请注意,容量会根据您的选择而增加。
注意原始容量不考虑复制并显示完整容量。
验证新 OSD 及其对应的新持久卷声明(PVC)已创建。
查看新创建的 OSD 的状态:
- 从 OpenShift Web 控制台点 Workloads → Pods。
从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
查看 PVC 的状态:
- 从 OpenShift Web 控制台点 Storage → Persistent Volume Claims。
从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。
识别运行新 OSD pod 的节点。
$ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
<OSD-pod-name>
是 OSD pod 的名称。
例如:
oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
对于上一步中确定的每个节点,请执行以下操作:
创建调试 pod,并为所选主机打开 chroot 环境。
$ oc debug node/<node-name>
<node-name>
是节点的名称。
$ chroot /host
检查
ocs-deviceset
名称旁边的crypt
关键字。$ lsblk
只有在 红帽支持团队帮助下,才支持集群 缩减。
2.5. 通过使用本地存储设备为 IBM Power 基础架构上的 OpenShift Data Foundation 节点添加容量来扩展存储
您可以将存储容量(额外存储设备)添加到 IBM Power 基础架构上基于 OpenShift Data Foundation worker 节点配置的本地存储中。
先决条件
- 您必须登录到 OpenShift Container Platform 集群。
您必须已安装本地存储 Operator。使用以下步骤:
- 您必须有三个存储类型和大小相同的 OpenShift Container Platform worker 节点(例如,0.5TB SSD),与原始 OpenShift Data Foundation StorageCluster 创建时相同。
流程
要为 OpenShift Container Platform 节点添加安装 OpenShift Data Foundation 的存储容量,您需要
找到您要添加的可用设备,即每个 worker 节点最少一个设备。您可以按照相关部署指南中查找可用存储设备的步骤进行操作。
注意确保您为要为其添加存储的所有现有节点(最小 3 个)执行此流程。
在
LocalVolume
自定义资源(CR)中添加额外的磁盘。$ oc edit -n openshift-local-storage localvolume localblock
输出示例:
spec: logLevel: Normal managementState: Managed nodeSelector: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - worker-0 - worker-1 - worker-2 storageClassDevices: - devicePaths: - /dev/sda - /dev/sdx # newly added device storageClassName: localblock volumeMode: Block
确保在编辑 CR 后保存更改。
输出示例:
localvolume.local.storage.openshift.io/localblock edited
您可以在此 CR 中看到添加新设备。
-
sdx
-
显示新创建的持久性卷 (PV),带有
localVolume
CR 中使用的storageclass
名称。$ oc get pv | grep localblock | grep Available
输出示例:
local-pv-a04ffd8 500Gi RWO Delete Available localblock 24s local-pv-a0ca996b 500Gi RWO Delete Available localblock 23s local-pv-c171754a 500Gi RWO Delete Available localblock 23s
- 导航到 OpenShift Web 控制台。
- 单击左侧导航栏中的 Operators。
- 选择 Installed Operators。
- 在窗口中点 OpenShift Data Foundation Operator。
在顶部导航栏中,向右滚动并单击 Storage System 选项卡。
- 点击可见列表旁的 Action 菜单(⋮) 来扩展选项菜单。
从选项菜单中选择 Add Capacity。
在此对话框中,将 Storage Class 名称设置为
localVolume
CR 中使用的名称。显示的可用容量基于存储类中可用的本地磁盘。- 点击 Add。
- 要检查状态,请进入 Storage → Data Foundation,并验证 Status 卡中的 Storage System 有一个绿色勾号。
验证步骤
验证可用的容量。
- 在 OpenShift Web 控制台中,点 Storage → Data Foundation。
-
点 Storage Systems 选项卡,然后点
ocs-storagecluster-storagesystem
。 导航到 Overview → Block and File 选项卡,然后检查 Raw Capacity 卡。
请注意,容量会根据您的选择而增加。
注意原始容量不考虑复制并显示完整容量。
验证新 OSD 及其对应的新持久卷声明(PVC)已创建。
查看新创建的 OSD 的状态:
- 从 OpenShift Web 控制台点 Workloads → Pods。
从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
查看 PVC 的状态:
- 从 OpenShift Web 控制台点 Storage → Persistent Volume Claims。
从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。
识别运行新 OSD pod 的节点。
$ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
<OSD-pod-name>
是 OSD pod 的名称。
例如:
oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
对于上一步中确定的每个节点,请执行以下操作:
创建调试 pod,并为所选主机打开 chroot 环境。
$ oc debug node/<node-name>
<node-name>
是节点的名称。
$ chroot /host
检查
ocs-deviceset
名称旁边的crypt
关键字。$ lsblk
只有在 红帽支持团队帮助下,才支持集群 缩减。
第 3 章 横向扩展存储容量
要扩展存储容量,您需要执行以下步骤:
- 添加新节点。
- 验证新节点是否已成功添加。
- 向上扩展存储容量。
OpenShift Data Foundation 不支持异构 OSD 大小。
3.1. 添加节点
您可以在现有工作程序节点已以其最大支持 OSD 运行时添加节点来增加存储容量,即增加初始配置期间所选容量的 3 个 OSD。
根据部署类型,您可以选择以下步骤之一来添加存储节点:
- 对于 AWS、Azure 或 Red Hat Virtualization 安装程序置备的基础架构,请参阅在安装程序置备的基础架构中添加节点。
- 对于 AWS 或 VMware 用户置备的基础架构,请参阅在用户置备的基础架构中添加节点。
- 对于裸机、IBM Z 或 LinuxONE、VMware 或 Red Hat Virtualization 基础架构,请参阅使用本地存储设备添加节点。
- 对于 IBM Power,请参阅在 IBM Power 中使用本地存储设备添加节点。
3.1.1. 在安装程序置备的基础架构中添加节点
您可以在以下安装程序置备的基础架构中添加节点:
- AWS
- Azure
- Red Hat Virtualization
- VMware
先决条件
- 您必须登录到 OpenShift Container Platform 集群。
流程
- 导航到 Compute → Machine Sets。
在您要添加节点的机器集中,选择 Edit Machine Count。
- 添加节点数量,然后点 Save。
- 点 Compute → Nodes 并确认新节点是否处于 Ready 状态。
将 OpenShift 数据基础标签应用到新节点。
- 对于新节点,点击 Action 菜单(⋮) → Edit Labels。
- 添加 cluster.ocs.openshift.io/openshift-storage,然后点 Save。
建议您添加 3 个节点,每个节点都位于不同的区中。您必须添加 3 个节点,并对所有节点执行此步骤。
验证步骤
- 要验证是否已添加新节点,请参阅验证添加新节点。
3.1.2. 在用户置备的基础架构中添加节点
您可以在 AWS 或 VMware 用户置备的基础架构中添加节点。
先决条件
- 您必须登录到 OpenShift Container Platform 集群。
流程
根据您在 AWS 中添加节点还是 VMware 用户置备的基础架构,执行以下步骤:
检查与处于
Pending
状态的 OpenShift Data Foundation 相关的证书签名请求 (CSR):$ oc get csr
批准新节点所需的所有 OpenShift Data Foundation CSR。
$ oc adm certificate approve <Certificate_Name>
<Certificate_Name>
- 是 CSR 的名称。
- 点 Compute → Nodes,确认新节点是否处于 Ready 状态。
使用以下任一方法之一将 OpenShift Data Foundation 标签应用到新节点:
- 从用户界面
- 对于新节点,点击 Action Menu(⋮) → Edit Labels。
-
添加
cluster.ocs.openshift.io/openshift-storage
,然后点 Save。
- 使用命令行界面
将 OpenShift 数据基础标签应用到新节点。
$ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
<new_node_name>
- 是新节点的名称。
建议您添加 3 个节点,每个节点都位于不同的区中。您必须添加 3 个节点,并对所有节点执行此步骤。
验证步骤
- 要验证是否已添加新节点,请参阅验证添加新节点。
3.1.3. 使用本地存储设备添加节点
您可以在以下内容中添加节点:
- 裸机
- IBM Z 或 LinuxONE
- VMware
- Red Hat Virtualization
先决条件
- 您必须登录到 OpenShift Container Platform 集群。
- 您必须有三个存储类型和大小相同的 OpenShift Container Platform worker 节点(例如,2TB SSD 或 2TB NVMe 驱动器),与原始 OpenShift Data Foundation StorageCluster 创建时相同。
流程
根据基础架构类型,执行以下步骤:
对于 VMware:
- 使用所需基础架构在 vSphere 上创建新虚拟机。请参阅平台要求。
- 使用新虚拟机创建新的 OpenShift Container Platform worker 节点。
Red Hat Virtualization:
- 使用所需基础架构在 Red Hat Virtualization 上创建新虚拟机。请参阅 平台要求。
- 使用新虚拟机创建新的 OpenShift Container Platform worker 节点。
对于裸机:
- 获取具有所需基础架构的新裸机计算机。请参阅 平台要求。
- 使用新的裸机机器创建新的 OpenShift Container Platform 节点。
对于 IBM Z 或 LinuxONE:
- 获取具有所需基础架构的新 IBM Z 或 LinuxONE 机器。请参阅 平台要求。
- 使用新的 IBM Z 或 LinuxONE 机器创建一个新的 OpenShift Container Platform 节点。
检查与处于
Pending
状态的 OpenShift Data Foundation 相关的证书签名请求 (CSR):$ oc get csr
批准新节点所需的所有 OpenShift Data Foundation CSR。
$ oc adm certificate approve <Certificate_Name>
<Certificate_Name>
- 是 CSR 的名称。
- 点 Compute → Nodes,确认新节点是否处于 Ready 状态。
使用以下任一方法之一将 OpenShift Data Foundation 标签应用到新节点:
- 从用户界面
- 对于新节点,点击 Action Menu(⋮) → Edit Labels。
-
添加
cluster.ocs.openshift.io/openshift-storage
,然后点 Save。
- 使用命令行界面
将 OpenShift 数据基础标签应用到新节点。
$ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
<new_node_name>
- 是新节点的名称。
从 OpenShift Web 控制台中点 Operators → Installed Operators。
从 Project 下拉菜单中选择安装 Local Storage Operator 的项目。
- 点 Local Storage。
点 Local Volume Discovery 选项卡。
-
在
LocalVolumeDiscovery
旁边,点 Action 菜单 (⋮) → Edit Local Volume Discovery。 -
在 YAML 中,将新节点的主机名添加到节点选择器下的
values
字段中。 - 点击 Save。
-
在
点 Local Volume Sets 选项卡。
-
在
LocalVolumeSet
旁边,点 Action 菜单 (⋮) → Edit Local Volume Set。 在 YAML 中,将新节点的主机名添加到
节点选择器
下的values
字段中。图 3.1. 显示添加新主机名的 YAML
- 点击 Save。
-
在
建议您添加 3 个节点,每个节点都位于不同的区中。您必须添加 3 个节点,并对所有节点执行此步骤。
验证步骤
- 要验证是否已添加新节点,请参阅验证添加新节点。
3.1.4. 使用 IBM Power 中的本地存储设备添加节点
先决条件
- 您必须登录到 OpenShift Container Platform 集群。
- 您必须有三个存储类型和大小相同的 OpenShift Container Platform worker 节点(例如,2TB SSD 驱动器),与原始 OpenShift Data Foundation StorageCluster 创建时相同。
流程
- 使用所需基础架构获取新的 IBM Power 机器。请参阅平台要求。
使用新的 IBM Power 机器创建新的 OpenShift Container Platform 节点。
检查与处于
Pending
状态的 OpenShift Data Foundation 相关的证书签名请求 (CSR):$ oc get csr
批准新节点所需的所有 OpenShift Data Foundation CSR。
$ oc adm certificate approve <Certificate_Name>
<Certificate_Name>
- 是 CSR 的名称。
- 点 Compute → Nodes,确认新节点是否处于 Ready 状态。
使用以下任一方法之一将 OpenShift Data Foundation 标签应用到新节点:
- 从用户界面
- 对于新节点,点击 Action Menu(⋮) → Edit Labels。
-
添加
cluster.ocs.openshift.io/openshift-storage
并点 Save。
- 使用命令行界面
将 OpenShift 数据基础标签应用到新节点。
$ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
<new_node_name>
- 是新节点的名称。
从 OpenShift Web 控制台中点 Operators → Installed Operators。
从 Project 下拉菜单中选择安装 Local Storage Operator 的项目。
- 点 Local Storage。
点本地卷选项卡。
-
在
LocalVolume
旁边,点 Action 菜单 (⋮) → Edit Local Volume。 在 YAML 中,将新节点的主机名添加到
节点选择器
下的values
字段中。图 3.2. 显示添加新主机名的 YAML
- 点击 Save。
-
在
建议您添加 3 个节点,每个节点都位于不同的区中。您必须添加 3 个节点,并对所有节点执行此步骤。
验证步骤
- 要验证是否已添加新节点,请参阅验证添加新节点。
3.1.5. 验证新节点的添加
执行以下命令并验证输出中是否存在新节点:
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
点 Workloads → Pods,确认新节点上的以下 pod 处于 Running 状态 :
-
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
3.2. 为新添加的节点添加容量
若要为新添加的节点添加容量,可使用 Add Capacity
选项扩展具有 3 个 OSD 的存储集群,或者使用新的灵活扩展功能,允许您在启用时将存储集群扩展至任意数量的 OSD。
3.2.1. 使用 Add Capacity 选项添加 3 个 OSD 的容量
若要在用户界面中使用 Add Capacity 选项为动态和本地存储添加 3 个 OSD 的容量,请参阅通过添加容量来扩展存储。Add Capacity 选项可用于启用了灵活扩展功能的存储集群。
3.2.2. 使用 YAML 添加容量
启用灵活扩展后,您可以使用 YAML(而不是默认的 3 OSD)一次添加 1 个或多个 OSD 的容量。但是,您需要确保以集群保持平衡的方式添加磁盘。
仅支持内部附加存储集群创建模式才支持灵活扩展。
要启用灵活的扩展,请创建一个具有 3 个节点且少于 3 个可用区的集群。OpenShift Web 控制台检测到分布在 3 个可用区的 3 个节点,并启用灵活的扩展。
您无法在创建存储集群后启用或禁用灵活的扩展功能。
3.2.2.1. 验证是否启用了灵活的扩展
流程
在 Web 控制台中,点击 Home → Search。
-
在搜索字段中输入
StorageCluster
。 -
点
ocs-storagecluster
。 在 YAML 选项卡中,在
spec
部分搜索键flexibleScaling
,在status
部分搜索failureDomain
。如果
flexible scaling
为 true,failureDomain
被设置为 host,则启用灵活的扩展功能。spec: flexibleScaling: true […] status: failureDomain: host
-
在搜索字段中输入
3.2.2.2. 在 1 个 OSD 的倍数中使用 YAML 添加容量
要通过 YAML 灵活地将 OSD 添加到存储集群中,请执行以下步骤:
先决条件
- 管理员访问 OpenShift Container Platform Web 控制台。
- 启用灵活扩展的存储集群。
- 其他可用于添加容量的磁盘。
流程
在 OpenShift Web 控制台中,点击 Home → Search。
-
在搜索字段中搜索
ocs-storagecluster
,然后点击搜索结果中的ocs-storagecluster
。 - 点击您要扩展的存储集群旁边的操作菜单 (⋮)。
- 点 Edit Storage Cluster。您将被重定向到 YAML。
-
在搜索字段中搜索
-
在 YAML 中,搜索关键字
count
。此计数参数可向上扩展容量。 将数量增加到您要添加到集群的 OSD 数量。
重要根据可用磁盘的数量,确保 YAML 中的
count
参数递增,同时确保以集群保持平衡的方式添加磁盘。- 点击 Save。
您可能需要等待一两分钟,存储集群才会到达 Ready
状态。
验证步骤
验证 Raw Capacity 卡。
- 在 OpenShift Web 控制台中,点 Storage → Data Foundation。
- 在 Overview 选项卡的 Status 卡中,点 Storage System,然后点弹出框中的存储系统链接。
在 Block and File 选项卡中,检查 Raw Capacity 卡。
请注意,容量会根据您的选择而增加。
注意原始容量不考虑复制并显示完整容量。
验证新 OSD 及其对应的新持久卷声明(PVC)已创建。
查看新创建的 OSD 的状态:
- 从 OpenShift Web 控制台点 Workloads → Pods。
从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
查看 PVC 的状态:
- 从 OpenShift Web 控制台点 Storage → Persistent Volume Claims。
从 Project 下拉列表中选择
openshift-storage
。注意如果禁用 Show default projects 选项,请使用切换按钮列出所有默认项目。
可选:如果在集群中启用了集群范围的加密,请验证新 OSD 设备是否已加密。
识别运行新 OSD pod 的节点。
$ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
<OSD-pod-name>
是 OSD pod 的名称。
例如:
oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
对于上一步中确定的每个节点,请执行以下操作:
创建调试 pod,并为所选主机打开 chroot 环境。
$ oc debug node/<node name>
<node name>
是节点的名称。
$ chroot /host
检查
ocs-deviceset
名称旁边的crypt
关键字。$ lsblk
只有在 红帽支持团队帮助下,才支持集群 缩减。