DM8データベースの読み書き分離クラスタのデプロイメント

環境設定

システム情報の確認、GLIBCバージョンの確認、ファイアウォールの無効化、SELinuxのチェック、システムリソース制限の変更、透過的な大ページの無効化、SWAPの無効化、NUMAの無効化を行います。

1. システム情報の確認

CentOS-7-x86_64を使用し、最低2C4Gのメモリと50GB以上のストレージを推奨します。以下のコマンドでシステム情報を確認できます。

getconf LONG_BIT
cat /etc/*release*

2. GLIBCのバージョン確認

GLIBCのバージョンが2.10より大きい場合、追加のメモリプールが生成され、メモリ使用量が増加する可能性があります。これを防ぐためにMALLOC_ARENA_MAXパラメータを設定します。

ldd --version

3. ファイアウォールの無効化

systemctl stop firewalld
systemctl disable firewalld

4. SELinuxの確認と無効化

vim /etc/sysconfig/selinux

selinux=enforcingをselinux=disabledに変更します。

5. システムリソース制限の変更

vi /etc/security/limits.conf
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited

vi /etc/systemd/system.conf
DefaultLimitNOFILE=65536
DefaultLimitNPROC=65536

vi /etc/sysctl.conf
vm.overcommit_memory=0

vi /etc/security/limits.d/20-nproc.conf

6. 透過的な大ページの無効化

cat /sys/kernel/mm/transparent_hugepage/enabled
vi /etc/default/grub
grub2-mkconfig -o /etc/grub2.cfg

7. SWAPの無効化

vi /etc/fstab

8. NUMAの無効化

lscpu | grep -i numa
vi /etc/default/grub

データベースインストール

DM8ユーザーとグループの作成、ディレクトリの作成、インストールパッケージのマウント、ソフトウェアインストールを行います。

1. DM8ユーザーとグループの作成

groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba

2. ディレクトリの作成

mkdir -p /dmdata/dmdb
mkdir -p /dmdata/dmarch/arch
mkdir -p /dmdata/dmbak/bak
mkdir -p /dmdata/dmlog/log
chown -R dmdba:dinstall /dmdata

3. インストールパッケージのマウント

mkdir /home/dmdba/mnt
mount /home/dmdba/dm8Iso/dm8_20250822_x86_centos7_64.iso /home/dmdba/mnt
ll mnt/

4. ソフトウェアインストール

su - dmdba
./DMInstall.bin -i

データベースGRP01の初期化

データベースインスタンスの初期化、サービス登録、サービス起動、アーカイブの有効化、データバックアップ、設定ファイルの編集、サービスの開始を行います。

1. インスタンスの初期化

cd /home/dmdba/dmdbms/bin
./dminit PATH=/dmdata/dmdb page_size=32 extent_size=32 case_sensitive=1 charset=1 INSTANCE_NAME=GRP01 SYSDBA_PWD=Grp12345 SYSAUDITOR_PWD=Grp12345

2. サービスの登録

su - root
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmserver -dm_ini /dmdata/dmdb/DAMENG/dm.ini -p _GRP01

3. サービスの起動

cd /home/dmdba/dmdbms/bin
./DmService_GRP01 start

4. アーカイブの有効化

alter database mount;
alter database archivelog;
alter database add archivelog 'dest=/dmdata/dmarch/arch,TYPE=local,FILE_SIZE=512,SPACE_LIMIT=512000';
alter database open;

5. データバックアップ

BACKUP DATABASE BACKUPSET '/dmdata/dmbak/grp01bak';

6. 設定ファイルの編集

vi /dmdata/dmdb/DAMENG/dm.ini
vi /dmdata/dmdb/DAMENG/dmarch.ini
vi /dmdata/dmdb/DAMENG/dmmal.ini
vi /dmdata/dmdb/DAMENG/dmwatcher.ini

7. サービスの開始

./DmService_GRP01 start

データベースGRP02の初期化

データベースインスタンスの初期化、サービス登録、主から副への同期、設定ファイルの編集、サービスの開始を行います。

1. インスタンスの初期化

cd /home/dmdba/dmdbms/bin
./dminit PATH=/dmdata/dmdb page_size=32 extent_size=32 case_sensitive=1 charset=1 INSTANCE_NAME=GRP02 SYSDBA_PWD=Grp12345 SYSAUDITOR_PWD=Grp12345

2. サービスの登録

su - root
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmserver -dm_ini /dmdata/dmdb/DAMENG/dm.ini -p _GRP02

3. 主から副への同期

scp -r /dmdata/dmbak/grp01bak/ dmdba@192.168.133.130:/dmdata/dmbak/
./dmrman CTLSTMT="RESTORE DATABASE '/dmdata/dmdb/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dmbak/grp01bak'"
./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/dmdb/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dmbak/grp01bak'"
./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/dmdb/DAMENG/dm.ini' UPDATE DB_MAGIC"

4. 設定ファイルの編集

vi /dmdata/dmdb/DAMENG/dm.ini
vi /dmdata/dmdb/DAMENG/dmarch.ini
vi /dmdata/dmdb/DAMENG/dmmal.ini
vi /dmdata/dmdb/DAMENG/dmwatcher.ini

5. サービスの開始

./DmService_GRP02 start

監視器の設定

dmmonitor.iniファイルの作成、サービスの登録、監視器の起動、dm_svc.confの設定を行います。

1. dmmonitor.iniファイルの作成

vi /home/dmdba/dmdbms/bin/dmmonitor.ini

2. サービスの登録

su - root
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /home/dmdba/dmdbms/bin/dmmonitor.ini

3. 監視器の起動

./DmMonitorServiceMonitor start

4. dm_svc.confの設定

vi /etc/dm_svc.conf
TIME_ZONE=(480)
LANGUAGE=(CN)
DM=(192.168.133.128:5236, 192.168.133.130:5236)

データベースの設定

Redologの拡張、データベースのアーカイブ設定を行います。

1. Redologの拡張

ALTER DATABASE RESIZE LOGFILE 'xx01.log' TO 2048;
ALTER DATABASE RESIZE LOGFILE 'xx02.log' TO 2048;
ALTER DATABASE ADD LOGFILE 'xx03.log' SIZE 2048;
ALTER DATABASE ADD LOGFILE 'xx04.log' SIZE 2048;

2. データベースのアーカイブ設定

alter database mount;
alter database add archivelog 'dest=/dmdata/dmarch/arch,TYPE=local,FILE_SIZE=512,SPACE_LIMIT=512000';
alter database archivelog;
alter database open;

タグ: DM8 データベース クラスタ 読み書き分離 CentOS

5月29日 07:58 投稿