OceanBaseデータベースのサーバーは、データディスク、トランザクションログディスク、およびOceanBaseデータベースのインストールディスクに依存します。個人試用シナリオの場合、すべてのデータを1つのディスクに配置し、この手順をスキップできます。本番環境で使用する場合は、データを3つの異なるディスクにマウントすることを推奨します。
マシンに3つのディスクがない場合、またはRAIDディスクアレイを使用している場合は、ディスクまたはディスクアレイの論理ボリュームをパーティション分割する必要があります。以下の方法でパーティション分割することを推奨します:
データディスク
データディスクはベースラインデータの格納に使用され、パスは構成パラメータ
data_dirで指定されます。OceanBaseクラスタを初めて起動する際、${data_dir}/{sstable,slog}が自動的に作成されます。データディスクのサイズはdatafile_disk_percentage/datafile_sizeパラメータによって決定され、デプロイ後にはdatafile_nextおよびdatafile_maxsize構成パラメータを使用してディスクファイルの動的拡張も可能です。詳細については、ディスクデータファイルの動的拡張の設定を参照してください。説明
OceanBaseデータベースの現在のバージョンでは、
slogをデータ(data)ディスクから分離することがサポートされています。つまり、slogとデータファイルは同じディスク上にある必要はありません。OceanBaseデータベースのインストールディレクトリに関する詳細情報については、OBServerノードのインストールディレクトリ構造を参照してください。トランザクションログディスク
トランザクションログディスクのパスは構成パラメータ
clog_dirで指定されます。トランザクションログディスクのサイズは、OceanBaseデータベースのメモリサイズの3倍から4倍以上に設定することを推奨します。OceanBaseクラスタを初めて起動する際、${clog_dir}が自動的に作成されます。トランザクションログディスクには複数の固定サイズのファイルが含まれ、必要に応じてトランザクションログを自動的に作成および削除できます。トランザクションログがディスク容量の80%に達すると、自動削除がトリガーされます。ただし、トランザクションログに対応するメモリデータがベースラインデータにマージされた後である場合にのみ、トランザクションログは削除できます。同一のデータ量の場合、トランザクションログのサイズはメモリデータサイズの約3倍です。したがって、トランザクションログディスクに必要な空き容量の上限は、2回のメジャーコンパクション後のデータ総量に比例します。経験則:トランザクションログファイルサイズ = 増分データメモリ上限の3〜4倍。
OceanBaseデータベースインストールディスク
OceanBaseデータベースインストールディスクのパスは構成パラメータ
home_pathで指定されます。OceanBaseデータベースのインストールディスクには、少なくとも200GBの空き容量を確保し、7日間以上のログを保存することを推奨します。OceanBaseデータベースのRPMパッケージのインストールディレクトリは${home_path}の下にあります。その中で、ベースラインデータファイルとトランザクションログファイルは、それぞれ独立したデータディスクとトランザクションログディスクを指すソフトリンクとなります。OceanBaseデータベースの実行ログは${home_path}/logの下にあります。実行ログは継続的に増加し、OceanBaseデータベースは実行ログを自動的に削除することができないため、定期的に実行ログを削除する必要があります。
ディスクのマウント
マウント要件
OCPサーバーのディスクマウントポイント要件は以下の表のとおりです。
マウントポイントサイズ用途ファイルシステム形式/home 100 GB~300 GB 各コンポーネントの実行ログディスク ext4またはxfsを推奨 /data/log1 observerに割り当てるメモリサイズの3~4倍 OCPメタデータベースのログディスク ext4またはxfsを推奨 /data/1 保存するデータサイズによる OCPメタデータベースのデータディスク ext4またはxfsを推奨 OBServerノードのディスクマウントポイント要件は以下の表のとおりです。
ディレクトリサイズ用途ファイルシステム形式/home 100 GB~300 GB observerデータベースインストールディスク ext4またはxfsを推奨 /data/log1 observerに割り当てるメモリサイズの3~4倍 observerプロセスログディスク ext4またはxfsを推奨 /data/1 保存するデータサイズによる observerプロセスデータディスク ext4またはxfsを推奨 説明
ルートディレクトリは50GB以上を推奨します。LVMを使用する場合は、作成時にストライピングパラメータを使用することを推奨します。例:
lvcreate -n data -L 3000G obvg --stripes=3 --stripesize=128。本番環境では、データディスクとログディスク、インストールディスクを異なるディスクに分けて使用し、パフォーマンス上の問題を回避することを推奨します。
マウント操作
ディスクのマウントはrootユーザーで実行する必要があります。以下の2つの方法があり、実際の状況に応じて適切な方法を選択できます:
- LVMツールを使用してディスクをマウントする(推奨)。
- fdiskツールを使用してディスクをマウントする。
ディスク情報の確認
fdisk -lコマンドを使用して利用可能なディスクとパーティションを特定し、ターゲットデバイス(例:/dev/sdb1)を確認します。[root@test001 ~]# fdisk -l(オプション)LVMツールのインストール
LVMが事前にインストールされていない場合は、以下のコマンドを実行してLVMをインストールします。LVMが既にインストールされている場合は、この手順をスキップしてください。
Debian/Ubuntuシステム
[root@test001 ~]# apt-get install lvm2CentOS/RHELシステム
[root@test001 ~]# yum install lvm2
物理ボリューム(PV)の作成
パーティションを物理ボリュームに初期化します。
注意
パーティションを物理ボリュームに初期化すると、パーティションが再フォーマットされます(データは失われます)。慎重に操作してください。
[root@test001 ~]# pvcreate /dev/sdb1作成後、
pvsコマンドを実行して物理ボリュームの作成結果を確認できます。ボリュームグループ(VG)の作成
複数の物理ボリュームを1つのVGに統合します。
[root@test001 ~]# vgcreate vg01 /dev/sdb1 /dev/sdc1統合後、
vgsコマンドを実行してボリュームグループの情報を確認できます。論理ボリューム(LV)の作成
VGから100GBの論理ボリュームを割り当てます。ここでは例として示していますが、論理ボリュームのサイズは実際の状況に応じて設定できます。
[root@test001 ~]# lvcreate -L 100G -n lv01 vg01作成後、
lvsコマンドを実行して論理ボリュームの情報を確認できます。フォーマットとマウント
ext4ファイルシステムへのフォーマット
[root@test001 ~]# mkfs.ext4 /dev/vg01/lv01マウントポイントの作成
[root@test001 ~]# mkdir -p /data/1一時マウント
[root@test001 ~]# mount /dev/vg01/lv01 /data/1
システム起動時の自動マウントの設定
/etc/fstabファイルを編集し、マウント設定を追加します:[root@test001 ~]# vim /etc/fstab/etc/fstabファイルに以下の内容を追加します:/dev/vg01/lv01 /data/1 ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
ディスク情報の確認
fdisk -lコマンドを使用して利用可能なディスクとパーティションを特定し、ターゲットデバイス(例:/dev/sdb1)を確認します。[root@test001 ~]# fdisk -lパーティションの作成
fdiskツールを使用して新しいパーティションを作成します。例えば、
fdisk /dev/sdb1と入力し、nを入力してパーティションを作成し、最後に保存(w)します。[root@test001 ~]# fdisk /dev/sdb1フォーマットとマウント
ext4ファイルシステムにフォーマットします。
[root@test001 ~]# mkfs.ext4 /dev/sdb1マウントポイントを作成します。
[root@test001 ~]# mkdir -p /data/1一時的にマウントします。
[root@test001 ~]# mount /dev/sdb1 /data/1
システム起動時の自動マウントの設定
/etc/fstabファイルを編集し、マウント設定を追加します:[root@test001 ~]# vim /etc/fstab/etc/fstabファイルに以下の内容を追加します:/dev/sdb1 /data/1 ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
ディスクの確認
ディスクをマウントした後、以下のコマンドを実行してディスクの分割状況を確認できます:
[root@test001 ~]# df -h
実行結果は次のとおりです:
Filesystem Size Used Avail Use% Mounted on
devtmpfs 31G 0 31G 0% /dev
tmpfs 31G 0 31G 0% /dev/shm
tmpfs 31G 516K 31G 1% /run
tmpfs 31G 0 31G 0% /sys/fs/cgroup
/dev/vda1 493G 171G 302G 37% /
tmpfs 6.2G 0 6.2G 0% /run/user/0
/dev/sdb1 984G 77M 934G 1% /data/1
/dev/vdc1 196G 61M 186G 1% /data/log1
/dev/vdb1 492G 73M 467G 1% /home/admin/oceanbase
結果の説明:
/data/1はデータディスクで、サイズは1TBです。/data/log1にはログが保存されます。/home/admin/oceanbaseにはOceanBaseデータベースのバイナリファイルと実行ログが保存されます。
設定ファイル内の data_dir、redo_dir、home_path に対応するディスクがマウント済みであることを確認してください。data_dir および redo_dir の対応するディレクトリは空でなければならず、data_dir のディスク使用率は4%未満である必要があります。
ディレクトリ権限の設定
ディスクのマウントが完了したら、ディスクマウント先のディレクトリの権限を確認する必要があります。以下のコマンドを実行して、クラスタ関連ファイルディレクトリの権限を確認できます。
ここでは、data ディレクトリを例に説明します:
[root@test001 data]# ls -al
実行結果は次のとおりで、ディレクトリの所有者がadminグループのadminユーザーであることを示しています:
drwxr-xr-x 2 admin admin 4096 Feb 9 18:43 .
drwxr-xr-x 2 admin admin 4096 Feb 9 18:43 log1
ディレクトリ権限を確認した後、adminユーザーに関連ファイルの権限がない場合は、以下のコマンドを実行してファイルの所有者を変更できます:
[root@test001 ~]# chown -R admin:admin /data/log1
[root@test001 ~]# chown -R admin:admin /data
ここで、/data/log1 と /data はマウントディレクトリの例です。実際のマウントディレクトリに応じて置き換えてください。