Cluster Server 7.4.3 付属エージェントリファレンスガイド - Linux
- 付属エージェントの概要
- ストレージエージェント
- DiskGroup エージェント
- DiskGroupSnap エージェント
- Volume エージェント
- VolumeSet エージェント
- LVMLogicalVolume エージェント
- LVMVolumeGroup エージェント
- Mount エージェント
- Mount エージェントの設定例
- VMwareDisksエージェント
- SFCache エージェント
- Network エージェント
- ネットワークエージェントについて
- IP エージェント
- NIC エージェント
- IPMultiNIC エージェント
- MultiNICA エージェント
- DNS エージェント
- AWSIP エージェント
- AWSRoute53 エージェント
- AzureDNSZone エージェント
- ファイル共有エージェント
- サービスエージェントとアプリケーションエージェント
- Apache HTTP サーバーエージェント
- Application エージェント
- CoordPoint エージェント
- KVMGuest エージェント
- KVMGuest エージェントに関する注意
- KVMGuest 環境の設定例
- RHEV 環境の設定例
- Process エージェント
- ProcessOnOnly エージェント
- インフラエージェントとサポートエージェント
- エージェントのテスト
- レプリケーションエージェント
- RVG エージェント
- RVGPrimary エージェント
- RVGSnapshot
- RVGShared エージェント
- RVGLogowner エージェント
- RVGSharedPri エージェント
- VFRJob エージェント
systemd サポートの必要条件
RHEL 7、SLES 12、それ以降の配布の場合、user.slice を使用する代わりに、system.slice でアプリケーションを開始できます。これを実行するには、アプリケーションのユニットサービスファイルを /etc/systemd/system/
の下に作成する必要があります。このユニットサービスファイル名は、システム標準の命名規則に従っている必要があり、重複しない名前である必要があります。
メモ:
ユニット設定を次のように変更したら、systemd デーモンを再ロードする必要があります。
systemctl --system daemon-reload
アプリケーションエージェントのユニットサービスファイルの設定例は次のとおりです。
ユニットサービスファイル名:
/etc/systemd/system/vcs-app1.service
ユニットサービスファイルコンテンツオプション 1:
[Unit] Description=Veritas Application service file Before=vcs.service [Service] Type=forking Restart=no KillMode=none ExecStart=appStartCommand >/dev/null 2>&1 </dev/null User=john
ここで、appStartCommand はアプリケーションを開始するコマンドです。
ユニットサービスファイルコンテンツオプション 2:
[Unit] Description=Veritas Application service file Before=vcs.service [Service] Type=forking Restart=no KillMode=none ExecStart=/Application/AppStartCustomScript.pl >/dev/null 2>&1 /null User=john
ここで、AppStartCustomScript.pl
はアプリケーションを開始するコマンドと、そのアプリケーションのエクスポートされる環境変数が格納されたスクリプトファイルです。
AppStartCustomScript.pl
ファイルのコンテンツ例
#!/usr/bin/perl use warnings; use strict; system('appStartCommand&');
ここで、appStartCommand はアプリケーションを開始するコマンドです。
次の表に、ユニットサービスファイル内のエントリがどのように解釈されるかを示します。
エントリ | 説明 |
---|---|
Before=vcs.service | このユニットサービスは、 |
Restart=no | このユニットサービスは、失敗後に再開されません。 |
KillMode=none | プロセスを停止するための強制終了信号はユニットサービスファイルに配信されません。その代わりに、VCS アプリケーションエージェントが StopProgram または CleanProgram を使用してこのタスクを処理します。 |
ExecStart=appStartCommand >/dev/null 2>&1 </dev/null または ExecStart=appStartScript >/dev/null 2>&1 </dev/null | アプリケーションを開始するために使用される直接コマンドまたはコマンドが含まれているスクリプトファイルのパスのいずれかです。 |
User=john | アプリケーションを開始または停止する権限がある OS ユーザーです。 メモ: アプリケーションリソースの User 属性の値は、root に設定されている必要があります。 アプリケーションエージェントの属性を参照してください。 |
EnvironmentFile=/tmp/envfile | アプリケーションの環境変数ファイルです。 |
次のコマンドとその出力例は、ユニットサービスファイルに指定されたアプリケーションユーザーによって、アプリケーションプロセスが開始されたことを示します。
[root@localhost]# ps -ef | grep -i appStartCommand
出力例は次のとおりです。
john 20845 1 0 15:29 ? 00:00:00 appStartCommand
リソースがオンラインになると、systemd コンテキスト内に次のように表れます。
[root@localhost]# systemd-cgls └─system.slice ├─sample_app.service │ └─20845 appStartCommand ├─vcs.service │ ├─20280 /opt/VRTSvcs/bin/had │ ├─20288 /opt/VRTSvcs/bin/hashadow │ ├─20307 /opt/VRTSvcs/bin/HostMonitor -type HostMonitor -agdir / │ └─20308 /opt/VRTSvcs/bin/Application/ApplicationAgent -type Application