更换 NFS 存储节点
基于主机或 Helm 安装时,Rainbond 在默认情况下会提供一个 NFS Provisioner,用做整个平台的共享存储和组件的存储。该存储数据默认保存在 nfs-provisioner-0 这个 Pod 所在节点的 /opt/rainbond/data/nfs 目录下。但是在一些场景下,这个 Pod 所调度的节点不一定 是集群中存储最大的节点。
本文将介绍如何将默认的 NFS 服务切换到其他大存储节点上。
注意
注意:更换 NFS 存储节点有风险,请做好数据备份。在更换节点的过程中,有可能会出现业务不可用的情况,请选择合适时间更换。
操作原理
整体操作原理如下图所示,下面的 Node 1 是默认 NFS 运行的节点。Node 2 是要迁移的节点。操作步骤主要分为以下三步:
-
存储数据迁移:默认情况下,内置的 NFS 服务会将数据保存到 nfs-provisioner-0 这个 Pod 所在节点的 /opt/rainbond/data/nfs 目录下,所以需要将该目录下的业务数据复制一份到你即将要切换的存储节点上。
-
PVC、PV 迁移:数据复制完毕后,我们需要创建新的 PVC 和 PV 进行绑定,并将其指向新节点 Node 2 的数据目录。
-
StatefulSet 迁移:PVC 和 PV 重新创建后,需要让 StatefulSet 迁移到新节点 Node 2 上。