このセクションでは、オペレーティングシステム、BIOS設定、ディスクマウント、ネットワークカード設定、ソフトウェア要件など、サーバーのハードウェア設定要件について説明します。
オペレーティングシステムの準備
OAT/OCP オペレーティングシステム
OAT/OCP のデプロイは、下表に示すオペレーティングシステムをサポートしています。
オペレーティングシステム |
サポートバージョン |
サーバータイプ |
|---|---|---|
| Rocky Linux | 9 | x86_64/ARM aarch64 |
| Alibaba Cloud Linux | 2、3 | x86_64/ARM aarch64 |
| 龙蜥 AnolisOS | 8 | x86_64/ARM aarch64 |
| 麒麟 OS(KylinOS) | V10、V11 | x86_64/ARM aarch64 |
| 統信 UOS | V20 | x86_64/ARM aarch64 |
| 中科方德 NFSChina | 4.0 | x86_64/ARM aarch64 |
| CentOS/RHEL(Red Hat Enterprise Linux) | 7、8、9 | x86_64/ARM aarch64 |
| openSUSE | 12SP5 | x86_64/ARM aarch64 |
| Debian | 12 | x86_64/ARM aarch64 |
| openEuler | 20.03 LTS、22.03 LTS | x86_64/ARM aarch64 |
| 凝思 OS | V6.0.99、V6.0.100 | x86_64/ARM aarch64 |
| Ubuntu | 22.04 LTS、24.04 LTS | x86_64/ARM aarch64 |
OceanBaseデータベースがサポートするOS
OceanBaseデータベースは、下表に示すLinux OSにインストールできます。
Linux オペレーティングシステム |
バージョン |
サーバーアーキテクチャ |
|---|---|---|
| Rocky Linux | 9 | x86_64 (海光を含む)、ARM_64 (鯤鵬、飛騰) |
| Alibaba Cloud Linux | 2、3 | x86_64 (海光を含む)、ARM_64 (鯤鵬、飛騰) |
| 龍蜥 AnolisOS | 8 | x86_64 (海光を含む)、ARM_64 (鯤鵬、飛騰) |
| KylinOS | V10、V11 | x86_64 (海光を含む)、ARM_64 (鯤鵬、飛騰) |
| 統信 UOS | V20 | x86_64 (海光を含む)、ARM_64 (鯤鵬、飛騰) |
| 中科方德 NFSChina | 4.0 | x86_64 (海光を含む)、ARM_64 (鯤鵬、飛騰) |
| 浪潮 Inspur kos | 5.8 | x86_64 (海光を含む)、ARM_64 (鯤鵬、飛騰) |
| CentOS / Red Hat Enterprise Linux | 7、8、9 | x86_64 (海光を含む)、ARM_64 (鯤鵬、飛騰) |
| SUSE Enterprise Linux | 12SP5 | x86_64 (海光を含む) |
| Debian | 12 | x86_64 (海光を含む) |
| openEuler | 20.03 LTS、22.03 LTS | x86_64 (海光を含む)、ARM_64 (鯤鵬、飛騰) |
| 凝思 Linux | V6.0.99、V6.0.100 | x86_64 (海光を含む)、ARM_64 (鯤鵬、飛騰) |
| Ubuntu | 22.04 LTS、24.04 LTS | x86_64 (海光を含む) |
説明
- OSにはネットワークとソフトウェアマネージャー(yumまたはzypperリポジトリ)が設定されている必要があります。
- OceanBaseクラスタをデプロイするサーバーは、リトルエンディアンモードである必要があります。
- Hygon 7490チップを使用している場合は、Hygon(海光)のサーバーメーカーが推奨する、パッチ4を含むOSをインストールする必要があります。
OceanBaseサーバーのBIOS設定
特別な設定
Intel x86アーキテクチャ環境の場合:
設定ファイル
/etc/sysctl.confを変更し、パラメータvm.swappinessを0に設定することを推奨します。方法は以下のとおりです:[root@xxx /] $vi /etc/sysctl.conf vm.swappiness = 0sysctl.conf の設定を反映します:
[root@xxx /] $sysctl -p
AMDまたはARMアーキテクチャ環境では、Numaを有効にすることを推奨します。
ARMおよび海光アーキテクチャ環境では、設定ファイル
/etc/sysctl.confを変更し、パラメータkernel.numa_balancing、vm.zone_reclaim_mode、vm.swappinessを0に設定することを推奨します。方法は以下のとおりです:[root@xxx /] $vi /etc/sysctl.conf kernel.numa_balancing = 0 vm.zone_reclaim_mode = 0 vm.swappiness = 0sysctl.conf の設定を反映します:
[root@xxx /] $sysctl -p
BIOSでオフにする必要があるオプション
- Cstate
- Pstate
- EIST
- Power saving
BIOSで設定する必要があるオプション
Automatic Power on After Power Loss: Always on
Intel Virtualization Technology:有効
Hyper-threading:有効
Hardware prefetcher:有効
VT-d:有効
SR-IOV:有効
Turbo Mode:有効
Energy performance:最大パフォーマンスを有効にする
説明
サーバーによってBIOSの変更方法は異なります。具体的な操作手順については、サーバーのマニュアルを参照してください。
ディスクのマウント
注意
マウントポイントのディレクトリ容量が16TBを超える場合、xfs形式のみサポートされます。
OCPサーバーのディスクマウントポイント要件は以下の表のとおりです。
マウントポイントサイズ用途ディスクフォーマット/home 100 GB~300 GB 各コンポーネントの実行ログディスク ext4またはxfsを推奨 /data/log1 メモリサイズの3~4倍 OCPメタデータベースログディスク ext4またはxfsを推奨 /data/1 保存するデータサイズによる OCPメタデータベースデータディスク ext4またはxfsを推奨 /docker 200 GB~500 GB Dockerルートディレクトリ ext4またはxfsを推奨 OBServerノードのディスクマウントポイント要件は以下の表のとおりです。
マウントポイントサイズ用途ファイルシステム形式/home 100 GB~300 GB observerプロセス実行ログディスク ext4またはxfsを推奨 /data/log1 メモリサイズの3~4倍 observerプロセスログディスク ext4またはxfsを推奨 /data/1 保存するデータサイズによる observerプロセスデータディスク ext4またはxfsを推奨 説明
ルートディレクトリは50GB以上を推奨します。LVMを使用する場合は、作成時にストライピングパラメータの使用を推奨します。例:
lvcreate -n data -L 3000G obvg --stripes=3 --stripesize=128
サーバーのディスク構成
注意
/var ディレクトリと /opt ディレクトリを個別のパーティションにマウントしないでください。
ディスク構成が480G2 + 3.84T NVME8、メモリ構成が512Gの場合:
- 480Gのシステムディスクを2枚RAID 1で組み、OSのインストールに使用します。そのうち50Gをルートディレクトリに、350Gを
/homeディレクトリに割り当てます。 - 3.84TのNVMEディスクを8枚LVMで構成します。その後、2.1Tを
/data/log1ディレクトリに割り当ててログディスクとし、残りを/data/1ディレクトリに割り当ててデータディスクとします。(OCPサーバーとして3台のサーバーを選択し、/data/1から800Gを切り出して /docker にマウントします)
- 480Gのシステムディスクを2枚RAID 1で組み、OSのインストールに使用します。そのうち50Gをルートディレクトリに、350Gを
ディスク構成が480G2 + 3.84T SATA SSD8、メモリ構成が512Gの場合:
- 480Gのシステムディスクを2枚RAID 1で組み、OSのインストールに使用します。そのうち50Gをルートディレクトリに、350Gを
/homeディレクトリに割り当てます。 - 2枚のディスクでRAID 1を構成し、2.1Tを
/data/log1ディレクトリに割り当てます。残りの6枚のディスクでRAID 5を構成し、すべて/data/1ディレクトリにマウントします。(OCPサーバーとして3台のサーバーを選択し、/data/1から800Gを切り出して /docker にマウントします)
- 480Gのシステムディスクを2枚RAID 1で組み、OSのインストールに使用します。そのうち50Gをルートディレクトリに、350Gを
ディスク構成が480G2 + 1.92T SATA SSD6、メモリ構成が768Gの場合:
- 480Gのシステムディスクを2枚RAID 1で組み、OSのインストールに使用します。そのうち50Gをルートディレクトリに、350Gを
/homeディレクトリに割り当てます。 - 1.92Tのディスクを3枚RAID 5で組み、そのうち3.1Tを
/data/log1ディレクトリに割り当ててログディスクとします。残りの3枚の1.92TディスクもRAID 5で組み、すべて/data/1ディレクトリにマウントしてデータディスクとします。(OCPサーバーとして3台のサーバーを選択し、/data/1から800Gを切り出して /docker にマウントします)
- 480Gのシステムディスクを2枚RAID 1で組み、OSのインストールに使用します。そのうち50Gをルートディレクトリに、350Gを
ディスク構成が480G2 + 1.6T NVME6、メモリ構成が768Gの場合:
- 480Gのシステムディスクを2枚RAID 1で組み、OSのインストールに使用します。そのうち50Gをルートディレクトリに、350Gを
/homeディレクトリに割り当てます。 - 1.6Tのディスクを6枚LVMで構成し、そのうち3.1Tを
/data/log1ディレクトリに割り当ててログディスクとします。残りを/data/1ディレクトリにマウントしてデータディスクとします。(OCPサーバーとして3台のサーバーを選択し、/data/1から800Gを切り出して /docker にマウントします)
- 480Gのシステムディスクを2枚RAID 1で組み、OSのインストールに使用します。そのうち50Gをルートディレクトリに、350Gを
ディスク構成が960 SATA SSD*10、メモリ構成が384Gの場合:
- 960Gのディスクを4枚RAID 5で組み、そのうち50Gをルートディレクトリに、500Gを
/homeディレクトリに割り当て、残りを/data/log1ディレクトリにマウントします。 - 960Gのディスクを6枚RAID 5で組み、/data/1にマウントします。(OCPサーバーとして3台のサーバーを選択し、/data/1から800Gを切り出して /docker にマウントします)
- 960Gのディスクを4枚RAID 5で組み、そのうち50Gをルートディレクトリに、500Gを
ディスク構成が480G2 + 1.6T SATA SSD6、メモリ構成が384Gの場合:
- 480Gのシステムディスクを2枚RAID 1で組み、OSのインストールに使用します。そのうち50Gをルートディレクトリに、350Gを
/homeディレクトリに割り当てます。 - 1.92Tのディスクを3枚RAID 5で組み、そのうち2.1Tを /data/log1に割り当てます。残りの3枚の1.92TディスクもRAID 5で組み、すべて
/data/1ディレクトリにマウントしてデータディスクとします。(OCPサーバーとして3台のサーバーを選択し、/data/1から800Gを切り出して /docker にマウントします)
- 480Gのシステムディスクを2枚RAID 1で組み、OSのインストールに使用します。そのうち50Gをルートディレクトリに、350Gを
NIC設定
10ギガビットNICを2枚使用する構成を推奨します。
- bondモードの名前は
bond0とします。バインディングモードはmode1またはmode4を選択できますが、mode4を推奨します。mode4モードを使用する場合、スイッチで802.3adプロトコルを設定する必要があります。 - NIC名は
eth0やeth1を使用することを推奨します。 - networkサービスの使用を推奨し、NetworkManagerの使用は推奨しません。
- 通常、teamを使用したバインディングは行わないでください。teamを使用すると、
/sys/class/net/team0/speedに記載されているNICの速度を認識できなくなる可能性があるためです。 - 同一bond内のNICは異なるスイッチに接続する必要があります。
RAID設定
- RAIDカードのキャッシュ書き戻しを強制。
- ディスクキャッシュを無効にする。
- 自動リビルドを有効にする。
- LSI RAIDカードの場合は、一貫性チェックとパトロール読み取り機能を無効にする必要があります。RAIDカードを交換したり、RAIDカードのドライバー/Firmwareをアップグレードした後は、再度無効にする必要があります。
ネットワークポート
OceanBaseの以下の製品のネットワークポートが使用されていないことを確認してください:
プロダクトサーバー |
ポート番号 |
説明 |
|---|---|---|
| OATサーバー | 7000 | OAT管理コンソール |
| OCPサーバー | 8080 | OCP API/OCP-Server Webサービスポート |
| OBServerサーバー | 2881 | OBServer SQLリスニングポート |
| OBServerサーバー | 2882 | OBServer間RPC通信ポート |
| ODPサーバー | 2883 | ODPリスニングポート |
| ODPサーバー | 2884 | ODP監視指標APIリスニングポート |
SSDのI/Oスケジューラーに関する推奨事項
- NVMe SSDのデフォルトI/Oスケジューラーは
noneであり、調整は不要です。 - SATA SSDのI/Oスケジューラーは
noneに設定することを推奨します。
注意事項
OceanBaseデータベースでは、V4.2.5 BP3、V4.2.5 BP4、V4.2.5 BP5、V4.3.5 BP1、V4.3.5 BP2、V4.3.5 BP3、およびV4.4.0バージョンから、X86アーキテクチャ環境で動作させるための命令セット要件が追加されました。OBServerプロセスは起動前に、現在の環境がAVX命令セットをサポートしているかどうかをチェックし、この命令セットが欠けている場合は起動を禁止します。
説明
OceanBaseデータベースでは、以下のバージョンからAVX命令セットへの強制依存ポリシーが調整されました:
- V4.3.5バージョンでは、V4.3.5 BP4バージョン以降、AVX命令セットのサポートは必須ではなくなりました。
- V4.2.5バージョンでは、V4.2.5 BP6バージョン以降、AVX命令セットのサポートは必須ではなくなりました。
- V4.4.0バージョンでは、V4.4.1バージョン以降、AVX命令セットのサポートは必須ではなくなりました。