This topic describes the hardware and software configuration requirements for servers, including the operating system, BIOS settings, disk mounting, and NIC settings.
Prepare operating systems
Operating systems for OAT and OCP
The following table lists the operating systems that support OceanBase Admin Toolkit (OAT) and OceanBase Cloud Platform (OCP).
| Operating system | Supported version | Server architecture |
|---|---|---|
| Red Hat Enterprise Linux (RHEL) and its compatible operating systems such as Rocky Linux and CentOS | 7.2 and later | x86_64 or ARM aarch64 |
| Anolis and its compatible operating systems such as Alibaba Cloud Linux, Kylin V10, Unity Operating System (UOS), BC-Linux of China Mobile, Linx OS, and NFSChina | 8.4 and later | x86_64 or ARM aarch64 |
| Debian and its compatible operating systems such as Ubuntu | 11 and later | x86_64 or ARM aarch64 |
| openSUSE | 12SP3 and later | x86_64 or ARM aarch64 |
Operating systems for OceanBase Database
The following table lists the Linux distributions supported for OceanBase Database.
| Linux distribution | Version | Server architecture |
|---|---|---|
| Alibaba Cloud Linux | 2 | x86_64 or ARM64 |
| Anolis OS | 8.6 and later | x86_64 (including Hygon) or ARM64 (Kunpeng and Phytium) |
| KylinOS | V10 | x86_64 (including Hygon) or ARM64 (Kunpeng and Phytium) |
| Unity Operating System (UOS) | V20 | x86_64 (including Hygon) or ARM64 (Kunpeng and Phytium) |
| NFSChina | 4.0 and later | x86_64 (including Hygon) or ARM64 (Kunpeng and Phytium) |
| Inspur KOS | 5.8 | x86_64 (including Hygon) or ARM64 (Kunpeng and Phytium) |
| CentOS/Red Hat Enterprise Linux | 7.x and 8.x | x86_64 (including Hygon) or ARM64 (Kunpeng and Phytium) |
| SUSE Enterprise Linux | 12 SP3 and later | x86_64 (including Hygon) |
| Debian | 8.3 and later | x86_64 (including Hygon) |
| openEuler | 20.03 LTS SP1/SP2 and 22.10 LTS | x86_64 (including Hygon) or ARM64 (Kunpeng and Phytium) |
| LinxOS | V6.0.99 and V6.0.100 | x86_64 (including Hygon) or ARM64 (Kunpeng and Phytium) |
Note
Before you use a Linux distribution, configure the network and install a package manager such as YUM or Zypper first.
Configure BIOS for OceanBase Database
Special settings
In the Intel x86 architecture, we recommend that you:
Disable non-uniform memory access (NUMA).
Run the following command to set
vm.swappinessto0in thesysctl.confconfiguration file in the/etc/directory.[root@xxx /] $vi /etc/sysctl.conf vm.swappiness = 0Apply the values configured in the
sysctl.confconfiguration file:[root@xxx /] $sysctl -p
In the AMD or Arm architecture, we recommend that you enable NUMA.
In the Arm or Hygon architecture, we recommend that you modify the
sysctl.confconfiguration file in the/etc/directory and set thekernel.numa_balancing,vm.zone_reclaim_mode, andvm.swappinessparameters to0. The sample code is as follows:[root@xxx /] $vi /etc/sysctl.conf kernel.numa_balancing = 0 vm.zone_reclaim_mode = 0 vm.swappiness = 0Apply the values configured in the
sysctl.confconfiguration file:[root@xxx /] $sysctl -p
BIOS options to be disabled
Cstate
Pstate
EIST
Power saving
BIOS options to be configured
Automatic Power on After Power Loss: Always on
Intel Virtualization Technology: Enable
Hyper-Threading: Enable
Hardware prefetcher: Enable
VT-d: Enable
SR-IOV: Enable
Turbo Mode: Enable
Energy/Performance Bias: Maximum Performance
Note
The method for modifying BIOS settings varies depending on servers. Refer to the operation manual of your server for specific steps.
Set kernel parameters of OBServer hosts
| Parameter | Value range | Recommend value | Description |
|---|---|---|---|
| vm.max_map_count | [327680, +∞) | 655360 | The maximum number of memory map areas available for a process. |
| vm.min_free_kbytes | [32768, 2097152] | 2097152
NoticeWe recommend that you use the default value of this parameter when the server has 8 GB of physical memory or less, for example, when you deploy the observer process or arbitration service on a low-spec server. |
The minimum size of idle memory space reserved by the system to avoid memory fragmentation. |
| vm.overcommit_memory | 0 | 0 | The memory overcommitment mechanism, which specifies whether to allow memory overcommitment when the memory resources are insufficient. |
| fs.file-max | [6573688, +∞) | N/A | The maximum number of files that can be opened in the system.
Note
|
| ulimit.open files |
|
|
The maximum number of file descriptors that can be opened at the same time for a user. |
| ulimit.max_user_processes |
|
|
The maximum number of processes that can be created by a user. |
| ulimit.core file size |
|
|
The maximum size of a core dump file.
NoteIn strict and loose check modes, if the parameter value is not within the value range, a warning will be generated. |
| ulimit.stack |
|
|
The size of stacks in the system, which is generally set by using the ulimit command. Generally, the stack size limit is a weak limit, and a size greater than 1 MB is sufficient. |
| current_clocksource | N/A | tsc | The clock source used by the system. |
Mount disks
Mounting point requirements of an OCP server
Mounting point Size Description Disk format /home 100 GB to 300 GB The operation log disk of the components. Ext4 or XFS is recommended. /data/log1 3 to 4 times the memory size The log disk of the OCP MetaDB. Ext4 or XFS is recommended. /data/1 Depends on the size of data to be stored The data disk of the OCP MetaDB. Ext4 or XFS is recommended. /docker 200 GB to 500 GB The docker root directory. Ext4 or XFS is recommended. Mounting point requirements of an OBServer node
Mounting point Size Description File system format /home 100 GB to 300 GB The operation log disk of the observer process. Ext4 or XFS is recommended. /data/log1 3 to 4 times the memory size The log disk of the observer process. Ext4 or XFS is recommended. /data/1 Depends on the size of data to be stored The data disk of the observer process. Ext4 or XFS is recommended. Note
We recommend that you allocate at least 50 GB for a root directory. If you use Logical Volume Manager (LVM), we recommend that you specify the stripe parameters during the creation of directories. Here is an example:
lvcreate -n data -L 3000G obvg --stripes=3 --stripesize=128
Configure your NICs
We recommend that you configure two 10 Gbit/s NICs for optimal performance.
- You can name the bond mode as
bond0and choosemode1ormode4.mode4is recommended. If you usemode4, you must configure 802.3ad for the switch. - We recommend that you name the NICs as
eth0andeth1.