自動systemd管理を使用するTimesTenインスタンスの作成について

systemdは、Linuxオペレーティング・システム用のシステムおよびサービス・マネージャです。System V initメカニズムとsystemdの両方をサポートするLinuxシステムがある場合は、TimesTenデーモンの管理方法を選択できます。この項では、systemdについて説明します。

ノート:

  • TimesTenがOracle Clusterwareによって管理されている場合は、systemdをTimesTenデーモンの自動管理に使用できません。
  • systemdを使用したTimesTenデーモンの自動管理は、TimesTen Classicでのみサポートされています。TimesTen Scaleoutではサポートされていません。

systemdは、デーモンおよび関連するプロセスを起動および制御するためのサービス・ユニット・タイプを提供します。systemdは、名前が.serviceで終わるsystemdサービス・ユニット構成ファイルを使用して、デーモン・プロセスに関する情報をエンコードします。systemdは、この情報を使用してプロセスを制御および管理します。

TimesTen完全ディストリビューションは、TimesTen用にカスタマイズされたsystemdサービス・ユニット構成ファイルを提供します。その目的は、systemdがTimesTenデーモンを自動的に制御および管理できるように、必要な情報を提供することです。TimesTenは、インスタンス管理者がTimesTenインスタンスを作成するときに、このファイルをtimesten_home/startupディレクトリで使用できるようにします。このファイルはTimesTenサービス・ファイルと呼ばれます。tt_myinstance.serviceというネーミング規則があります。myinstanceはTimesTenインスタンスの名前です。このTimesTenサービス・ファイルから作成されたsystemdサービスは、TimesTenサービスと呼ばれます。このTimesTenサービスを有効にして開始すると、systemdによるTimesTenデーモンの自動管理が可能になります。

TimesTenサービス・ファイルは、systemdサービス・ユニット構成ファイルの要件に固有の形式であり、設定はTimesTen用にカスタマイズされています。systemdは、/etc/security/limits.confファイルのmemlockエントリを無視します。これらのmemlockエントリは、ユーザーがロックできるメモリーの量を制御し、TimesTenのオペレーティング・システムの要件を構成する際に重要な設定です。/etc/security/limits.confファイルのmemlockエントリを使用するかわりに、systemdがサービス・ユニット構成ファイルの#Service Limit SettingsセクションのLimitMEMLOCK設定を使用します(TimesTenサービス・ファイル)。この設定およびその他の2つの設定は、TimesTen環境にとって重要です。必要に応じて変更してください。

設定とその値は次のとおりです。
  • LimitNOFILE: 65536

  • LimitMEMLOCK: infinity

  • TasksMax: 65536

たとえば、TimesTenサービス・ファイルのセクションを次に示します。

% cat timesten_home/start/tt_myinstance.service
#
# Oracle TimesTen In-Memory Database
# Copyright (c) 2020, 2021, Oracle and/or its affiliates.
...
# Service Limit Settings
LimitNOFILE = 65536
LimitMEMLOCK = infinity
TasksMax=65536
...

ノート:

このファイルに他の変更を加えないでください。そうすると、TimesTenのsystemd構成が変更されます。
自動systemd管理を使用するTimesTenインスタンスを作成するプロセスには、次のものが含まれます。
  • systemd用のTimesTenインスタンスの構成: インスタンス管理者は、-systemdオプションを指定したttInstanceCreateユーティリティを使用してTimesTenインスタンスを作成します。または、インスタンス管理者はttInstanceCreateユーティリティを対話形式で実行できます。Would you like to use systemd to manage TimesTenの質問で入力を求められたら、インスタンス管理者はYesと回答します(またはデフォルトを受け入れます)。

  • Linuxカーネル・パラメータの構成: TimesTen完全インスタンスを作成した後、Linuxカーネル・パラメータを構成する必要があります。これには、shmmaxおよびshmmall共有メモリー・カーネル・パラメータ、HugePages、セマフォおよびSHMMNIパラメータが含まれます。

  • TimesTenサービス・ファイルの変更:

    必要に応じて、インスタンス管理者は、timesten_home/startup/tt_myinstance.service Times Tenサービス・ファイルの# Service Limit Settingsセクション内のLimitNOFILELimitMEMLOCKおよびTasksMax設定を変更します(myinstanceはTimesTenインスタンスの名前です)。これにより、TimesTen環境でオペレーティング・システムの制限要件が満たされます。

  • TimesTenユーティリティ・スクリプトのインストール:

    systemdを使用して構成されているTimesTenインスタンスは、自動的に有効になりません。rootユーザーは、timesten_home/bin/setuprootユーティリティ・スクリプトを-install  -systemdオプションとともに使用して、systemdによるTimesTenインスタンスの自動管理を有効にします。

参照情報: