TIL: GBase Database(GBase 8c) — Four Pre-Installation Checks That Cloud VMs Often Fail
GBase Database(GBase 8c) performs 18 environment checks through gha_preinstall -i A, covering everything from operating system compatibility to system configuration.
Most engineers focus on familiar checks such as OS versions, software dependencies, and SELinux. But when deploying GBase Database on cloud virtual machines, four less obvious checks deserve particular attention:
- A5: Swap configuration
- A7: System resource limits
- A10: I/O scheduler
- A14: Transparent Huge Pages (THP)
These checks are easy to overlook because the default Linux configuration often appears perfectly reasonable. Unfortunately, a reasonable default is not necessarily a database-ready configuration.
1. Why These Four Linux Checks Matter
Cloud virtual machines are commonly provisioned from the same operating system image.
That means three hosts in a GBase Database cluster may inherit exactly the same configuration problems.
Typical examples include:
| Check | Common Default | What to Verify |
|---|---|---|
| A5: Swap | Swap enabled | Swap should be empty or disabled |
| A7: Limits | ulimit -n = 1024 | File and process limits must meet database requirements |
| A10: I/O Scheduler | mq-deadline | Data disk should use deadline |
| A14: THP | always | Transparent Huge Pages should be set to never |
The problem is not necessarily an isolated misconfiguration. It can be a shared mistake replicated across every VM created from the same template.
2. Four Linux Commands to Check Before GBase Database Installation
You do not need a complicated diagnostic script to identify these four issues.
Run the following commands on every host:
# A5: Check swap swapon --show # A7: Check resource limits ulimit -n ulimit -u # A10: Check I/O scheduler cat /sys/block/sda/queue/scheduler # A14: Check Transparent Huge Pages cat /sys/kernel/mm/transparent_hugepage/enabled These commands provide a quick overview of the Linux environment before GBase Database installation begins.
A5: Check Swap Configuration
Run:
swapon --show If the command returns no entries, no active swap devices or files are currently configured.
For the target GBase Database deployment, verify that swap is disabled or empty according to the applicable installation requirements.
Do not assume that a newly provisioned cloud VM has the correct swap configuration.
A7: Check Linux Resource Limits
Run:
ulimit -n ulimit -u The first command displays the current shell's open-file limit. The second displays its maximum user-process limit.
A common problem is that ulimit -n remains at the default value of 1024.
Check both values against the requirements of the GBase Database version being deployed.
There is also an important detail: the limits of your interactive login shell may differ from those inherited by a systemd-managed service.
A successful check in your terminal does not automatically prove that the database service will receive the same limits.
A10: Check the I/O Scheduler
Run:
cat /sys/block/sda/queue/scheduler A cloud VM may show:
none [mq-deadline] The value inside square brackets is the scheduler currently in effect.
For the deployment scenario described here, the data disk should use deadline.
Also verify the actual device name. Do not assume that every environment uses /dev/sda as its data disk.
A14: Check Transparent Huge Pages
Run:
cat /sys/kernel/mm/transparent_hugepage/enabled A typical output might look like:
[always] madvise never Or:
always madvise [never] These represent opposite configurations.
The square brackets identify the currently active setting. For the target GBase Database environment, THP should be set to never.
Simply searching the output for the word never is not sufficient. Always inspect the brackets.
3. Why gha_preinstall -i B Does Not Fix These Problems
Another common misunderstanding concerns the relationship between environment verification and environment repair.
GBase Database provides:
gha_preinstall -i A For the 18 pre-installation checks.
It also provides:
gha_preinstall -i B For environment repair.
However, the repair operation covers two specific items:
- B1: Firewall
- B2: SELinux
It does not automatically correct swap configuration, resource limits, I/O scheduler settings, or THP.
These are system-level configuration decisions. They must be reviewed and changed through the appropriate operating-system configuration procedures.
Running the repair command should never be treated as a substitute for checking all 18 environment requirements.
4. Add These Four Checks to Your Linux Provisioning Template
My preferred approach is to move these checks earlier in the deployment workflow.
Instead of waiting until the GBase Database installer reports an Abnormal result, include the four commands in the Linux VM provisioning template.
For every host:
- Check swap configuration.
- Verify file and process limits.
- Confirm the I/O scheduler on the actual data disk.
- Read the active THP setting from the kernel interface.
- Save the command output in the deployment record.
When multiple hosts are involved, compare their results against the deployment standard, not just against each other.
Three identical VM configurations can still be three identically incorrect configurations.
Takeaway
The 18 pre-installation checks in GBase Database(GBase 8c) provide the final environment readiness gate, but they should not be the first time an engineer discovers a Linux configuration problem.
A5 swap, A7 limits, A10 I/O scheduler, and A14 THP are four checks worth incorporating into every provisioning workflow.
Check early, compare against the standard, fix the configuration, and keep the evidence.
That is a much more reliable way to prepare Linux environments for GBase Database deployment.