Solaris のシステム管理 (基本編)

ディスクレスクライアント問題の障害追跡

ここでは、ディスクレスクライアントの一般的な問題と解決策をリスト表示します。

問題
  • OS サーバーがクライアント RARP 要求に応答しない

  • OS サーバーがクライアントの bootparam 要求に応答しない

  • OS サーバーがディスクレスクライアントのルートファイルシステムをマウントできない

解決法

ファイル環境

  • OS サーバーの /etc/nsswitch.conf ファイルの hostsethers、および bootparams の最初のソースとして files が設定されていることを確認する。

  • クライアントの IP アドレスが /etc/inet/hosts ファイルに設定されていることを確認する。

  • クライアントの Ethernet アドレスが /etc/ethers ファイルに表示されていることを確認する。

  • /etc/bootparams ファイルにクライアントのルートおよびスワップ領域への次のパスが含まれていることを確認する。


    client root=os-server:/export/root/client swap=os-server:
    /export/swap/client 
    

    スワップのサイズは、ディスクレスクライアントの追加時に -x swapsize オプションを指定したかどうかによって異なる。ディスクレスクライアントの追加時に -x dump オプションを指定した場合は、次の行が表示される。


    dump=os-server:/export/dump/client dumpsize=24

    ダンプサイズも、ディスクレスクライアントの追加時に -x dumpsize オプションを指定したかどうかによって異なる。

  • OS サーバーの IP アドレスが /export/root/client/etc/inet/hosts ファイルに設定されているかどうか確認する。

ネームサービス環境

  • OS サーバーとクライアントの Ethernet アドレスおよび IP アドレスが正しくマップされていることを確認する。

  • /etc/bootparams ファイルに、次のようにクライアントのルートおよびスワップ領域へのパスが含まれていることを確認する。


    client root=os-server:/export/
    root/client swap=os-server:/export/
    swap/client swapsize=24

    スワップのサイズは、ディスクレスクライアントの追加時に -x swapsize オプションを指定したかどうかによって異なる。ディスクレスクライアントの追加時に -x dump オプションを指定した場合は、次の行が表示される。


    dump=os-server:/export/dump/client dumpsize=24

    ダンプサイズも、ディスクレスクライアントの追加時に -x dumpsize オプションを指定したかどうかによって異なる。

問題

ディスクレスクライアントパニック

解決法
  • OS サーバーの Ethernet アドレスが IP アドレスに正しくマップされていることを確認する。システムをあるネットワークから別のネットワークに物理的に移動した場合、システムの新しい IP アドレスを再マップするのを忘れている可能性がある。

  • クライアントの RARP、TFTP、または bootparam 要求に応答する「同じサブネット」の別のサーバーのデータベースに、クライアントのホスト名、IP アドレス、および Ethernet アドレスが存在しないことを確認する。インストールサーバーから OS をインストールするために、しばしばテストシステムがセットアップされる。このような場合、インストールサーバーはクライアントの RARP または bootparam 要求に対して、正しくない IP アドレスを返す。この不正なアドレスにより、間違ったアーキテクチャのブートプログラムをダウンロードしたり、クライアントのルートファイルシステムのマウントが失敗したりしている可能性がある。

  • ディスクレスクライアントの TFTP 要求にインストールサーバー (または以前の OS サーバー) が応答しないことを確認する。このサーバーは不正なブートプログラムを転送している。ブートプログラムのアーキテクチャが異なる場合は、クライアントがただちにパニックになる。ブートプログラムが非 OS サーバーから読み込まれた場合、クライアントはそのルートパーティションを非 OS サーバー上に確保し、/usr パーティションを OS サーバー上に確保することがある。この状況では、ルートおよび /usr パーティションのアーキテクチャまたはバージョンが競合する場合、クライアントがパニックに陥る。

  • インストールサーバーと OS サーバーの両方を使用している場合は、/etc/dfs/dfstab ファイルに次のエントリがあることを確認する。


    share -F nfs -o -ro /export/exec/Solaris_version_instruction_set.all/usr
    

    ここで、version=2.6 2.78、または 9、また instruction_set=sparc または i386

  • ディスクレスクライアントのルート、/swap パーティション、および /dump (指定されている場合) パーティションに共有エントリがあることを確認する。


    share -F nfs -o rw=client,root=client /export/root/client 
    share -F nfs -o rw=client,root=client /export/swap/client 
    share -F nfs -o rw=client,root=client /export/dump/client 
    
  • OS サーバーで次のコマンドを入力し、共有されているファイルを確認する。


    % share
    

    OS サーバーでは、ディスクレスクライアントを追加したときに指定した、/export/root/client および/export/swap/client_name (デフォルト)、またはルート、/swap パーティション、および /dump パーティションを共有する必要がある。

    次のエントリが /etc/dfs/dfstab ファイルにあるかを確認する。


    share -F nfs -o ro /export/exec/Solaris_version_instruction_set.all/usr
    share -F nfs -o rw=client,root=client /export/root/client
    share -F nfs -o rw=client,root=client /export/swap/client
    

問題

OS サーバーがディスクレスクライアントの RARP 要求に応答しない

解決法

クライアントの目的の OS サーバーから、次のクライアントの Ethernet アドレスを使って snoop コマンドを root として実行する。


# snoop xx:xx:xx:xx:xx:xx

問題

ブートプログラムをダウンロードしたが、プロセスの初期にパニックが発生した

解決法

snoop コマンドを使用して、対象の OS サーバーがクライアントの TFTP および NFS 要求に応答するかどうかを確認する。

問題
  • ディスクレスクライアントのハングアップ

  • ディスクレスクライアントの RARP 要求に対するサーバーの応答が不正である

解決法

OS サーバーで次のデーモンを再起動する。


# /usr/sbin/rpc.bootparamd
# /usr/sbin/in.rarpd -a