Why is OAT inaccessible after the server is initialized?
Cause: By default, the OAT container is started in docker bridge mode. In this mode, the value of the net.ipv4.ip_forward parameter must be 1. If you set the server usage to observer when you initialize the server where OAT is installed, OAT sets this parameter to 0 and therefore becomes inaccessible. Solution: Set sysctl -w net.ipv4.ip_forward=1 to temporarily enable forwarding. We recommend that you s start OAT in docker host mode to avoid this problem. The default listening ports of OAT are ports 7000 and 3306. Before you start OAT in docker host mode, make sure that no conflicting services are running on the server.
Why does OAT respond to network requests slowly?
Symptom: OAT is deployed in good network conditions, for example, in an intranet, but web pages are refreshed slowly, and the network connection is unstable. Cause: The net.ipv4.tcp_tw_recycle parameter is set improperly. When network address translation (NAT) occurs in the access link, some TCP SYN packets are discarded. Solution: Set sysctl -w net.ipv4.tcp_tw_recycle=0 and disable the tcp_tw_recycle parameter.
Why does the OAT upgrade fail?
Symptom: During an OAT upgrade, the OAT container of the later version exits soon. The output of the docker logs <name of the new OAT container> command shows that the built-in MariaDB does not start properly. Cause: When you run the docker stop <name of the original OAT container> command to stop the OAT container of the earlier version, MaraiDB in the container can be forcibly killed, causing a failure of the instance. If MariaDB in the new OAT container is of a later version, OAT fails to start. You can view details in the mariadb.log file stored in the db/ directory of OAT. Solution: Use the image of the earlier version to pull up OAT. Go to the container and run the pkill mysqld command to shut down MaraiDB. Then, perform the upgrade again.
Where can I find log files of OAT?
When you start OAT, you must mount a data directory for storing persistent data of OAT. You can run the docker inspect <oat container name> -f '{{.Mounts}}' command to view the path of the data directory. OAT log files are in the logs folder under this directory. server.std records logs of web services and scheduler.std records logs of the internal task scheduler.
How can I set a VIP address when I create NLB or OBLB?
High-availability VIP addresses for NLB and OBLB are implemented based on the keepalive mechanism. First, make sure that the VIP address to be used is idle, to avoid conflicts with host IP addresses on the network. Then, make sure that the VIP address is in the same CIDR block as the IP address of the server where the service is deployed. For example, if you deploy NLB or OBLB on three servers with the IP addresses xxx.xxx.x.101/xx, xxx.xxx.x.102/xx, and xxx.xxx.x.103/xx, you can set the VIP addresses to idle IP addresses ranging from xxx.xxx.x.1/xx to xxx.xxx.x.7/xx.
How can I configure load balancing when I deploy OCP and other products?
When you deploy OCP and other products in high-availability mode, two IP addresses are usually required for load balancing:
- Layer 7 HTTP proxy: The backend is the web service port of OCP on multiple servers. Session retention must be enabled for load balancing. In this way, you can directly use the browser to access OCP or some processes can use the service interface provided by OCP.
- Layer 4 TCP proxy: The backend is the service port (
2883by default) of the MetaDB on multiple servers. If you use NLB or OBDNS as the load balancer, you do not need to specify the layer 4 proxy. The configuration will be automatically completed during the deployment of OCP. When you deploy OMS, you must set an additional layer 7 proxy of HTTP in each region as thecm_urlfor accessing the CM service in OMS. The backend port is port 8088 for the CM service on multiple servers in the region.
When I take over a component or a product, an error occurs, indicating that information about a container with the specified container name cannot be obtained. Why does this error occur?
OAT can take over only component or product containers with standard container names. If the contain name is invalid, you must modify it. Log on to the server where the component or product to be taken over is installed through CLI, run the docker rename <old container name> <new container name> command to modify the container name, and then initiate a takeover request again.
Why does the following error occur when I take over a component or product: container cpu or memory has no limit value?
This error occurs because you did not limit the CPU or memory resources of the component or product container when you started it. You can log on to the server where the component or product is installed through CLI, set limits for its CPU and memory resources, and then initiate a takeover request again. For example, when you take over InfluxDB, you can run the following command to limit its CPU and memory resources:
docker update --cpu-quota 400000 --memory 8G --memory-swap 8G influxdb
Why does the following error occur when I take over MetaDB: KeyError: 'OBPROXY_OPTSTR'?
OAT can take over only MetaDB with built-in ODP. If MetaDB does not have built-in ODP, you must upgrade it to a version with built-in ODP before you take over it.