Solaris のシステム管理 (IP サービス)

第 35 章 IPQoS の起動と保守(手順)

この章では、IPQoS 構成ファイルを有効化する方法および IPQoS 関連のイベントを記録する方法について説明します。次の項目について説明します。

IPQoS の管理 (作業マップ)

この節には、Oracle Solaris システム上で IPQoS を起動および保守するための一連の作業を示します。作業を行う前に、「IPQoS 構成ファイル内での QoS ポリシーの定義 (作業マップ)」に従って、IPQoS 構成ファイルを完成しておく必要があります。

次の表では、それらの作業について箇条書き形式で説明し、各作業を完了する方法が詳しく説明された節へのリンクを示しています。

作業 

説明 

説明 

1. システムで IPQoS を構成します。 

ipqosconf コマンドを使用して、システムの IPQoS 構成ファイルを有効にします。

「新規構成を IPQoS カーネルモジュールへ適用する方法」

2. Oracle Solaris 起動スクリプトを使用して、各システムの起動後にデバッグ済みの IPQoS 構成ファイルを適用します。 

システムを再起動するたびに、IPQoS 構成ファイルが確実に適用されるようにします。 

「再起動後にも IPQoS 構成を適用する方法」

3. syslog を使用した IPQoS のログ記録を有効にします。

エントリを追加して、syslog による IPQoS メッセージのログ記録を有効にします。

「起動時に IPQoS メッセージを記録する方法」

4. 発生する IPQoS の問題を解決します。 

エラーメッセージを利用して IPQoS の問題を解決します。 

表 35–1 のエラーメッセージを参照してください。

IPQoS 構成の適用

IPQoS 構成の有効化およびそのほかの操作には、 ipqosconf コマンドを使用します。

Procedure新規構成を IPQoS カーネルモジュールへ適用する方法

ipqosconf コマンドで、IPQoS 構成ファイルを読み取り、UNIX カーネルで IPQoS モジュールを構成します。次の手順では、Creating IPQoS Configuration Files for Web Serversで作成した 「Web サーバー用 IPQoS 構成ファイルの作成」 ファイルを例として使用します。詳細については、ipqosconf(1M) のマニュアルページを参照してください。

  1. IPQoS 対応システムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. 新規構成を適用します。


    # /usr/sbin/ipqosconf -a/var/ipqos/Goldweb.qos
    

    ipqosconf により、指定された IPQoS 構成ファイル内の情報が Oracle Solaris カーネル内の IPQoS モジュールに書き込まれます。この例では、/var/ipqos/Goldweb.qos の内容が現行の Oracle Solaris カーネルに適用されます。


    注 –

    -a オプションを指定して IPQoS 構成ファイルを適用すると、ファイル内のアクションが現行のセッションの間だけ有効になります。


  3. 新規 IPQoS 構成のテストおよびデバッグを行います。

    UNIX ユーティリティーを使用して、IPQoS の動作を追跡し、IPQoS 実装に関する統計を収集します。この情報は、構成が予想どおりに機能するかを判断するのに役立ちます。

参照

Procedure再起動後にも IPQoS 構成を適用する方法

再起動後にも IPQoS 構成を持続させるには、明示的に指定する必要があります。そのように指定しないと、システムの再起動後に現行の構成が適用されません。システムで IPQoS が適正に動作するときは、次の操作を実行して再起動後にも構成が持続するようにします。

  1. IPQoS 対応システムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. カーネルモジュール内に IPQoS 構成が存在することを確認します。


    # ipqosconf -l
    

    構成がすでに存在する場合は、ipqosconf によって画面に表示されます。出力が行われない場合は、「新規構成を IPQoS カーネルモジュールへ適用する方法」の説明に従って、構成を適用します。

  3. IPQoS システムを再起動するたびに既存の IPQoS 構成が適用されるようにします。


    # /usr/sbin/ipqosconf -c
    

    -c オプションを指定すると、現行の IPQoS 構成が、起動時の構成ファイル /etc/inet/ipqosinit.conf に書き込まれます。

IPQoS メッセージの syslog によるログ記録の有効化

IPQoS 起動時のメッセージを記録するには、次に示す手順に従って /etc/syslog.conf ファイルを変更する必要があります。

Procedure起動時に IPQoS メッセージを記録する方法

  1. IPQoS 対応システムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. /etc/syslog.conf ファイルを開きます。

  3. ファイルの最後に、次のエントリを追加します。


    user.info                 /var/adm/messages
    

    列の区切りは、空白ではなくタブを使用してください。

    このエントリを指定すると、IPQoS により生成された起動時のメッセージがすべて /var/adm/messages ファイルに記録されます。

  4. システムを再起動して設定を適用します。


例 35–1 /var/adm/messages からの IPQoS 出力

システムの再起動後に /var/adm/messages を表示すると、出力に次のような IPQoS ログメッセージが含まれることがあります。


May 14 10:44:33 ipqos-14 ipqosconf: [ID 815575 user.info]
 New configuration applied.
May 14 10:44:46 ipqos-14 ipqosconf: [ID 469457 user.info] 
Current configuration saved to init file.
May 14 10:44:55 ipqos-14 ipqosconf: [ID 435810 user.info]
Configuration flushed.

また、IPQoS システムの /var/adm/messages ファイル内に、次のような IPQoS エラーメッセージが表示される場合もあります。


May 14 10:56:47 ipqos-14 ipqosconf: [ID 123217 user.error]
 Missing/Invalid config file fmt_version.
May 14 10:58:19 ipqos-14 ipqosconf: [ID 671991 user.error] 
No ipgpc action defined.

これらのエラーメッセージについては、表 35–1 を参照してください。


IPQoS のエラーメッセージの障害追跡

この節には、IPQoS によって生成されるエラーメッセージと考えられる解決方法を示します。

表 35–1 IPQoS のエラーメッセージ

エラーメッセージ 

説明 

解決方法 

Undefined action in parameter parameter-name's action action-name

parameter-name に指定したアクション名が IPQoS 構成ファイル内に存在しません。

アクションを作成します。またはパラメータ内の別の既存のアクションを参照します。 

action action-name involved in cycle

IPQoS 構成ファイル内の action-name はアクション循環の一部です。これは IPQoS では許可されません。

アクション循環を決定します。次に、IPQoS 構成ファイルから循環参照の 1 つを削除します。 

Action action-name isn't referenced by any other actions

ipgpc アクション以外で、ほかの定義済みアクションにより参照されないアクション定義が IPQoS 構成内にあります。これは IPQoS では許可されません。

参照されていないアクションを削除します。または別のアクションに現在参照されていないアクションを参照させます。 

Missing/Invalid config file fmt_version

構成ファイルのフォーマットがファイルの最初のエントリに指定されていません。これは IPQoS では必須です。 

「IPQoS 構成ファイルを作成し、トラフィッククラスを定義する方法」の説明に従って、書式のバージョンを追加します。

Unsupported config file format version

IPQoS がサポートしないフォーマットのバージョンが、構成ファイル内で指定されています。 

フォーマットのバージョンを、Solaris 9 9/02 バージョンの IPQoS 実行に必要な fmt_version 1.0 以降に変更します。

No ipgpc action defined.

構成ファイル内で、ipgpc クラシファイアのアクションが定義されていません。これは IPQoS では必須です。

「IPQoS 構成ファイルを作成し、トラフィッククラスを定義する方法」のように ipgpc のアクションを定義します。

Can't commit a null configuration

ipqosconf -c を実行して空の構成をコミットしようとしました。IPQoS は空の構成を許可しません。

構成ファイルを確実に適用してから構成をコミットします。手順については、「新規構成を IPQoS カーネルモジュールへ適用する方法」を参照してください。

Invalid CIDR mask on line line-number

構成ファイル内で、CIDR マスクの IP アドレスとして無効なアドレスを使用しました。  

マスク値を 1–32 (IPv4 の場合) および 1–128 (IPv6 の場合) の範囲内の値に変更します。 

Address masks aren't allowed for host names line line-number

構成ファイル内で、ホストの CIDR マスク値を定義しました。これは IPQoS では許可されません。 

マスクを削除するか、あるいはホスト名を IP アドレスに変更します。 

Invalid module name line line-number

構成ファイル内のアクション文に無効なモジュール名を指定しました。 

モジュール名のスペルに入力ミスがないか確認します。IPQoS モジュールのリストについては、表 37–5 を参照してください。

ipgpc action has incorrect name line line-number

構成ファイル内で ipgpc アクションに付けた名前が、必須の ipgpc.classify ではありません。

アクション名を ipgpc.classify に変更します。

Second parameter clause not supported line line-number

構成ファイル内で、単一のアクションに対し 2 つのパラメータ句を指定しました。これは IPQoS では許可されません。 

アクションのパラメータすべてを結合して、単一のパラメータ句にします。 

Duplicate named action

構成ファイル内で、2 つのアクションに同じ名前を付けました。 

どちらかのアクションの名前を変更するか、あるいは削除します。 

Duplicate named filter/class in action action-name

1 つのアクション内の 2 つのフィルタまたは 2 つのクラスに同じ名前を付けました。これは IPQoS 構成ファイルでは許可されません。 

どちらかのフィルタまたはクラスの名前を変更するか、あるいは削除します。 

Undefined class in filter filter-name in action action-name

フィルタが、構成ファイル内のアクションで定義されていないクラスを参照します。 

クラスを作成するか、あるいは既存のクラスへの参照に変更します。 

Undefined action in class class-name action action-name

クラスが、構成ファイル内で定義されていないアクションを参照します。 

アクションを作成するか、あるいは既存のアクションへの参照に変更します。 

Invalid parameters for action action-name

構成ファイル内のパラメータのどれかが無効です。 

指名されたアクションが呼び出すモジュールについては、「IPQoS アーキテクチャーと Diffserv モデル」のモジュールエントリを参照してください。あるいは、ipqosconf(1M) のマニュアルページを参照します。

Mandatory parameter missing for action action-name

アクションに必要なパラメータが構成ファイル内に定義されていません。 

指名されたアクションが呼び出すモジュールについては、「IPQoS アーキテクチャーと Diffserv モデル」のモジュールエントリを参照してください。あるいは、ipqosconf(1M) のマニュアルページを参照します。

Max number of classes reached in ipgpc

IPQoS 構成ファイルの ipgpc アクションに、許可される数を超えたクラスを指定しました。最大数は 10007 です。

構成ファイルを確認して、不要なクラスを削除します。または、/etc/system ファイルにエントリ ipgpc_max_classesclass-number を追加して最大クラス数を増やすこともできます。

Max number of filters reached in action ipgpc

IPQoS 構成ファイルの ipgpc アクションに、許可される数を超えたフィルタを指定しました。最大数は 10007 です。

構成ファイルを確認して、不要なフィルタを削除します。または、/etc/system ファイルにエントリ ipgpc_max_filtersfilter-number を追加して最大フィルタ数を増やすこともできます。

Invalid/missing parameters for filter filter-name in action ipgpc

構成ファイル内で、フィルタ filter-name に無効なパラメータが指定されているか、あるいはパラメータが不足しています。

ipqosconf(1M) のマニュアルページで、有効なパラメータのリストを参照します。

Name not allowed to start with '!', line line-number

アクション、フィルタまたはクラス名の最初に感嘆符 (!) を記述しました。IPQoS ファイルでは感嘆符は許可されていません。 

感嘆符を削除するか、あるいは、アクション、クラス、またはフィルタの名前を変更します。 

Name exceeds the maximum name length line line-number

構成ファイル内のアクション、クラス、またはフィルタの名前が、最大長の 23 文字を超えています。 

アクション、クラス、またはフィルタの名前を短くします。 

Array declaration line line-number is invalid

構成ファイル内で、line-number 行のパラメータの配列宣言が無効です。

無効な配列を持つ action 文が呼び出す配列宣言の正しい構文については、「IPQoS アーキテクチャーと Diffserv モデル」を参照してください。あるいは、ipqosconf(1M) のマニュアルページを参照します。

Quoted string exceeds line, line-number

文字列の最後の閉じ引用符が同一行に存在しません。これは構成ファイルでは必須です。 

引用符で囲まれた文字列を、構成ファイルの同一行内に収めます。 

Invalid value, line line-number

構成ファイルの line-number に、パラメータとしてサポートされない値が指定されています。

action 文が呼び出すモジュールの許容値については、「IPQoS アーキテクチャーと Diffserv モデル」のモジュールの説明を参照してください。あるいは、ipqosconf(1M) のマニュアルページを参照します。

Unrecognized value, line line-number

構成ファイルの line-number に、パラメータとしてサポートされない列挙値が指定されています。

パラメータの列挙値が適正であるかどうかを確認します。認識されない行番号を持つ action 文の説明については、「IPQoS アーキテクチャーと Diffserv モデル」を参照してください。あるいは、ipqosconf(1M) のマニュアルページを参照します。

Malformed value list line line-number

構成ファイルの line-number で指定された列挙が、仕様構文に適合しません。

間違った形式の値リストを持つ action 文が呼び出すモジュールの正しい構文については、「IPQoS アーキテクチャーと Diffserv モデル」のモジュールの説明を参照してください。あるいは、ipqosconf(1M) のマニュアルページを参照します。

Duplicate parameter line line-number

重複したパラメータが line-number に指定されています。これは構成ファイルでは許可されません。

重複したパラメータのどちらかを削除します。 

Invalid action name line line-number

構成ファイルの line-number のアクションに、定義済みの名前 continue または drop を含む名前を付けました。

定義済みの名前を使用しないよう、アクションの名前を変更します。 

Failed to resolve src/dst host name for filter at line line-number, ignoring filter

構成ファイル内で、あるフィルタ用に定義された発信元または着信先アドレスを、ipqosconf が解釈処理できません。このため、このフィルタは無視されます。

フィルタが重要な場合、あとで構成の適用を試みます。 

Incompatible address version line line-number

line-number 上の IP バージョンのアドレスが、すでに指定済みの IP アドレスのバージョンまたは ip_version パラメータと互換性がありません。

競合する 2 つのエントリを変更して、互換性を持たせます。 

Action at line line-number has the same name as currently installed action, but is for a different module

システムの IPQoS 構成内にすでに存在するアクションのモジュールを変更しようとしました。これは許可されません。 

現行の構成をフラッシュしてから、新しい構成を適用します。