This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.1.6. 将 etcd 移动到不同的磁盘
您可以将 etcd 从共享磁盘移到独立磁盘,以防止或解决性能问题。
先决条件
-
MachineConfigPool
必须与metadata.labels[machineconfiguration.openshift.io/role]
匹配。这适用于控制器、worker 或自定义池。 -
节点的辅助存储设备(如
/dev/sdb
)必须与 sdb 匹配。在文件中的所有位置更改此引用。
注意
这个过程不会将 root 文件系统的部分内容(如 /var/
)移到已安装节点上的另一个磁盘或分区。
Machine Config Operator (MCO) 负责为 OpenShift Container Platform 4.9 容器存储挂载辅助磁盘。
使用以下步骤将 etcd 移到不同的设备中:
流程
创建名为
etcd-mc.yml
的MachineConfig
YAML 文件并添加以下信息:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建机器配置:
oc login -u ${ADMIN} -p ${ADMINPASSWORD} ${API}
$ oc login -u ${ADMIN} -p ${ADMINPASSWORD} ${API} ... output omitted ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f etcd-mc.yml
$ oc create -f etcd-mc.yml machineconfig.machineconfiguration.openshift.io/98-var-lib-etcd created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc login -u ${ADMIN} -p ${ADMINPASSWORD} ${API}
$ oc login -u ${ADMIN} -p ${ADMINPASSWORD} ${API} [... output omitted ...]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f etcd-mc.yml machineconfig.machineconfiguration.openshift.io/98-var-lib-etcd created
$ oc create -f etcd-mc.yml machineconfig.machineconfiguration.openshift.io/98-var-lib-etcd created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 节点已更新并重启。重启完成后,会出现以下事件:
- XFS 文件系统是在指定磁盘中创建的。
-
磁盘挂载到
/var/lib/etc
。 -
来自
/sysroot/ostree/deploy/rhcos/var/lib/etcd
的内容同步到/var/lib/etcd
。 -
对于
/var/lib/etcd
,强制恢复SELinux
标签。 - 旧内容不会被删除。
节点位于独立磁盘后,使用以下信息更新机器配置文件
etcd-mc.yml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令应用删除创建和同步设备的逻辑的修改版本:
oc replace -f etcd-mc.yml
$ oc replace -f etcd-mc.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上一步可防止节点重新引导。