From a9796c634b82888ab2f9e6a9f9cda2a43c7b722b Mon Sep 17 00:00:00 2001 From: yangj1211 Date: Mon, 25 Nov 2024 15:44:41 +0800 Subject: [PATCH 1/2] Support changing cacheVolume of cn and dn after mo is deployed --- .../deploy-MatrixOne-cluster-with-k8.md | 39 +++++++++++++++++++ .../deploy-MatrixOne-cluster-without-k8.md | 39 +++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-with-k8.md b/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-with-k8.md index 63262a46e9..4cd71d0af7 100644 --- a/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-with-k8.md +++ b/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-with-k8.md @@ -499,6 +499,45 @@ NS="mo" kubectl get pod -n "${NS}" -owide # 等待状态为 Running ``` +### 动态扩容 + +Operator 支持 TN、CN 的 cacheVolume 配置动态扩容,不支持缩容操作,扩容过程前后,CN、TN pod 无需重启。具体步骤如下: + +1. 确保 StorageClass 支持卷扩展功能 + + ```bash + #获取 storageclass 信息 + >kubectl get storageclass ${SC_NAME} -oyaml #SC_NAME 是 mo 集群使用的 pvc 的 sc 类型 + + #查看名为 cbs-hssd 的 StorageClass 对象的 YAML 配置,确保 StorageClass 支持卷扩展功能 + >kubectl get storageclass cbs-hssd -oyaml | grep allowVolumeExpansion + allowVolumeExpansion: true + ``` + +2. 进入集群配置编辑模式: + + ```bash + kubectl edit mo -n ${MO_NS} ${MO_NAME} # 其中 MO_NS 为部署 MO 集群的命名空间,MO_NAME 为 MO 集群的名称;例如 MO_NS=matrixone; MO_NAME=mo_cluster + ``` + +3. 按需修改 tn 和 cn 的 cacheVolume 的 size 大小。 + + ```bash + - cacheVolume: + size: 900Gi + ``` + + 然后保存并退出:按 esq 键,和:wq + +4. 查看扩容结果 + + ```bash + + >kubectl get pvc -n ${MO_NS} + + >kubectl get pv + ``` + ## 连接 MatrixOne 集群 为了连接 MatrixOne 集群,您需要将对应服务的端口映射到 MatrixOne 节点上。以下是使用 `kubectl port-forward` 连接 MatrixOne 集群的指导: diff --git a/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-without-k8.md b/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-without-k8.md index dd3bf6680f..e98b6856f2 100644 --- a/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-without-k8.md +++ b/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-without-k8.md @@ -688,6 +688,45 @@ __Note:__ 本章节均是在 master0 节点操作。 mo-tp-cn-0 1/1 Running 0 50s ``` +### 动态扩容 + +Operator 支持 TN、CN 的 cacheVolume 配置动态扩容,不支持缩容操作,扩容过程前后,CN、TN pod 无需重启。具体步骤如下: + +1. 确保 StorageClass 支持卷扩展功能 + + ```bash + #获取 storageclass 信息 + >kubectl get storageclass ${SC_NAME} -oyaml #SC_NAME 是 mo 集群使用的 pvc 的 sc 类型 + + #查看名为 cbs-hssd 的 StorageClass 对象的 YAML 配置,确保 StorageClass 支持卷扩展功能 + >kubectl get storageclass cbs-hssd -oyaml | grep allowVolumeExpansion + allowVolumeExpansion: true + ``` + +2. 进入集群配置编辑模式: + + ```bash + kubectl edit mo -n ${MO_NS} ${MO_NAME} # 其中 MO_NS 为部署 MO 集群的命名空间,MO_NAME 为 MO 集群的名称;例如 MO_NS=matrixone; MO_NAME=mo_cluster + ``` + +3. 按需修改 tn 和 cn 的 cacheVolume 的 size 大小。 + + ```bash + - cacheVolume: + size: 900Gi + ``` + + 然后保存并退出:按 esq 键,和:wq + +4. 查看扩容结果 + + ```bash + + >kubectl get pvc -n ${MO_NS} + + >kubectl get pv + ``` + ## 6. 连接 MatrixOne 集群 为了连接 MatrixOne 集群,您需要将对应服务的端口映射到 MatrixOne 节点上。以下是使用 `kubectl port-forward` 连接 MatrixOne 集群的指导: From 05f65f7724e9a813d1b457e07af59fc831590aa6 Mon Sep 17 00:00:00 2001 From: yangj1211 Date: Mon, 25 Nov 2024 16:22:21 +0800 Subject: [PATCH 2/2] fix --- .../deploy-MatrixOne-cluster-with-k8.md | 24 +++++++++++-------- .../deploy-MatrixOne-cluster-without-k8.md | 24 +++++++++++-------- 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-with-k8.md b/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-with-k8.md index 4cd71d0af7..f93bd3665e 100644 --- a/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-with-k8.md +++ b/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-with-k8.md @@ -506,36 +506,40 @@ Operator 支持 TN、CN 的 cacheVolume 配置动态扩容,不支持缩容操 1. 确保 StorageClass 支持卷扩展功能 ```bash - #获取 storageclass 信息 - >kubectl get storageclass ${SC_NAME} -oyaml #SC_NAME 是 mo 集群使用的 pvc 的 sc 类型 + #查看 storageclass 名称 + >kubectl get pvc -n ${MO_NS} - #查看名为 cbs-hssd 的 StorageClass 对象的 YAML 配置,确保 StorageClass 支持卷扩展功能 - >kubectl get storageclass cbs-hssd -oyaml | grep allowVolumeExpansion - allowVolumeExpansion: true + #查看 StorageClass 是否支持卷扩展功能 + >kubectl get storageclass ${SC_NAME} -oyaml | grep allowVolumeExpansion #SC_NAME 是 mo 集群使用的 pvc 的 sc 类型 + allowVolumeExpansion: true #只有为 true 时,才可以执行后续步骤 ``` -2. 进入集群配置编辑模式: +2. 进入集群配置编辑模式 ```bash kubectl edit mo -n ${MO_NS} ${MO_NAME} # 其中 MO_NS 为部署 MO 集群的命名空间,MO_NAME 为 MO 集群的名称;例如 MO_NS=matrixone; MO_NAME=mo_cluster ``` -3. 按需修改 tn 和 cn 的 cacheVolume 的 size 大小。 +3. 按需修改 tn 和 cn 的 cacheVolume 的 size 大小 ```bash - cacheVolume: size: 900Gi ``` - 然后保存并退出:按 esq 键,和:wq + - 如果为 CN group,则修改 spec.cnGroups[0]. cacheVolume(或 spec.cnGroups[1]. cacheVolume,其中 [n] 中的 n 为 CN Group 的数组下标); + - 如果为 CN,则修改 spec.tp.cacheVolume; + - 如果为 TN,则修改 spec.tn.cacheVolume(或 spec.dn.cacheVolume)。 + + 然后保存并退出:按 `esq` 键,和 `:wq` 4. 查看扩容结果 ```bash - + #`CAPACITY`字段值为扩容后数值 >kubectl get pvc -n ${MO_NS} - >kubectl get pv + >kubectl get pv | grep ${NS} ``` ## 连接 MatrixOne 集群 diff --git a/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-without-k8.md b/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-without-k8.md index e98b6856f2..34c83bc241 100644 --- a/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-without-k8.md +++ b/docs/MatrixOne/Deploy/deploy-Matrixone-cluster/deploy-MatrixOne-cluster-without-k8.md @@ -695,36 +695,40 @@ Operator 支持 TN、CN 的 cacheVolume 配置动态扩容,不支持缩容操 1. 确保 StorageClass 支持卷扩展功能 ```bash - #获取 storageclass 信息 - >kubectl get storageclass ${SC_NAME} -oyaml #SC_NAME 是 mo 集群使用的 pvc 的 sc 类型 + #查看 storageclass 名称 + >kubectl get pvc -n ${MO_NS} - #查看名为 cbs-hssd 的 StorageClass 对象的 YAML 配置,确保 StorageClass 支持卷扩展功能 - >kubectl get storageclass cbs-hssd -oyaml | grep allowVolumeExpansion - allowVolumeExpansion: true + #查看 StorageClass 是否支持卷扩展功能 + >kubectl get storageclass ${SC_NAME} -oyaml | grep allowVolumeExpansion #SC_NAME 是 mo 集群使用的 pvc 的 sc 类型 + allowVolumeExpansion: true #只有为 true 时,才可以执行后续步骤 ``` -2. 进入集群配置编辑模式: +2. 进入集群配置编辑模式 ```bash kubectl edit mo -n ${MO_NS} ${MO_NAME} # 其中 MO_NS 为部署 MO 集群的命名空间,MO_NAME 为 MO 集群的名称;例如 MO_NS=matrixone; MO_NAME=mo_cluster ``` -3. 按需修改 tn 和 cn 的 cacheVolume 的 size 大小。 +3. 按需修改 tn 和 cn 的 cacheVolume 的 size 大小 ```bash - cacheVolume: size: 900Gi ``` - 然后保存并退出:按 esq 键,和:wq + - 如果为 CN group,则修改 spec.cnGroups[0]. cacheVolume(或 spec.cnGroups[1]. cacheVolume,其中 [n] 中的 n 为 CN Group 的数组下标); + - 如果为 CN,则修改 spec.tp.cacheVolume; + - 如果为 TN,则修改 spec.tn.cacheVolume(或 spec.dn.cacheVolume)。 + + 然后保存并退出:按 `esq` 键,和 `:wq` 4. 查看扩容结果 ```bash - + #`CAPACITY`字段值为扩容后数值 >kubectl get pvc -n ${MO_NS} - >kubectl get pv + >kubectl get pv | grep ${NS} ``` ## 6. 连接 MatrixOne 集群