ocp修改zone属性

很奇怪,为什么我这里显示是已经修改完的,但是ocp的metadb存储的元数据没有修改到!

不应该啊

1 个赞

OCP是哪个版本?这个OB集群是哪个版本?

show variables like '%version_comment%'
1 个赞

ocp:4.3.5
ob:4.2.1.8

mysql> show variables like '%version_comment%';
+-----------------+------------------------------------------------------------------------------------------------------------------+
| Variable_name   | Value                                                                                                            |
+-----------------+------------------------------------------------------------------------------------------------------------------+
| version_comment | OceanBase_CE 4.2.1.8 (r108000022024072217-3149c25ca2dadbb7707686ad02a1367b1b43e0b5) (Built Jul 23 2024 02:01:58) |
+-----------------+------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
1 个赞

这个zone1 zone2 zone3 是OCP的metadb集群吗?你这里是要往这些zone里面添加机器?

1 个赞

metadb的集群zone1 zone2 zone3
如下:

metadb 部署后就没有动过

业务集群:
修改过region和idc属性,如下:

但是ocp看到的如下:

在向业务集群添加observer的时候报错,zone1显示有2个observer,但是其中一个状态有问题。

这两个是同一个业务集群?

是的

region和idc 都不对,是接管过来的?接管正常吗?业务集群是什么版本?

都是4.2.1.8
ocp和metadb是用obd web部署的

业务集群的observer和odp都是用ocp管理的

业务集群是OCP直接部署的?部署后就idc和region 就喝OCP上展示的不一致吗?

是的,手动在命令窗口 alter system修改后,展示不一致

修改之前一致吗,是黑屏在业务集群修改了 idc=idc1,region=HANGZHOU 吗?

没有黑屏修改之前,估计是一致的,都是默认的

mysql> select * from oceanbase.dba_ob_zones;
+-------+----------------------------+----------------------------+--------+------+----------+-----------+
| ZONE  | CREATE_TIME                | MODIFY_TIME                | STATUS | IDC  | REGION   | TYPE      |
+-------+----------------------------+----------------------------+--------+------+----------+-----------+
| zone1 | 2025-07-11 16:45:32.610645 | 2025-07-19 22:32:42.072684 | ACTIVE | idc1 | HANGZHOU | ReadWrite |
| zone2 | 2025-07-11 16:45:32.611700 | 2025-07-19 22:32:51.766659 | ACTIVE | idc2 | HANGZHOU | ReadWrite |
| zone3 | 2025-07-11 16:45:32.611700 | 2025-07-21 18:34:53.372976 | ACTIVE | idc3 | HANGZHOU | ReadWrite |
+-------+----------------------------+----------------------------+--------+------+----------+-----------+
3 rows in set (0.00 sec)

mysql> alter system modify zone "zone2" idc=idc1;
Query OK, 0 rows affected (0.01 sec)

mysql> alter system modify zone "zone3" idc=idc1;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from oceanbase.dba_ob_zones;
+-------+----------------------------+----------------------------+--------+------+----------+-----------+
| ZONE  | CREATE_TIME                | MODIFY_TIME                | STATUS | IDC  | REGION   | TYPE      |
+-------+----------------------------+----------------------------+--------+------+----------+-----------+
| zone1 | 2025-07-11 16:45:32.610645 | 2025-07-19 22:32:42.072684 | ACTIVE | idc1 | HANGZHOU | ReadWrite |
| zone2 | 2025-07-11 16:45:32.611700 | 2025-07-22 09:32:52.408101 | ACTIVE | idc1 | HANGZHOU | ReadWrite |
| zone3 | 2025-07-11 16:45:32.611700 | 2025-07-22 09:32:57.479488 | ACTIVE | idc1 | HANGZHOU | ReadWrite |
+-------+----------------------------+----------------------------+--------+------+----------+-----------+
3 rows in set (0.00 sec)

都是以这种方式修改的

黑屏改确实会造成不一致,这个查询下

– 查询 OCP metadb 维护的 IDC 和 Region 信息

SELECT r.`name` AS region, i.`name` AS idc 
 FROM compute_region r JOIN compute_idc i 
 ON r.id=i.region_id;
mysql> use meta_database;
Database changed
mysql> SELECT r.`name` AS region, i.`name` AS idc 
    ->  FROM compute_region r JOIN compute_idc i 
    ->  ON r.id=i.region_id;
+---------------+-------------+
| region        | idc         |
+---------------+-------------+
| deault_region | default_idc |
+---------------+-------------+
1 row in set (0.00 sec)

mysql> select * from compute_region;
+----+-----------------+---------------------+---------------------+-------------+
| id | name            | create_time         | update_time         | description |
+----+-----------------+---------------------+---------------------+-------------+
|  1 | OCP_META_REGION | 2025-07-11 12:17:44 | 2025-07-11 12:17:44 | NULL        |
|  2 | deault_region   | 2025-07-11 12:23:18 | 2025-07-11 12:23:18 | NULL        |
+----+-----------------+---------------------+---------------------+-------------+
2 rows in set (0.00 sec)

mysql> select * from compute_idc;
+----+-------------+-------------+---------------------+---------------------+-----------+
| id | name        | description | create_time         | update_time         | region_id |
+----+-------------+-------------+---------------------+---------------------+-----------+
|  1 | default_idc | NULL        | 2025-07-11 12:23:18 | 2025-07-11 12:23:18 |         2 |
+----+-------------+-------------+---------------------+---------------------+-----------+
1 row in set (0.00 sec)

mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into compute_region(id,name,create_time,update_time,description) values(3,'HANGZHOU',now(),now(),NULL);
Query OK, 1 row affected (0.01 sec)

mysql> select * from compute_region;
+----+-----------------+---------------------+---------------------+-------------+
| id | name            | create_time         | update_time         | description |
+----+-----------------+---------------------+---------------------+-------------+
|  1 | OCP_META_REGION | 2025-07-11 12:17:44 | 2025-07-11 12:17:44 | NULL        |
|  2 | deault_region   | 2025-07-11 12:23:18 | 2025-07-11 12:23:18 | NULL        |
|  3 | HANGZHOU        | 2025-07-25 11:50:20 | 2025-07-25 11:50:20 | NULL        |
+----+-----------------+---------------------+---------------------+-------------+
3 rows in set (0.00 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from compute_idc;
+----+-------------+-------------+---------------------+---------------------+-----------+
| id | name        | description | create_time         | update_time         | region_id |
+----+-------------+-------------+---------------------+---------------------+-----------+
|  1 | default_idc | NULL        | 2025-07-11 12:23:18 | 2025-07-11 12:23:18 |         2 |
+----+-------------+-------------+---------------------+---------------------+-----------+
1 row in set (0.01 sec)

mysql> insert into compute_idc(id,name,create_time,update_time,region_id) values(2,'idc1',now(),now(),3);
Query OK, 1 row affected (0.00 sec)

mysql> select * from compute_idc;
+----+-------------+-------------+---------------------+---------------------+-----------+
| id | name        | description | create_time         | update_time         | region_id |
+----+-------------+-------------+---------------------+---------------------+-----------+
|  1 | default_idc | NULL        | 2025-07-11 12:23:18 | 2025-07-11 12:23:18 |         2 |
|  2 | idc1        | NULL        | 2025-07-25 11:51:30 | 2025-07-25 11:51:30 |         3 |
+----+-------------+-------------+---------------------+---------------------+-----------+
2 rows in set (0.00 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

看来只能update compute_host表了

新增 Region
insert into compute_region (`name`, `description`) values ('HANGZHOU', 'HANGZHOU region');
新增 IDC
insert into compute_idc (`name`, `description`, `region_id`) select 'idc1', 'idc1 idc', id from compute_region where name='HANGZHOU';

打卡!

update ob_zone set idc_id = (select id from compute_idc where name ='idc1') where name in ('zone1','zone2','zone3') and cluster_id= ocp上的clusterid;

update compute_host set idc_id = (select id from compute_idc where name='idc1') where inner_ip_address in (ips of the hosts);

搞定,谢谢