This topic describes the hardware requirements for a server, including the operating system, BIOS settings, disk mounting, network card settings, and software requirements.
Prepare the operating system
OAT/OCP operating systems
The following operating systems are supported for deploying OAT/OCP.
| Operating system | Supported version | Server type |
|---|---|---|
| RHEL (and compatible RockyLinux, CentOS) | 7.2 and later | x86_64/ARM aarch64 |
| Anolis (and compatible Alibaba Cloud Linux, Kylin V10, Unity Operating System (UOS), China Mobile BC-Linux, Nectus OS, and ZTE FD OS) | 8.4 and later | x86_64/ARM aarch64 |
| Debian (and compatible Ubuntu) | 11 and later | x86_64/ARM aarch64 |
| openSUSE | 12SP3 and later | x86_64/ARM aarch64 |
OceanBase Database operating systems
The following Linux operating systems are supported for installing OceanBase Database.
| Linux operating system | Version | Server architecture |
|---|---|---|
| Alibaba Cloud Linux | 2 | x86_64, ARM_64 |
| AnolisOS | 8.6 and later | x86_64 (including Hygon), ARM_64 (Kunpeng and Phytium) |
| KylinOS | V10 | x86_64 (including Hygon), ARM_64 (Kunpeng and Phytium) |
| UOS | V20 | x86_64 (including Hygon), ARM_64 (Kunpeng and Phytium) |
| NFSChina | 4.0 and later | x86_64 (including Hygon), ARM_64 (Kunpeng and Phytium) |
| Inspur KOS | 5.8 | x86_64 (including Hygon), ARM_64 (Kunpeng and Phytium) |
| CentOS / Red Hat Enterprise Linux | 7.x, 8.x | x86_64 (including Hygon), ARM_64 (Kunpeng and Phytium) |
| SUSE Enterprise Linux | 12SP3 and later | x86_64 (including Hygon) |
| Debian | 8.3 and later | x86_64 (including Hygon) |
| openEuler | 20.03 LTS SP1/SP2 | x86_64 (including Hygon), ARM_64 (Kunpeng and Phytium) |
| LinxOS | V6.0.99, V6.0.100 | x86_64 (including Hygon), ARM_64 (Kunpeng and Phytium) |
Note
- The operating system must be configured with a network connection and a software manager (yum or zypper).
- The server where OceanBase Database is deployed must be in little-endian mode.
- If a Hygon 7490 CPU is used, the operating system that has been recommended by the Hygon (Hygon) CPU vendor and that includes patch 4 must be installed.
BIOS settings for OceanBase Server
Special settings
In an Intel x86 environment:
We recommend that you modify the configuration file
/etc/sysctl.confand set thevm.swappinessparameter to0. The sample code is as follows:[root@xxx /] $vi /etc/sysctl.conf vm.swappiness = 0Apply the settings in the sysctl.conf file:
[root@xxx /] $sysctl -p
In an AMD or ARM environment, we recommend that you enable NUMA.
In an ARM and Tsinghua Siyuan environment, we recommend that you modify the configuration file
/etc/sysctl.confand 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 settings in the sysctl.conf file:
[root@xxx /] $sysctl -p
BIOS options to be disabled
Cstate
Pstate
EIST
Power saving
SMMU (ARM)
BIOS options to be enabled
Automatic Power on After Power Loss: Always on
Intel Virtualization Technology: Enabled
Hyper-threading: Enabled
Hardware prefetcher: Enabled
VT-d: Enabled
SR-IOV: Enabled
Turbo Mode: Enabled
Energy performance: Maximum performance
Note
BIOS settings vary across different servers. For more information, see the manual for your server.
Kernel parameter settings in OceanBase Database
| Parameter | Allowable value range | Recommended value | Description |
|---|---|---|---|
| vm.max_map_count | [327680, +∞) | 655360 | The maximum number of memory mapping areas that a process can have. |
| vm.min_free_kbytes | [32768, 2097152] | 2097152
NoticeIf the physical memory of the server where you deploy the observer process or arbitration service is less than or equal to 8 GB, we recommend that you keep the default value of the |
The minimum size of idle memory in kilobytes that the system reserves to prevent memory fragmentation. |
| vm.overcommit_memory | 0 | 0 | Controls the memory overallocation mechanism (Overcommit). It specifies whether to allow memory overallocation when the memory is insufficient. |
| fs.file-max | [6573688, +∞) | N/A | The maximum number of files that the system allows to be opened.
NoteThe |
| ulimit.open files |
|
|
The maximum number of file descriptors that a user can simultaneously open. |
| ulimit.max_user_processes |
|
|
The maximum number of processes that a user can create. |
| ulimit.core file size |
|
|
The maximum size of core dump files.
NoteThe |
| ulimit.stack |
|
|
The parameter that sets the size of the stack in the system. Generally, the stack size is a weak limit, and a size greater than 1M is sufficient. |
| current_clocksource | N/A | tsc | Displays the clock source used by the system. |
Disk mounting
The following table describes the disk mounting requirements for an OCP server.
Mount point Size Purpose Disk format /home 100 GB~300 GB Component runtime log disk We recommend using ext4 or xfs. /data/log1 3~4 times the size of memory OCP metadata log disk We recommend using ext4 or xfs. /data/1 Varies depending on the size of data to be stored OCP metadata data disk We recommend using ext4 or xfs. /docker 200 GB~500 GB Root directory of Docker We recommend using ext4 or xfs. The following table describes the disk mounting requirements for an OBServer node.
Mount point Size Purpose File system format /home 100 GB~300 GB observer process runtime log disk We recommend using ext4 or xfs. /data/log1 3~4 times the size of memory observer process log disk We recommend using ext4 or xfs. /data/1 Varies depending on the size of data to be stored observer process data disk We recommend using ext4 or xfs. Note
We recommend that you allocate at least 50 GB for the root directory. If you use LVM, we recommend that you specify the --stripe-count parameter when you create an LVM volume. Here is an example:
lvcreate -n data -L 3000G obvg --stripe-count=3 --stripe-size=128
Network interface card settings
We recommend that you configure two 10-GbE NICs:
- Name the bond interface bond0. You can choose mode1 or mode4 for NIC bonding. We recommend that you choose mode4. If you select mode4, configure the 802.3ad protocol on the switch.
- We recommend that you name the network interfaces eth0 and eth1.