8.2.1 HADBサーバのインストール前に実施する作業
HADBサーバをインストールする前に,スーパユーザで次の作業を実施してください。
-
前提パッケージの確認※
-
HADB管理グループの設定
-
HADB管理者の設定
-
HADB管理グループに所属するOSユーザの設定
-
サーバディレクトリを格納するディレクトリの作成
-
サーバディレクトリを格納するディレクトリの設定の変更
-
通信情報ファイルを格納するディレクトリの作成
-
設定ファイルの変更
-
設定ファイルの変更および作成(コアファイルの出力がsystemd-coredumpで制御されている場合)
-
syslogのアクセス権限の変更
- 注※
-
スーパユーザではなく,一般ユーザ(管理者権限を持っていないOSユーザ)でも実施できます。
上記の各作業の詳細を以降で説明します。
- 〈この項の構成〉
(1) 前提パッケージの確認
HADBサーバを動作させるには,次の表に示すパッケージ(x86_64版)がOSにインストールされている必要があります。
項番 |
パッケージ名 |
クラウドストレージ機能を使用しない場合 |
クラウドストレージ機能を使用する場合 |
|
---|---|---|---|---|
AWS環境の場合 |
Azure環境の場合 |
|||
1 |
bash |
○ |
○ |
○ |
2 |
binutils |
○ |
○ |
○ |
3 |
brotli |
- |
○ |
○ |
4 |
compat-openssl10※1 |
○ |
○ |
- |
5 |
coreutils |
○ |
○ |
○ |
6 |
cyrus-sasl-lib |
- |
○ |
○ |
7 |
file |
○ |
○ |
○ |
8 |
findutils |
○ |
○ |
○ |
9 |
gawk |
○ |
○ |
○ |
10 |
gdb |
○ |
○ |
○ |
11 |
glibc |
○ |
○ |
○ |
12 |
glibc-common |
○ |
○ |
○ |
13 |
grep |
○ |
○ |
○ |
14 |
hostname |
○ |
○ |
○ |
15 |
iproute |
○ |
○ |
○ |
16 |
keyutils-libs |
- |
○ |
○ |
17 |
krb5-libs |
- |
○ |
○ |
18 |
libaio |
○ |
○ |
○ |
19 |
libcom_err |
- |
○ |
○ |
20 |
libcurl |
- |
○ |
○ |
21 |
libevent |
- |
- |
○ |
22 |
libgcc |
- |
○ |
○ |
23 |
libidn2 |
- |
○ |
○ |
24 |
libnghttp2 |
- |
○ |
○ |
25 |
libpsl |
- |
○ |
○ |
26 |
libselinux |
- |
○ |
○ |
27 |
libssh |
- |
○ |
○ |
28 |
libstdc++ |
- |
○ |
○ |
29 |
libunistring |
- |
○ |
○ |
30 |
libuuid |
○ |
○ |
○ |
31 |
libxcrypt |
- |
○ |
○ |
32 |
libxml2 |
- |
- |
○ |
33 |
lvm2 |
○ |
○ |
○ |
34 |
openldap |
- |
○ |
○ |
35 |
openssl-libs※2 |
○ |
○ |
○ |
36 |
pam |
○ |
○ |
○ |
37 |
pcre2 |
- |
○ |
○ |
38 |
procps-ng |
○ |
○ |
○ |
39 |
sed |
○ |
○ |
○ |
40 |
sysstat |
○ |
○ |
○ |
41 |
tar |
○ |
○ |
○ |
42 |
util-linux |
○ |
○ |
○ |
43 |
xz-libs |
- |
- |
○ |
44 |
zlib |
○ |
○ |
○ |
- (凡例)
-
○:このパッケージが必要です。
-:このパッケージは不要です。
- 注※1
-
使用するLinuxのバージョンがRHEL 8の場合に必要なパッケージです。
- 注※2
-
使用するLinuxのバージョンがRHEL 7またはRHEL 9の場合に必要なパッケージです。
- ■インストール済みのパッケージを確認する方法
-
次のコマンドを実行すると,OSにインストール済みのパッケージの一覧が表示されます。
yum list installed
インストールされていないパッケージがある場合は,そのパッケージをOSにインストールしてください。パッケージのインストール方法については,OSのマニュアルを参照してください。
- ■特定のパッケージがインストール済みかどうかを確認する方法
-
(例)
パッケージlibaioがインストール済みかどうかを確認します。
yum list installed | grep libaio
実行結果にパッケージlibaioが表示された場合は,パッケージlibaioはインストール済みです。実行結果にパッケージlibaioが表示されなかった場合は,パッケージlibaioはインストールされていません。
(2) HADB管理グループの設定
HADB専用のグループ(HADB管理グループ)を,サーバマシンのOSに設定してください。HADB管理グループは,OSのgroupaddコマンドで設定します。
HADB管理グループを設定することで,HADBサーバを運用するためのディレクトリ下(サーバディレクトリ下およびDBディレクトリ下)に作成されるファイルに対して,HADB管理グループ以外のOSユーザからのアクセスを制限できます。そのため,セキュリティを強化できます。
- ■HADB管理グループの設定例
-
サーバマシンのOSにHADB管理グループとして,adbgroupを設定します。
groupadd adbgroup
なお,OSに設定されている既存のグループを,HADB管理グループとして使用することもできます。
(3) HADB管理者の設定
HADB管理グループを設定したら,HADBサーバを管理するOSユーザ(HADB管理者)を,サーバマシンのOSに設定してください。HADB管理者は,OSのuseraddコマンドで設定します。HADB管理者の名称は,32バイト以内としてください。
HADB管理者とは,OSに設定するユーザであり,またHADBを管理するシステム管理者を指します。HADB管理者には,HADBのすべてのコマンドを実行する権限があります。また,サーバディレクトリ下およびDBディレクトリ下のファイルの所有者になります。なお,HADB管理者として設定したOSユーザが,HADB管理者としてHADBサーバに認識されるタイミングは,HADBサーバをインストールしたときです。
HADB管理者のユーザ名をOSに設定する際,HADB管理者が所属するプライマリグループにHADB管理グループを設定することで,HADB管理者にはHADBサーバの各種ファイルおよびディレクトリの所有者としてのアクセス権が与えられます。これによって,ほかのOSユーザからの書き込みを禁止できます。
HADB管理者のユーザ名をOSに設定したら,必ずパスワードを設定してください。パスワードは,OSのpasswdコマンドで設定します。
- ■HADB管理者の設定例
-
サーバマシンのOSにHADB管理者として,adbmanagerを設定します。その際,プライマリグループとしてHADB管理グループ(adbgroup)を設定します。
useradd -g adbgroup adbmanager
(4) HADB管理グループに所属するOSユーザの設定
HADB管理者を設定したら,HADB管理者とは別に,HADBサーバを管理するOSユーザ(HADB管理グループに所属するOSユーザ)を,サーバマシンのOSに設定することを推奨します。
HADB管理グループに所属するOSユーザには,HADBのコマンドを実行する権限が与えられます(一部のコマンドは除きます)。また,HADB管理者が所有するサーバディレクトリ下およびDBディレクトリ下のファイルにも,アクセスできるようになります。HADB管理グループに所属するOSユーザを設定することで,HADB管理者以外のOSユーザでもHADBのコマンドを実行できるようになり,HADBサーバを運用する際の利便性が向上します。
HADB管理グループに所属するOSユーザは,OSのuseraddコマンドで設定します。HADB管理グループに所属するOSユーザの名称は,32バイト以内としてください。また,HADB管理グループに所属するOSユーザのユーザ名をOSに設定する場合,HADB管理グループをプライマリグループとして設定してください。
HADB管理グループに所属するOSユーザのユーザ名をOSに設定したら,必ずパスワードを設定してください。パスワードは,OSのpasswdコマンドで設定します。
- ■HADB管理グループに所属するOSユーザの設定例
-
サーバマシンのOSにHADB管理グループに所属するOSユーザとして,adbgroupuser01を設定します。その際,プライマリグループとしてHADB管理グループ(adbgroup)を設定します。
useradd -g adbgroup adbgroupuser01
- メモ
-
HADB管理グループに所属するOSユーザが実行できるHADBのコマンドについては,マニュアルHADB コマンドリファレンスのコマンドの一覧と共通規則のコマンドの一覧を参照してください。
(5) サーバディレクトリを格納するディレクトリの作成
スーパユーザで,HADBサーバをインストールする際に必要なサーバディレクトリを格納するディレクトリを作成してください。サーバディレクトリを格納するディレクトリは,OSのmkdirコマンドで作成します。
サーバディレクトリを格納するディレクトリのパス名は,「/HADB」としてください。
- ■サーバディレクトリを格納するディレクトリの作成例
-
サーバディレクトリを格納するディレクトリ(/HADB)を作成します。
mkdir /HADB
なお,サーバディレクトリを格納するディレクトリ,およびサーバディレクトリを作成するディスクには,セクターサイズが512バイトまたは4,096バイトのディスクが使用できます。
(6) サーバディレクトリを格納するディレクトリの設定の変更
サーバディレクトリを格納するディレクトリ(/HADB)を作成したら,スーパユーザで,次の設定を変更してください。
-
サーバディレクトリを格納するディレクトリ(/HADB)の所有者とグループを変更する
ディレクトリの所有者を,HADB管理者(adbmanager)に変更してください。また,ディレクトリのグループを,HADB管理グループ(adbgroup)に変更してください。ディレクトリの所有者とグループは,OSのchownコマンドで変更します。
-
サーバディレクトリを格納するディレクトリ(/HADB)に書き込み権限を付与する
HADB管理者(adbmanager)が書き込みできるように,ディレクトリに書き込み権限を付与してください。ディレクトリの書き込み権限は,OSのchmodコマンドで付与します。
- ■サーバディレクトリを格納するディレクトリの設定の変更例
-
サーバディレクトリを格納するディレクトリ(/HADB)の所有者,およびグループを変更し,ディレクトリに書き込み権限を付与します。
chown adbmanager:adbgroup /HADB chmod 755 /HADB
(7) 通信情報ファイルを格納するディレクトリの作成
HADBサーバを動作させるために必要な通信情報ファイルを格納するディレクトリを作成してください。通信情報ファイルを格納するディレクトリは,OSのmkdirコマンドで作成します。
通信情報ファイルを格納するディレクトリのパス名,および付与するアクセス権限を次の表に示します。
項番 |
作成するディレクトリのパス名 |
所有者 |
アクセス権限 |
---|---|---|---|
1 |
/dev/HADB/pth |
スーパユーザ |
777 |
また,次に示す設定ファイルを作成する必要があります。
項番 |
作成する設定ファイル |
所有者 |
アクセス権限 |
---|---|---|---|
1 |
/etc/tmpfiles.d/dev-HADB-pth.conf |
スーパユーザ |
644(デフォルト) |
設定ファイル(dev-HADB-pth.conf)に入力する内容を次に示します。
# Type Path Mode UID GID Age Argument d /dev/HADB/pth 0777 root root - -
- ■通信情報ファイルを格納するディレクトリの作成例
-
通信情報ファイルを格納するディレクトリ(/dev/HADB/pth)を作成します。その際,アクセス権限として777を付与します。
mkdir -p -v -m 777 /dev/HADB/pth
- ■設定ファイルの作成例
-
設定ファイル(dev-HADB-pth.conf)を作成します。
次に示すOSのコマンドを実行してください。
vi /etc/tmpfiles.d/dev-HADB-pth.conf
viコマンドを実行したら,[I]キーを押してください。そのあとで,次に示す内容を入力してください。
# Type Path Mode UID GID Age Argument d /dev/HADB/pth 0777 root root - -
入力が完了したら,[Esc]キーを押してください。そのあとで,次に示すコマンドを入力して,[Enter]キーを押してください。
:wq
(8) 設定ファイルの変更
HADB管理者が自身に関するログにアクセスできるように,次の表に示す設定ファイルの内容を変更します。
項番 |
変更が必要な設定ファイル |
所有者 |
アクセス権限 |
---|---|---|---|
1 |
/etc/systemd/journald.conf |
スーパユーザ |
644(デフォルト) |
上記の設定ファイル中の[Journal]セクションのStorageオプションを次のように変更してください。
- <変更前>
-
[Journal] #Storage=auto
- <変更後>
-
[Journal] Storage=persistent
変更後の設定を有効にするために,次のコマンドを実行してください。
systemctl restart systemd-journald
(9) 設定ファイルの変更および作成(コアファイルの出力がsystemd-coredumpで制御されている場合)
コアファイルの出力がsystemd-coredumpで制御されている場合は,ここで説明する作業を実施してください。次のコマンドを実行すると,systemd-coredumpが有効かどうかを確認できます。
cat /proc/sys/kernel/core_pattern
上記のコマンドの実行結果に,次のようにsystemd-coredumpへのパスが含まれている場合は,systemd-coredumpが有効な状態です。
|/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %e
- メモ
-
RHEL 8以降ではsystemd-coredumpがデフォルトで有効になっています。
- ■/etc/systemd/coredump.confの変更
-
コアファイルの出力容量を増やすために,次の表に示す設定ファイルの内容を変更します。
表8‒5 変更が必要な設定ファイル 項番
変更が必要な設定ファイル
所有者
アクセス権限
1
/etc/systemd/coredump.conf
スーパユーザ
644(デフォルト)
上記の設定ファイル中の[Coredump]セクションのProcessSizeMaxオプション,およびExternalSizeMaxオプションを次のように変更します。
- <変更前>
-
[Coredump] #ProcessSizeMax=2G #ExternalSizeMax=2G
- <変更後>
-
[Coredump] ProcessSizeMax=15E ExternalSizeMax=15E
- ■/etc/systemd/system/systemd-coredump@.serviceの作成
-
systemd-coredumpの実行時間を十分に確保するために,次の表に示す設定ファイルを作成してください。
表8‒6 作成が必要な設定ファイル 項番
作成が必要な設定ファイル
所有者
アクセス権限
1
/etc/systemd/system/systemd-coredump@.service
スーパユーザ
644(デフォルト)
上記の設定ファイルは,次の場所からコピーしてください。
cp /usr/lib/systemd/system/systemd-coredump@.service /etc/systemd/system/systemd-coredump@.service
上記の設定ファイル中の[Service]セクションのRuntimeMaxSecオプションを,次のどちらかのように変更してください。
- <変更前>
-
[Service] RuntimeMaxSec=5min
- <変更後1>
-
[Service] #RuntimeMaxSec=5min
- <変更後2>
-
[Service] RuntimeMaxSec=infinity
(10) syslogのアクセス権限の変更
HADBサーバのメッセージが出力されるsyslogのアクセス権限を変更してください。syslogのアクセス権限は,OSのchmodコマンドで変更できます。
syslogのアクセス権限を変更することで,adbinfogetコマンドでトラブルシュート情報を取得するときに,syslogを取得できるようになります。
syslogのデフォルトのパス名,および付与するアクセス権限を次の表に示します。
項番 |
syslogのデフォルトのパス名 |
所有者 |
アクセス権限 |
---|---|---|---|
1 |
/var/log/messages※ |
スーパユーザ |
604 |
- 注※
-
HADBサーバのメッセージが出力されるsyslogを,/var/log/messagesから変更している場合は,変更先のsyslogに対してアクセス権限を付与してください。
- ■syslogのアクセス権限の変更例
-
syslog(/var/log/messages)のアクセス権限を604に変更します。
chmod 604 /var/log/messages