主机数据盘扩容
约束限制
- 主机状态为“初始化完成”、“待纳管”或者“使用中”。
- 新增的数据盘需要和主机上原有数据盘的磁盘IO类型一致。
- 如果主机上有沙箱类型的实例,则需将数据盘扩容到/var/chroot/var/lib/engine/data*路径下。如果主机上有非沙箱类型的实例,则需将数据盘扩容到当前数据目录。
cat /dbs/om-agent/agent_*/common/public_cloud.conf | grep dataDir
回显值dataDir如果以/var/chroot为开头则表示为沙箱类型,否则表示非沙箱类型。
- 实例下的所有节点需要同时进行数据盘扩容,并且扩容的大小要保持一致,如果不一致可能会影响实例及相关功能的正常使用。
操作步骤
- 登录云数据库GaussDB管理平台(TPOPS)。
- 查询主机列表,查看需要更新数据盘大小的主机,记录主机ID为{hostId},并记录主机状态和存储类型。如果主机状态为使用中,则记录节点ID为{nodeId}。
- 以root用户登录云数据库GaussDB管理平台(TPOPS)主节点。
- 执行以下命令,连接core库。
gsql -p 8635 -U core -W {password} -q core -h 127.0.0.1
其中{password}为core库连接密码。
- 执行如下命令,更新主机数据盘大小。
UPDATE CORE.DBS_HOST_STATIC_INFO SET DATA_DISK={dataDisk} WHERE HOST_ID={hostId};
其中{dataDisk}为主机数据盘大小,单位GB。以“存储类型”为“本地SSD盘”的主机新增数据盘vdc进行扩容为例,扩容前数据盘大小为300GB,扩容后数据盘大小为400GB。
![]()
如果主机“存储类型”为“闪存存储”,则主机数据盘大小为“磁盘挂载要求”中4个挂载路径的文件系统大小之和。
- 如果主机状态为“使用中”,“存储类型”为“本地SSD盘”,计算并更新节点磁盘大小。
- 执行如下命令,计算节点磁盘大小,记录为{data}。
SELECT ROUND(({dataDisk}*0.95-SUM(v1.SIZE_IN_BYTES)/1000000000)/(SELECT COUNT(*) FROM DBS_VOLUME v2 JOIN DBS_PARENTSHIP p2 ON v2.ID=p2.ENTITY_ID WHERE p2.PARENT_ENTITY_ID = {nodeId} AND p2.ENTITY_TYPE_TAG = 'vo' AND v2.PURPOSE = 'DATA')/40, 0)*40*1000000000 AS RESULT FROM DBS_PARENTSHIP p1 LEFT JOIN DBS_VOLUME v1 ON p1.ENTITY_ID = v1.ID AND v1.PURPOSE in ('ETCD', 'BACKUP') WHERE p1.PARENT_ENTITY_ID = {nodeId} AND p1.ENTITY_TYPE_TAG = 'vo';
- 执行如下命令,更新节点磁盘大小。
UPDATE DBS_VOLUME SET UPDATED_AT=NOW(), SIZE_IN_BYTES={data} WHERE ID in (SELECT ID FROM DBS_VOLUME WHERE ID IN (SELECT ENTITY_ID FROM DBS_PARENTSHIP WHERE PARENT_ENTITY_ID = {nodeId} AND ENTITY_TYPE_TAG = 'vo') AND PURPOSE = 'DATA');
- 执行如下命令,计算节点磁盘大小,记录为{data}。
- 如果主机状态为“使用中”,“存储类型”为“闪存存储”,执行如下命令,更新节点磁盘大小。
UPDATE DBS_VOLUME SET UPDATED_AT=NOW(), SIZE_IN_BYTES= ROUND({data}/1024/1024*1000000000, 0) WHERE ID in (SELECT ID FROM DBS_VOLUME WHERE ID IN (SELECT ENTITY_ID FROM DBS_PARENTSHIP WHERE PARENT_ENTITY_ID = {nodeId} AND ENTITY_TYPE_TAG = 'vo') AND PURPOSE = 'DATA');
其中{data}为“存储类型”为“闪存存储”的主机根据“磁盘挂载要求”操作时的数据挂载路径的文件系统大小,单位为KB。
以数据挂载gaussdbvg-mydata1为例,可执行 df 命令读取数据挂载路径的文件系统大小,如下图所示,红色方框即为数据挂载路径的文件系统大小。
![]()
- 执行\q命令,退出core库。
- 登录云数据库GaussDB管理平台(TPOPS)。
- 查询主机列表,查看主机的数据盘大小是否更新。如果没有更新,请检查步骤5执行是否成功。
- 如果主机状态为使用中,查看主机上实例的存储空间大小是否更新。如果没有更新,请检查步骤6或者步骤7执行是否成功。


浙公网安备 33010602011771号