OceanBaseデータベースは分散型クラスタデータベースであり、本番環境では少なくとも3台のマシンが必要です。学習用途では、スタンドアロン版を導入することもできます。OceanBaseデータベースのデプロイは従来のデータベースと多くの共通点があり、オペレーティングシステム、ハードウェア、ソフトウェアの設定に関していくつかのベストプラクティスを推奨しています。これらはOceanBaseデータベースを高性能かつ安定して稼働させるための基盤となります。
ソフトウェアリソースについて
下表では、異なるOSバージョンに対応するインストールパッケージが示されています。
| オペレーティングシステム | インストールパッケージのダウンロードURL |
|---|---|
| Alibaba Cloud Linux 2、CentOS 7、RedHat 7、Ubuntu 16.X、Debian 9.X | el7をダウンロード |
| Alibaba Cloud Linux 3、CentOS 8、RedHat 8、Debian 10 、Anolis OS 8.X | el8をダウンロード |
サーバー構成要件
obd を使用した OceanBase クラスタのデプロイ
サーバーが満たすべき最低限の利用可能な構成要件は、以下の表のとおりです。
| 項目 | 説明 |
|---|---|
| デプロイ製品 | OceanBase クラスタおよび obd |
| サーバー台数 |
|
| テスト・開発環境の最低構成 |
|
| 本番環境の最低構成 |
|
| ディスク構成 | SSD ストレージを使用し、最低 20 GB 必要。
説明ディスク内のログ領域はメモリの 3 倍以上が必要であり、データ領域はターゲットデータ量を格納できる必要があります。 |
| ファイルシステム | ext4 または xfs。データが 16 TB を超える場合は xfs タイプのみサポートされます。 |
OCP を使用した OceanBase クラスタのデプロイ
サーバーが満たすべき最低限の利用可能な構成要件は、以下の表のとおりです。
| デプロイ製品 | サーバー台数 | テスト・開発環境の最低構成 | 本番環境の最低構成 | ディスク構成 |
|---|---|---|---|---|
| OCP および MetaDB | 1 台 | CPU:16 コア メモリ:32 GB ディスク:1.5 TB ストレージ 説明16C32G の構成では OCP の安定性を保証できないため、検証目的でのみ使用することを推奨します。 |
CPU:32 コア メモリ:128 GB ディスク:1.5 TB、10GbE NIC |
SSD ストレージを使用。 |
| OceanBase クラスタ |
|
|
|
SSD ストレージを使用し、最低 20 GB 必要。
説明ディスク内のログ領域はメモリの 3 倍以上が必要であり、データ領域はターゲットデータ量を格納できる必要があります。 |
| (オプション)ODP | OBServer ノードサーバーを再利用可能 | CPU:4 コア メモリ:8 GB ディスク:200 GB |
CPU:4 コア メモリ:8 GB ディスク:200 GB |
N/A |
ソフトウェア環境要件
オペレーティングシステム
OCP のオペレーティングシステム
以下の表に示すオペレーティングシステムでの OCP のデプロイがサポートされています。ご使用のマシンのオペレーティングシステムを確認する方法については、以下の説明を参照してください。
| オペレーティングシステム | サポートバージョン | サーバータイプ |
|---|---|---|
| RHEL (および互換性のある RockyLinux、CentOS など) | 7.2 以上 | x86_64/ARM aarch64 |
| Anolis (および互換性のある Alibaba Cloud Linux、Kylin V10、UOS、China Mobile BC-Linux、LinxOS、NFSChina など) | 8.4 以上 | x86_64/ARM aarch64 |
| Debian (および互換性のある Ubuntu など) | 11 以上 | x86_64/ARM aarch64 |
| openSUSE | 12SP3 以上 | x86_64/ARM aarch64 |
OceanBase データベースのオペレーティングシステム
以下の表に示す Linux オペレーティングシステムでの OceanBase データベースのインストールがサポートされています。ご使用のマシンのオペレーティングシステムを確認する方法については、以下の説明を参照してください。
| Linux オペレーティングシステム | バージョン | サーバーアーキテクチャ |
|---|---|---|
| AnolisOS | 8.x | x86_64(Hygon を含む)、ARM_64(Kunpeng、Phytium を含む) |
| Alibaba Cloud Linux | 2、3 | x86_64(Hygon を含む)、ARM_64(Kunpeng、Phytium を含む) |
| CentOS / Red Hat Enterprise Linux | 7.x、8.x | x86_64(Hygon を含む)、ARM_64(Kunpeng、Phytium を含む) |
| Rocky Linux | 9 | x86_64(Hygon を含む)、ARM_64(Kunpeng、Phytium を含む) |
| KylinOS | V10 | x86_64(Hygon を含む)、ARM_64(Kunpeng、Phytium を含む) |
| UOS | V20 | x86_64(Hygon を含む)、ARM_64(Kunpeng、Phytium を含む) |
| NFSChina | 4.0 以上 | x86_64(Hygon を含む)、ARM_64(Kunpeng、Phytium を含む) |
| Inspur kos | 5.8 | x86_64(Hygon を含む)、ARM_64(Kunpeng、Phytium を含む) |
| SUSE / OpenSUSE | 15.X 以上 | x86_64(Hygon を含む)、ARM_64(Kunpeng、Phytium を含む) |
| Debian | 9.x 以上 | x86_64(Hygon を含む)、ARM_64(Kunpeng、Phytium を含む) |
| Ubuntu | 16.X 以上 | x86_64(Hygon を含む)、ARM_64(Kunpeng、Phytium を含む) |
説明
オペレーティングシステムには、ネットワークおよびパッケージマネージャ(yum または zypper リポジトリ)の設定が必要です。
OceanBase データベースでは、カーネルバージョン 4.19 以上のオペレーティングシステムが必要です。
uname -rコマンドを実行してカーネル情報を確認できます。
オペレーティングシステムの確認
以下のコマンドを実行して、オペレーティングシステム情報を確認します:
cat /etc/os-release
結果は以下のとおりです:
NAME="Anolis OS"
VERSION="8.2"
ID="anolis"
ID_LIKE="rhel fedora centos"
VERSION_ID="8.2"
PLATFORM_ID="platform:an8"
PRETTY_NAME="Anolis OS 8.2"
ANSI_COLOR="0;31"
HOME_URL="https://openanolis.cn/"
以下のコマンドを実行して、オペレーティングシステム情報を確認します:
cat /etc/redhat-release
結果は以下のとおりです:
Red Hat Enterprise Linux Server release 7.2 (Maipo)
以下のコマンドを実行して、オペレーティングシステム情報を確認します:
cat /etc/redhat-release
結果は以下のとおりです:
CentOS Linux release 7.2.1511 (Core)
以下のコマンドを実行して、オペレーティングシステム情報を確認します:
cat /etc/os-release
結果は以下のとおりです:
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
以下のコマンドを実行して、オペレーティングシステム情報を確認します:
cat /etc/os-release
結果は以下のとおりです:
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
サーバーの BIOS 設定
説明
サーバーによって BIOS の変更方法は異なります。具体的な操作については、各サーバーのマニュアルを参照してください。
BIOS で以下のオプションを無効(OFF)にする必要があります
Cstate
Pstate
EIST
Power saving
BIOS で以下のオプションを設定する必要があります
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:最大パフォーマンス(performance)を有効化
Transparent Huge Pages (THP) の無効化
RHEL 9 より前のバージョンの Red Hat 系オペレーティングシステムの場合、以下のコマンドを実行して Transparent Huge Pages を手動で無効にする必要があります:
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
Red Hat Enterprise Linux (RHEL) 9またはCentOSでは、以下のコマンドを実行して、手動でTransparent Huge Pages (THP)を無効にする必要があります。
echo never > /sys/kernel/mm/transparent_hugepage/enabled
ハードウェア環境要件
CPU
OceanBase データベースをデプロイするマシンが x86 アーキテクチャの場合、CPU が AVX をサポートしている必要があります。
以下のコマンドを実行して、CPU が AVX をサポートしているか確認します。
lscpu | grep Flags | grep avx
クエリ結果に avx フィールドがない場合は、現在のマシンの CPU が AVX をサポートしていないことを意味するため、マシンの交換が必要です。クエリ結果に avx フィールドが含まれている場合は、現在のマシンの CPU が AVX をサポートしています。
説明
OceanBase データベースでは、以下のバージョンから AVX 命令セットへの必須依存ポリシーが調整されました:
- V4.3.5 バージョンの場合、V4.3.5 BP4 バージョン以降は AVX 命令セットのサポートが必須ではなくなりました。
- V4.2.5 バージョンの場合、V4.2.5 BP6 バージョン以降は AVX 命令セットのサポートが必須ではなくなりました。
- V4.4.x バージョンの場合、V4.4.1 バージョン以降は AVX 命令セットのサポートが必須ではなくなりました。
メモリ
以下のコマンドを実行して、メモリを確認します:
free -g
結果は以下のとおりです:
total used free shared buff/cache available
Mem: 174 38 6 0 129 123
Swap: 0 0 0
ここで、Mem の free の値が、前述の サーバー構成要件 を満たすのに十分であることを確認する必要があります。満たしていない場合は、キャッシュをクリアするか、サーバーを変更してください。
以下のコマンドを実行して、キャッシュをクリアできます:
sudo sysctl -w vm.drop_caches=3
#または
sudo echo 3 > /proc/sys/vm/drop_caches
ネットワークカードの設定
10ギガビットネットワークカード(10GbE NIC)を 2 枚構成することを推奨します:
bond モード名は bond0 とし、ボンディングモードは mode1 または mode4 を選択できますが、mode4 を推奨します。mode4 モードの場合、スイッチ側で 802.3ad プロトコルを設定する必要があります。