最近几天安装部署了社区版的observer集群和ocp4.0.0,感觉某些参数会影响ocp和observer的安装与纳管
我总结了下个人的安装部署过程出现的问题,具体如下:
(1)安装环境
机器环境:
1、observer集群:使用三台4核16G内存50G存储的服务器。
2、ocp:采用单机安装,服务器配置为8核32G内存。
(2)、安装过程的问题
我个人是先安装的observer集群+单节点obproxy,然后再安装了一个ocp纳管这个observer集群。在调测过程中,主要发现几个问题:
1、observer部署的过程中主要出现了如下几个问题:
-
内存参数配置,我测试机的内存为4核和16G内存,第一次部署使用了默认的memory_limit和system_memory,导致部署过程中出现内存不足的问题,后参考社区信息调整了memory_limit和system_memory内存参数,内存不足的问题就解决了。
-
存储不足的问题,安装过程中采用了默认的datafile_size和log_disk_size,导致安装出现磁盘空间不足问题,又重新设置了以上两个参数,分别为20G,但还是提示磁盘空间不足,最后设置为18G和15G才没有报错。感觉是安装过程中还需要冗余10G左右的空间才能确保磁盘空间足够。
-
observer ping lo环回接口问题:部署过程中,没有设置devname,导致出现在lo端口ping observer失败。这问题在ocp的过程中也出现了,需要通过配置参数devname来解决。
-
生产环境下observer集群需要16G以上内存安装问题,这个需要配置production_mode参数,才能解决。
-
用户问题:安装过程中,我开始使用了oceanbase用户来部署observer,虽然部署成功,但是OCP接管observer集群的时候,提示没有正确使用admin用户安装observer集群,无法纳管。
-
配置obproxy_sys_password导致出现“OBProxy proxyro 用户密码与 OCP 设置不相同.”,无法被OCP托管问题。
-
在observer服务器的/tmp缓存文件夹保存有以前的ocp_agent 安装包,导致无法正常安装ocp_agent
经过几次尝试,最后通过以下配置参数正常部署observer集群,并被ocp正常纳管:
user:
username: admin
password: xxxxxx
oceanbase-ce:
servers:
- name: server1
ip: 100.98.1.xxx
- name: server2
ip: 100.98.1.xxx
- name: server3
ip: 100.98.1.xxx
global:
production_mode: false
devname: ens192
cluster_id: 100
memory_limit: 8G
system_memory: 2G
datafile_size: 18G
log_disk_size: 15G
cpu_count: 4
syslog_level: INFO
enable_syslog_wf: false
enable_syslog_recycle: true
max_syslog_file_count: 4
appname: obcluster
observer_sys_password, can be empty
server1:
mysql_port: 2881
rpc_port: 2882
home_path: /data01/oceanbase/observer
data_dir: /oceanbase/data
redo_dir: /oceanbase/redo
zone: zone1
server2:
mysql_port: 2881
rpc_port: 2882
home_path: /home/admin/observer
data_dir: /oceanbase/data
redo_dir: /oceanbase/redo
zone: zone2
server3:
mysql_port: 2881
rpc_port: 2882
home_path: /home/admin/observer
data_dir: /oceanbase/data
redo_dir: /oceanbase/redo
zone: zone3
obproxy-ce:
depends:
- oceanbase-ce
servers:
- 100.98.1.xxx
global:
listen_port: 2883
prometheus_listen_port: 2884
home_path: /home/admin/obproxy
enable_cluster_checkout: false
skip_proxy_sys_private_check: true
enable_strict_kernel_release: false
2、ocp部署的过程中主要出现了如下几个问题:
-
安装方法问题:我当时从官网上离线下载了ocp包,认为执行ocp安装与部署ocp应用的服务器应该是在同一台机器上的操作,验证测试后发现ocp安装的机器需要与ocp应用机器分离才能远程ssh部署,否则本机容器到本机基本都是失败的。
-
部署OCP应用的服务器需要提前安装好docker,并且docker可执行文件需要放置在/user/bin目录下,否则ocp部署的时候会提示无法找到docker的命令(我个人采用的是binary方式安装docker到指定目录,并且配置环境变量)。
-
OCP的内存参数调整:我这里主要列举几个参数,以上几个内存参数刚好适配32G内存的服务器,如果monitor配置了4核8G会提示内存不足问题。
meta:
tenant: meta_tenant
user: meta_user
password: xxx
database: meta_database
cpu: 2
memory: 4
monitor:
tenant: monitor_tenant
user: monitor_user
password: xxx
database: monitor_database
cpu: 2
memory: 4
ocp:
name: 'ocp'
process:
port: 8080
log_dir: /tmp/ocp/log
servers:
- 100.98.1.xxx
resource:
cpu: 4
memory: 8
3、ocp纳管observer的问题:
-
除了如1点所述的几个问题外,就是第一次没有正常纳管observer,会导致无法删除未完成接管的集群。
-
配置observer_sys_password和obproxy_sys_password导致出现“OBProxy proxyro 用户密码与 OCP 设置不相同.”,即使我使用正确的密码,observer也无法被OCP托管问题。最后我删除了observer,重新创建observer后,observer_sys_password和obproxy_sys_password均不设置,再通过命令重置root密码后:ALTER USER root@’%’ IDENTIFIED BY ‘xxxx’; 得以成功纳管observer集群
-
纳管observer的集群过程,install ocp agent过程中,出现1台机正常安装,另外2台不正常,但是ocp agent在observer集群上已正常启动了。最后通过设置为成功,通过了ocp的纳管。
OCP纳管observer后,功能是比较强大的,有点像阿里云上的RDS数据库监控,为运维人员提供了比较好的监控管理界面。但是ocp的部署比较占用资源,有点点资源浪费啊。