Solaris のシステム管理 (基本編)
只搜寻这本书
查看这本书:
以 PDF 格式下载本书 (3233 KB)

第 7 章 ディスクレスクライアントの管理 (手順)

この章では、Solaris オペレーティングシステム (Solaris OS) でディスクレスクライアントを管理する方法について説明します。


注 –

ZFS ルートファイルシステムがインストールされているシステムでは、smosservice および smdiskless コマンドを使用できません。これは、ZFS ルートファイルシステムのインストールがサポートされているすべての Solaris リリースでの既知の問題です。

Solaris Flash インストール機能を使用すると、UFS ルートファイルシステムまたは ZFS ルートファイルシステムを実行するシステムをすばやくプロビジョニングできます。詳細は、『Solaris ZFS Administration Guide』「Installing a ZFS Root File System (Flash Archive Installation)」を参照してください。


ディスクレスクライアントの管理手順については、「ディスクレスクライアントの管理 (作業マップ)」を参照してください。ディスクレスクライアントの管理に関連するインストールの問題については、「ディスクレスクライアントのインストールの問題」を参照してください。ディスクレスクライアントの管理の概要については、第 6 章クライアントとサーバーサポートの管理 (概要)を参照してください。

ディスクレスクライアントの管理 (作業マップ)

次の表に、ディスクレスクライアントの管理に必要な手順を示します。

作業

説明

参照先

1. (省略可能) Solaris 管理コンソールのロギングを有効にしてディスクレスクライアントのエラーメッセージを表示します。

コンソールのメインウィンドウからログビューアを選択し、ディスクレスクライアントのエラーメッセージを表示します。

「Solaris 管理コンソールを起動する」

2. ディスクレスクライアントを追加する準備をします。

サポートされているリリースを確認し、各ディスクレスクライアントのプラットフォーム、メディアパス、およびクラスタ (またはソフトウェアグループ) を確認します。

「x86: GRUB ベースのブート環境にディスクレスクライアントを追加するための準備方法」

「Solaris 10 OS にディスクレスクライアントを追加するための準備方法」

3. 必要な OS サービスを OS サーバーに追加します。

smosservice コマンドを使用して、サポートするディスクレスクライアントの OS サービスを追加します。サポートする各ディスクレスクライアントプラットフォームのプラットフォームおよびメディアパスを識別する必要があります。

「ディスクレスクライアントサポートの OS サービスの追加方法」

4. OS サービスをサーバーに追加したときに失われた ARCH=all パッケージをすべて検出してインストールします。


注 –

これらのパッケージを各ディスクレスクライアントに個別に追加しなくてもいいように、ディスクレスクライアントサポートを追加する前にこの作業を行なってください。


smosservice add コマンドを実行しても、ARCH=all が指定されているルート (/) および /usr パッケージはどれもインストールされません。これらのパッケージは、OS サービスを OS サーバーに追加したあとに、手動でインストールする必要があります。

この作業は、Solaris 2.1 OS 以降で発生します。この作業は、SPARC および x86 の両方のプラットフォームに適用されます。失われる ARCH=all パッケージは、実行している Solaris OS によって異なります。

「失われた ARCH=all パッケージを検出してインストールする方法」

5. ディスクレスクライアントを追加します。

smdiskless コマンドを使用してすべての必須情報を指定し、ディスクレスクライアントサポートを追加します。

「x86: GRUB ベースのブート環境にディスクレスクライアントを追加する方法」

「Solaris 10 OS でディスクレスクライアントを追加する方法」

6. ディスクレスクライアントをブートします。

ディスクレスクライアントをブートして、ディスクレスクライアントが正常に追加されたことを確認します。

「x86: GRUB を使用してディスクレスクライアントをブートする方法」

「SPARC: Solaris 10 OS でディスクレスクライアントをブートする方法」

7. (省略可能) ディスクレスクライアントサポートを削除します。

必要がなくなった場合には、ディスクレスクライアントのサポートを削除します。

「ディスクレスクライアントサポートの削除方法」

8. (省略可能) ディスクレスクライアントの OS サービスを削除します。

必要がなくなった場合には、ディスクレスクライアントの OS サービスを削除します。

「ディスクレスクライアントの OS サービスを削除する方法」

9. (省略可能) OS サービスにパッチを適用します。

ディスクレスクライアント OS サービスのパッチを追加、削除、リスト表示、または同期化します。

「ディスクレスクライアントの OS パッチの追加方法」

ディスクレスクライアントの管理の準備

この節では、ディスクレスクライアントの管理に必要な準備作業について説明します。

ディスクレスクライアントを管理する場合には、次の点に注意してください。

  • Solaris インストールプログラムでは、ディスクレスクライアントサポートのセットアップを促すメッセージが表示されません。ディスクレスクライアントをサポートするには、手動で /export パーティションを作成する必要があります。/export パーティションの作成は、インストール中またはインストール後に行なってください。

  • /export パーティションには、サポートするクライアントの数に応じて、5G バイト以上の容量が必要です。詳細は、「OS サーバーに必要なディスク容量」を参照してください。

  • smosservice コマンドまたは smdiskless コマンドで指定したネームサービスは、/etc/nsswitch.conf ファイルで指定された一次ネームサービスと一致していなければなりません。smdiskless コマンドまたは smosservice コマンドにネームサービスを指定しない場合、デフォルトのネームサービスは files になります。

    ネームサーバーを指定するには、smosservice コマンドおよび smdiskless コマンドの -D オプションを使用します。詳細は、smosservice(1M) および smdiskless(1M) のマニュアルページを参照してください。

    Solaris 10 8/07 リリース以降では、Solaris 10 OS で配布されていた set_nfs4_domain スクリプトは、NFSv4 ドメインの設定に使用されなくなりました。NVSv4 ドメインを設定するには、nfs4_domain キーワードをディスクレスクライアントの sysidcfg ファイル (たとえば server:/export/root/client/etc/sysidcfg) に追加してください。

    クライアントシステムの sysidcfg ファイルに nfs4_domain キーワードがある場合は、ディスクレスクライアントの最初のブート時にドメインが適切に設定されます。また、OS サーバーは起動して稼働している必要があり、ディスクレスクライアントの NFSv4 ドメイン設定は OS サーバーの /var/run/nfs4_domain ファイル内の設定と一致している必要があります。

    詳細は、『Solaris 10 インストールガイド (ネットワークインストール)』「sysidcfg ファイルによる事前設定」を参照してください。

  • OS サーバーとディスクレスクライアントは、同じサブネット上になければなりません。

  • EFI ラベル付きディスク上にある UFS ファイルシステムには OS やディスクレスクライアントのサービスを追加「できない」ため、マルチテラバイト UFS ファイルシステムではクライアントサービスを提供できません。


    注 –

    EFI ラベル付きディスク上に存在している UFS ファイルシステムに OS およびディスクレスクライアントサービスを追加しようとすると、ディスク容量が不足していることを示す次のようなエラーメッセージが表示されます。


    The partition /export does not have enough free space.
    1897816 KB (1853.34 MB) additional free space required.
    Insufficient space available on
    /dev/dsk/c0t5d0s0 /export

各ディスクレスクライアントについてプラットフォーム、メディアパス、およびクラスタを決定したら、OS サービスを追加する準備ができたことになります。

追加する各 OS サービスについて、次のディレクトリが作成され移植されます。

  • /export/Solaris_version/Solaris_version-instruction-set.all (/export/exec/Solaris_ version/Solaris_version-instruction-set.all へのシンボリックリンク)

  • /export/Solaris_version

  • /export/Solaris_version/var

  • /export/Solaris_version/opt

  • /export/share

  • /export/root/templates/Solaris_version

  • /export/root/clone

  • /export/root/clone/Solaris_version

  • /export/root/clone/Solaris_version/ machine-class

追加する各ディスクレスクライアントについて、次のデフォルトのディレクトリが OS サーバー上に作成されます。

  • /export/root/diskless-client

  • /export/swap/diskless-client

  • /tftpboot/diskless-client-ipaddress-in-hex/export/dump/diskless-client (-x dump オプションを指定した場合)


注 –

smosservice および smdiskless コマンドの x オプションを使うと、ルート (/)、/swap-、および /dump ディレクトリのデフォルト位置を変更することができます。ただし、/export ファイルシステムの下にはこれらのディレクトリを作成しないでください。


过程x86: GRUB ベースのブート環境にディスクレスクライアントを追加するための準備方法

ディスクレスクライアントの追加の準備をするには、次の手順を実行します。この手順は、x86 システムでの一般的な説明になっています。

smosservice add コマンドを使用して OS サービスを追加する場合は、サポートする各ディスクレスクライアントプラットフォームのプラットフォーム、メディアパス、およびクラスタ (またはソフトウェアグループ) を指定する必要があります。

始める前に

サポートしているリリースが、OS サービスに指定されたシステム上で実行されていることを確認します。さらに、OS サーバーリリースとディスクレスクライアントリリースの組み合わせがサポートされていることも確認します。詳細は、「OS サーバーおよびディスクレスクライアントのサポート情報」を参照してください。

  1. 次の形式で使用されるディスクレスクライアントプラットフォームを識別します。

    instruction-set.machine-class.Solaris-version

    次に例を示します。

    i386.i86pc.Solaris_10

    次に、利用できるプラットフォームのオプションを示します。

    命令セット

    マシンクラス

    Solaris バージョン

    sparc

    sun4v

    sun4u、sun4m、sun4d、および sun4c

    Solaris 10 1/06 OS 以降

    Solaris 10、Solaris 9、および Solaris 8

    i386

    i86pc

    Solaris 10、Solaris 9、および Solaris 8


    注 –

    sun-4c アーキテクチャーは、Solaris 8、Solaris 9、Solaris 10 の各リリースではサポートされていません。sun-4d アーキテクチャーは、Solaris 9、Solaris 10 の各リリースではサポートされていません。sun-4m アーキテクチャーは、Solaris 10 リリースではサポートされていません。


  2. メディアパスを特定します。

    メディアパスは、ディスクレスクライアントにインストールする OS を含むディスクイメージのフルパスです。

    Solaris OS は、複数の CD で配布されます。ただし、smosservice コマンドでは、複数の CD から OS を読み込むことはできません。ユーザーは、次の操作を行うために Solaris SOFTWARE CD (および付属する LANGUAGES CD) にあるスクリプトを実行する必要があります。

  3. サーバー上にインストールイメージを作成します。インストールサーバーの設定方法については、『Solaris 10 インストールガイド (ネットワークインストール)』を参照してください。

  4. CD イメージから必要な OS サービスを読み込みます。

    次のいずれかのスクリプトを使用します。

    • CD 1 – /cdrom/cdrom0/Solaris_10/Tools/setup_install_server

    • その他の Solaris Software CD – /cdrom/cdrom0/Solaris_10/Tools/add_to_install_server

    • Language CD – /cdrom/cdrom0/Solaris_10/Tools/add_to_install_server

    たとえば、ローカルに接続された CD-ROM デバイス上の Solaris 10 SOFTWARE - 1 CD から setup_install_server スクリプトを使用する場合は、次のような構文になります。


    # mkdir /export/install/sol_10_x86
    # cd /cd_mount_point/Solaris_10/Tools
    
    # ./setup_install_server /export/install/sol_10_x86
    
  5. BootFile および BootSrvA DHCP オプションを DHCP サーバー構成に追加して、PXE ブートを有効にします。

    次に例を示します。


    Boot server IP (BootSrvA) : svr-addr
    (BootFile) : 01client-macro
    

    svr-addr は OS サーバーの IP アドレスです。client-macro は、クライアントの Ethernet タイプ (01) とクライアントの mac アドレスに基づいて作成された名前です。この番号は、インストールサーバーの /tftpboot ディレクトリで使用されるファイルの名前としても使われます。


    注 –

    client-macro は大文字で表記します。コロンは含めないでください。


    これらのオプションは、コマンド行から、または DHCP Manager を使用して追加できます。詳細は、例 7–4 を参照してください。

    詳細は、「x86: GRUB ベースのブートをネットワークから実行する方法」『Solaris 10 インストールガイド (ネットワークインストール)』「DHCP サービスによるシステム構成情報の事前設定 (作業)」、および『Solaris のシステム管理 (IP サービス)』のパート III「DHCP」を参照してください。

  6. ディスクに Solaris CD イメージをインストールしたあと、ディスクのメディアパスを書き留めておきます。次に例を示します。


    /net/export/install/sol_10_x86

    このディスクのメディアパスは、smosservice コマンドを使用するときに指定する必要があります。

  7. OS サービスを追加するときに SUNWCXall クラスタを特定します。

    同じシステム上で同じ OS が動作しているディスクレスクライアントには、同じクラスタを使用する必要があります。


    注 –

    クラスタには常に SUNWCXall を指定してください。


过程Solaris 10 OS にディスクレスクライアントを追加するための準備方法

smosservice add コマンドを使用して OS サービスを追加する場合は、サポートする各ディスクレスクライアントプラットフォームのプラットフォーム、メディアパス、およびクラスタ (またはソフトウェアグループ) を指定する必要があります。

始める前に

サポートしているリリースが、OS サービスに指定されたシステム上で実行されていることを確認します。さらに、OS サーバーリリースとディスクレスクライアントリリースの組み合わせがサポートされていることも確認します。詳細は、「OS サーバーおよびディスクレスクライアントのサポート情報」を参照してください。

  1. 次の形式で使用されるディスクレスクライアントプラットフォームを識別します。

    instruction-set.machine-class.Solaris- version

    次に例を示します。

    sparc.sun4u.Solaris_10

    次に、利用できるプラットフォームのオプションを示します。

    instruction-set

    machine-class

    Solaris_version

    sparc

    sun4v

    sun4c、sun4d、sun4m、sun4u

    Solaris 10 1/06 OS 以降

    Solaris_10、Solaris_9、および Solaris_8

    i386

    i86pc

    Solaris_10、Solaris_9、および Solaris_8


    注 –

    sun-4c アーキテクチャーは、Solaris 8、Solaris 9、Solaris 10 の各リリースではサポートされていません。sun-4d アーキテクチャーは、Solaris 9、Solaris 10 の各リリースではサポートされていません。sun-4m アーキテクチャーは、Solaris 10 リリースではサポートされていません。


  2. メディアパスを特定します。

    メディアパスは、ディスクレスクライアントにインストールする OS を含むディスクイメージのフルパスです。

    Solaris OS は、複数の CD で配布されます。ただし、smosservice コマンドでは、複数の CD から OS を読み込むことはできません。ユーザーは、次の操作を行うために Solaris SOFTWARE CD (および付属する LANGUAGES CD) にあるスクリプトを実行する必要があります。

  3. サーバー上にインストールイメージを作成します。インストールサーバーの設定方法については、『Solaris 10 インストールガイド (ネットワークインストール)』を参照してください。

  4. CD イメージから必要な OS サービスを読み込みます。

    次のいずれかのスクリプトを使用します。

    • Solaris _10 SOFTWARE - 1 CD – /cdrom/cdrom0/Solaris_10/Tools/setup_install_server

    • その他の Solaris Software CD – /cdrom/cdrom0/Solaris_10/Tools/add_to_install_server

    • Language CD – /cdrom/cdrom0/Solaris_10/Tools/add_to_install_server

    たとえば、ローカルに接続された CD-ROM デバイス上の Solaris 10 SOFTWARE - 1 CD から setup_install_server スクリプトを使用する場合は、次のような構文になります。


    # mkdir /export/install/sparc_10
    # cd /cd_mount_point/Solaris_10/Tools
    # ./setup_install_server /export/install/sparc_10
    
  5. ディスクに Solaris CD イメージをインストールしたあと、ディスクのメディアパスを指定します。次に例を示します。


    /export/install/sparc_10
  6. OS サービスを追加するときに SUNWCXall クラスタを特定します。

    同じシステム上で同じ OS が動作しているディスクレスクライアントには、同じクラスタを使用する必要があります。

    たとえば、次の Solaris 9 ディスクレスクライアントについて考えてみましょう。

    • sparc.sun4m.Solaris_9

    • sparc.sun4u.Solaris_9

    sun4u および sun4m システムでは SUNWCXall クラスタを要求するため、これらのディスクレスクライアントをセットアップするには、各ディスクレスクライアントに SUNWCXall クラスタを指定する必要があります。また、同じシステム上で同じオペレーティングリリース (この例では Solaris_9) が動作しているディスクレスクライアントには、同じクラスタを使用する必要があります。


    注 –

    sun4u システム、または 8 ビットの高速カラーメモリーフレームバッファー (cgsix) が搭載されたシステムを使用している場合には、クラスタに必ず SUNWCXall を指定してください。


过程ディスクレスクライアントサポートの OS サービスの追加方法

ディスクレスクライアントの OS サービスをサーバーに追加するには、次の手順を実行します。


注 –

smosservice add コマンドを使用して OS サービスを追加するときに、ARCH=all タイプのルート(/) パッケージと /usr パッケージはインストールされません。これらのパッケージは読み飛ばされます。警告やエラーメッセージは表示されません。OS サービスを OS サーバーに追加したあとに、失われたパッケージを手動でインストールする必要があります。手順については、「失われた ARCH=all パッケージを検出してインストールする方法」を参照してください。


  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. Solaris 管理コンソールサーバーが実行中であり、システムでディスクレスクライアントツールが使用できることを確認します。


    # /usr/sadm/bin/smosservice list -H host-name:898 --
    
  3. OS サービスを追加します。


    # /usr/sadm/bin/smosservice add -H host-name
    :898 -- -o 
    host-name 
    -x mediapath=path -x platform=
    instruction-set.machine-class
    .Solaris_version 
    -x cluster=cluster-name 
    -x locale=locale-name
    
    add

    指定された OS サービスを追加します。

    -H host-name:898

    接続するホスト名とポートを指定します。ポートを指定しない場合は、デフォルトポート 898 に接続されます。


    注 –

    smossservice コマンドを使って OS サービスを追加する場合は、-H オプションは必要ありません。


    --

    これ以降のサブコマンド引数が始まることを示します。

    -x mediapath=path

    Solaris イメージのフルパスを指定します。

    -x platform=instruction-set.machine-class. .Solaris_version

    追加する命令アーキテクチャー、マシンクラス、および Solaris バージョンを指定します。

    -x cluster=cluster-name

    インストールする Solaris クラスタを指定します。

    -x locale=locale-name

    インストールするロケールを指定します。


    注 –

    サーバーの処理速度および選択した OS サービスの構成により、インストールプロセスには 45 分ほどかかることがあります。


    詳細は、smosservice(1M) のマニュアルページを参照してください。

  4. (省略可能) ほかの OS サービスを追加します。

  5. OS サービスを追加し終わったら、OS サービスがインストールされているかどうか確認します。


    # /usr/sadm/bin/smosservice list -H host-name:898 --
    

例 7–1 SPARC: ディスクレスクライアントサポートの OS サービスを追加する

この例では、サーバー jupiter で SPARC 版 Solaris 10 の OS サービスを追加する方法を示します。サーバー jupiter では Solaris 10 リリースが動作しています。SPARC 版 Solaris 10 OS の CD イメージは、インストールサーバー myway/export/s10/combined.s10s_u2wos/61 にあります。


# /usr/sadm/bin/smosservice add -H jupiter:898 -- -o jupiter 
-x mediapath=/net/myway/export/s10/combined.s10s_u2wos/61
-x platform=sparc.sun4u.Solaris_10 
-x cluster=SUNWCXall -x locale=en_US

# /usr/sadm/bin/smosservice list - H jupiter:898
Authenticating as user: root

Type /? for help, pressing enter accepts the default denoted by [ ]
Please enter a string value for: password :: xxxxxx
Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli
from jupiter:898
Login to jupiter as user root was successful.
Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from jupiter:898 
was successful.


例 7–2 x86: ディスクレスクライアントサポートの OS サービスを追加する

この例では、サーバー orbit で x86 版 Solaris 10 の OS サービスを追加する方法を示します。サーバー orbit では Solaris10 リリースが動作しています。x86 版 Solaris 10 OS の CD イメージは、インストールサーバー seriously/export/s10/combined.s10x_u2wos/03 にあります。


# /usr/sadm/bin/smosservice add -H orbit:898 -- -o orbit -x
mediapath=/net/seriously/export/s10u2/combined.s10x_u2wos/03 -x
platform=i386.i86pc.Solaris_10 -x cluster=SUNWCXall -x locale=en_US

# /usr/sadm/bin/smosservice list - H orbit:898
Type /? for help, pressing <enter> accepts the default denoted by [ ]
Please enter a string value for: password ::
Starting Solaris Management Console server version 2.1.0.
endpoint created: :898
Solaris Management Console server is ready.
Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from orbit:898
Login to orbit as user root was successful.
Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from orbit:898 was successful.
Client       	Root Area
                Swap Area
                Dump Area
--------------------------------------------------------------------------------
.
.
.
#

次の手順

smosservice add コマンドを実行して OS サービスを OS サーバーに追加したときに失われた ARCH=all パッケージをすべて検出し、それらをインストールします。詳細は、「失われた ARCH=all パッケージを検出してインストールする方法」を参照してください。

过程x86: GRUB ベースのブート環境にディスクレスクライアントを追加する方法

Solaris 10 1/06 リリース以降では、OS サービスを追加したあとに、次の手順を実行してディスクレスクライアントを追加します。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. ディスクレスクライアントを追加します。


    # /usr/sadm/bin/smdiskless add -- -i 
    ip-address -e ethernet-address 
    -n client-name -x os=
    instruction-set.machine-class.Solaris_
    version 
    -x root=/export/root/client-name 
    -x swap=/export/swap/client-name 
    -x swapsize=size -x tz=
    time-zone -x locale=
    locale-name
    
    add

    指定したディスクレスクライアントを追加します。

    --

    これ以降のサブコマンド引数が始まることを示します。

    -i ip-address

    ディスクレスクライアントの IP アドレスを指定します。

    -e ethernet-address

    ディスクレスクライアントのイーサネットアドレスを識別します。

    -n client-name

    ディスクレスクライアントの名前を指定します。

    -x os=instruction-set.machine-class .Solaris_version

    ディスクレスクライアントの命令アーキテクチャー、マシンクラス、OS、および Solaris バージョンを指定します。

    -x root=/export/root/client-name

    ディスクレスクライアントのルート (/) ディレクトリを指定します。

    -x swap=/export/root/client-name

    ディスクレスクライアントのスワップファイルを指定します。

    -x swapsize=size

    スワップファイルのサイズをメガバイト (M バイト) で指定します。デフォルトは 24M バイトです。

    -x tz=time-zone

    ディスクレスクライアントの時間帯を指定します。

    -x locale=locale-name

    ディスクレスクライアントをインストールするロケールを指定します。

    詳細は、smdiskless(1M) のマニュアルページを参照してください。

  3. まだ作成されていない場合は、DHCP サーバー構成に BootSrva および BootFile DHCP オプションを追加して、PXE ブートを有効にします。

    次に例を示します。


    Boot server IP (BootSrvA) : svr-addr 
    Boot file (BootFile) : 01client-macro
    

    svr-addr はサーバーの IP アドレスです。client-macro は、クライアントの Ethernet タイプ (01) とクライアントの mac アドレスに基づいて作成された名前です。この番号は、インストールサーバーの /tftpboot ディレクトリで使用されるファイルの名前としても使われます。


    注 –

    client-macro は大文字で表記します。コロンは含めないでください。


    次のファイルとディレクトリが /tftpboot ディレクトリに作成されます。


    drwxr-xr-x   6 root sys     512 Dec 28 14:53 client-host-name
    
    lrwxrwxrwx   1 root root     31 Dec 28 14:53 menu.lst.01ethernet-address
    
    						-> /tftpboot/client-host-name/grub/menu.lst
    -rw-r--r--   1 root root 118672 Dec 28 14:53 01ethernet-address
    
  4. コンソールがシリアルポート上にある場合は、/tftpboot/menu.lst.01ethernet-address ファイルを編集します。tty 設定を指定する行のコメントを解除します。

    クライアントに作成されるデフォルトの menu.lst ファイルを変更する場合は、/usr/sadm/lib/wbem/config_tftp ファイルの echo 行を編集します。

    詳細は、「x86 システムをネットワークからブートする」を参照してください。

  5. ディスクレスクライアントがインストールされたことを確認します。


    # /usr/sadm/bin/smdiskless list -H host-name:898 --
    
  6. (省略可能) smdiskless add コマンドを続けて使用して、各ディスクレスクライアントを追加します。


例 7–3 x86: GRUB ブート環境の x86 システムにディスクレスクライアントサポートを追加する

この例では、Solaris 10 x86 ベースのディスクレスクライアント mikey1 を追加する方法を示します。


rainy-01# /usr/sadm/bin/smdiskless add -H sdts-01-qfe0 -- -o sdts-01-qfe0
-n mikey1 -i 192.168.20.22 -e 00:E0:88:55:33:BC -x os=i386.i86pc.Solaris_10
-x root=/export/root/mikey1 -x swap=/export/swap/mikey1


Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli
from  sdts-01-qfe0
Login to rainy-01-qfe0 as user root was successful.
Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from
rainy-01-qfe0 was successful.

# /usr/sadm/bin/smdiskless list -H mikey1:898 --
Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from mikey1:898
Login to mikey1 as user root was successful.
Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from mikey1:898 was 
successful.
Platform
--------------------------------------------------------------------------------
i386.i86pc.Solaris_10                                                           
sparc.sun4us.Solaris_10                                                         
sparc.sun4u.Solaris_10                                                          
i386.i86pc.Solaris_9                                                            


例 7–4 x86: BootSrvA および BootFile DHCP オプションを DHCP サーバー構成に追加する

この例では、PXE ブートを有効にするために必要な BootSrva および BootFile DHCP オプションを追加する方法を示します。


rainy-01# pntadm -A mikey1 -m  0100E0885533BC -f 'MANUAL+PERMANENT' \
-i 0100E0885533BC 192.168.0.101

rainy-01# dhtadm  -A -m 0100E0885533BC -d \
":BootSrvA=192.168.0.1:BootFile=0100E0885533BC:"

この例のサーバーアドレスはサーバーの IP アドレスであり、クライアントマクロの名前はクライアントの Ethernet タイプ (01) と mac アドレスに基づいて作成されています。この番号は、インストールサーバーの /tftpboot ディレクトリで使用されるファイルの名前としても使われます。クライアントマクロの表記は大文字で構成されます。また、このマクロにコロンを含めないようにしてください。


过程Solaris 10 OS でディスクレスクライアントを追加する方法

OS サービスを追加した後に、ディスクレスクライアントを追加するには、次の手順を実行します。特に記載している場合を除いて、この手順は、SPARC システムと x86 システムについての一般的な説明になっています。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. ディスクレスクライアントを追加します。


    # /usr/sadm/bin/smdiskless add -- -i 
    ip-address -e ethernet-address 
    -n client-name -x os=
    instruction-set.machine-class.Solaris_
    version 
    -x root=/export/root/client-name 
    -x swap=/export/swap/client-name 
    -x swapsize=size -x tz=
    time-zone -x locale=
    locale-name
    
    add

    指定したディスクレスクライアントを追加します。

    --

    これ以降のサブコマンド引数が始まることを示します。

    -i ip-address

    ディスクレスクライアントの IP アドレスを指定します。

    -e ethernet-address

    ディスクレスクライアントのイーサネットアドレスを識別します。

    -n client-name

    ディスクレスクライアントの名前を指定します。

    -x os=instruction-set.machine-class. .Solaris_version

    ディスクレスクライアントの命令アーキテクチャー、マシンクラス、OS、および Solaris バージョンを指定します。

    -x root=/export/root/client-name

    ディスクレスクライアントのルート (/) ディレクトリを指定します。

    -x swap=/export/root/client-name

    ディスクレスクライアントのスワップファイルを指定します。

    -x swapsize=size

    スワップファイルのサイズをメガバイト (M バイト) で指定します。デフォルトは 24M バイトです。

    -x tz=time-zone

    ディスクレスクライアントの時間帯を指定します。

    -x locale=locale-name

    ディスクレスクライアントをインストールするロケールを指定します。

    詳細は、smdiskless(1M) のマニュアルページを参照してください。

  3. (省略可能) smdiskless add コマンドを続けて使用して、各ディスクレスクライアントを追加します。

  4. ディスクレスクライアントがインストールされたことを確認します。


    # /usr/sadm/bin/smdiskless list -H host-name:898 --
    

例 7–5 SPARC: ディスクレスクライアントサポートを SPARC システムに追加する

この例では、サーバー bearclaus から Solaris 10 sun4u ディスクレスクライアント starlite を追加する方法を示します。


# /usr/sadm/bin/smdiskless add -- -i 172.20.27.28 -e 8:0:20:a6:d4:5b 
-n starlite -x os=sparc.sun4u.Solaris_10 -x root=/export/root/starlite 
-x swap=/export/swap/starlite -x swapsize=128 -x tz=US/Mountain 
-x locale=en_US

# /usr/sadm/bin/smdiskless list -H starlite:898 --
Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from line2-v480:898
Login to line2-v480 as user root was successful.
Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from line2-v480:898 was 
successful.
Platform
--------------------------------------------------------------------------------
i386.i86pc.Solaris_10                                                           
sparc.sun4us.Solaris_10                                                         
sparc.sun4u.Solaris_10                                                          
i386.i86pc.Solaris_9                                                            
sparc.sun4m.Solaris_9                                                           
sparc.sun4u.Solaris_9                                                           
sparc.sun4us.Solaris_9

smdiskless list -H コマンド出力には SPARC と x86 の両方のシステムが表示されます。



例 7–6 x86: Solaris 10 OS の x86 システムにディスクレスクライアントサポートを追加する

この例では、サーバー bearclaus から Solaris 10 x86 の ディスクレスクライアント mars を追加する方法を示します。


# /usr/sadm/bin/smdiskless add -- -i 172.20.27.176 -e 00:07:E9:23:56:48
-n mars -x os=i386.i86pc.Solaris_10 -x root=/export/root/mars 
-x swap=/export/swap/mars -x swapsize=128 -x tz=US/Mountain 
-x locale=en_US

过程x86: GRUB を使用してディスクレスクライアントをブートする方法

Solaris 10 1/06 OS 以降をインストールした場合、または Solaris 10 1/06 OS 以降にアップグレードした場合は、ディスクレスクライアントのブート手順が変更されています。GRUB を使用してディスクレスクライアントをブートする場合は、次の手順で行います。


注 –

Solaris 10 6/06 リリース以降では、GRUB のフェイルセーフ対話操作が変更されています。フェイルセーフアーカイブをブートするときに、ブートアーカイブの自動更新を要求されることがなくなりました。ブートアーカイブの更新を要求されるのは、矛盾したブートアーカイブが検出された場合だけです。詳細は、「GRUB を使用して x86 システムでフェイルセーフアーカイブをブートする方法」を参照してください。


始める前に

システムをネットワークブートできるように、OS サーバーが次の要件を満たしていることを確認してください。

  • ディスクレスクライアントおよび OS サービスの追加に使用するネームサービスがサーバーの /etc/nsswitch.conf ファイルのプライマリ名に一致していることを確認します。

  • DHCP サービスと tftp ブートサービスが実行中であることを確認します。

  • システムをネットワークブートするために、システム BIOS の PXE ROM オプションが有効になるように設定します。

    PXE 対応ネットワークアダプタの中には、ブート時にしばらく表示されるプロンプトに対して特定のキーを押すと、PXE ブートを実行する機能を持つものがあります。ブートの優先順位を BIOS で設定する方法については、ハードウェアのマニュアルを参照してください。

  1. 適切なキーの組み合わせを入力して、ディスクレスクライアントをブートします。

    GRUB メニューが表示されます。

    ネットワークインストールサーバーの設定によっては、使用するシステムに表示される GRUB メニューがここで示した GRUB メニューと異なる可能性があります。

  2. 矢印キーを使ってブートエントリを選択して、Enter キーを押します。

    選択しない場合は、数秒後にデフォルトの OS インスタンスが自動的にブートします。

    • ブート時に GRUB メニューを編集して GRUB カーネル動作を変更する必要がある場合には、矢印キーを使ってブートエントリを選択したあと、e と入力してそのエントリを編集します。


      注 –

      この例は、GRUB マルチブート実装を示しています。GRUB メニューは、実行している Solaris リリースに応じて異なります。


      編集するブートコマンドが、GRUB 編集画面に表示されます。

      ブート時にカーネルの動作を変更する方法については、第 11 章Solaris ブート動作の変更 (手順)を参照してください。

    • 編集を保存して GRUB メニューに戻るには、Enter キーを押します。

      GRUB メニューが開き、ブートコマンドに加えた編集が表示されます。

    • b キーを押して、ネットワークからシステムをブートします。

过程SPARC: Solaris 10 OS でディスクレスクライアントをブートする方法

始める前に

OS サーバーの次の必要条件を確認します。

  • ディスクレスクライアントおよび OS サービスの追加に使用するネームサービスがサーバーの /etc/nsswitch.conf ファイルのプライマリ名に一致していることを確認します。

    一致しない場合は、ディスクレスクライアントがブートしません。

  • rpc.bootparamd デーモンが実行中かどうか確認します。実行中でない場合には起動します。

  1. ディスクレスクライアントをブートします。


    ok boot net
    

过程ディスクレスクライアントサポートの削除方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. ディスクレスクライアントサポートを削除します。


    # /usr/sadm/bin/smdiskless delete -- -o host-name
    :898 -n client-name
    
  3. ディスクレスクライアントサポートが削除されたことを確認します。


    # /usr/sadm/bin/smosservice list -H host-name:898 --
    

例 7–7 ディスクレスクライアントサポートを削除する

この例では、OS サーバー starlite からディスクレスクライアント holoship を削除する方法を示します。


# /usr/sadm/bin/smdiskless delete -- -o starlite:898 -n holoship

Authenticating as user: root

Type /? for help, pressing enter accepts the default denoted by [ ]
Please enter a string value for: password :: 
Starting SMC server version 2.0.0.
endpoint created: :898
SMC server is ready.

# /usr/sadm/bin/smosservice list -H starlite:898 --
Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from starlite
Login to starlite as user root was successful.
Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from starlite
was successful.

过程ディスクレスクライアントの OS サービスを削除する方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. ディスクレスクライアントの OS サービスを削除します。


    # /usr/sadm/bin/smosservice delete -H $HOST:$PORT -u root -p $PASSWD -- 
    -x instruction-set.all.Solaris_version
    

    注 –

    machine-class は all のみがサポートされています。


  3. OS サービスが削除されたことを確認します。


    # /usr/sadm/bin/smosservice list -H host-name:898 --
    

例 7–8 ディスクレスクライアントの OS サービスを削除する

次の例では、サーバー starlite からディスクレスクライアントの OS サービス (sparc.all.Solaris_10) を削除する方法を示します。


# /usr/sadm/bin/smosservice delete -H starlite:898 -u root
-p xxxxxx -- -x sparc.all.solaris_10
Authenticating as user: root
Type /? for help, pressing enter accepts the default denoted by [ ]
Please enter a string value for: password :: 

# /usr/sadm/bin/smosservice list -H starlite:898 --
Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from starlite:898
Login to starlite as user root was successful.
Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from starlite:898
was successful

ディスクレスクライアント OS サービスにパッチを適用する

smosservice patch コマンドを使うと次の操作を実行できます。

  • OS サーバー上に /export/diskless/Patches パッチスプールディレクトリを設定します。

  • パッチスプールディレクトリにパッチを追加します。追加するパッチにより、スプールの既存のパッチが不要になると、不要なパッチは /export/diskless/Patches/Archive に移動されます。

  • パッチスプールディレクトリからパッチを削除します。

  • パッチスプールディレクトリ内のパッチをリスト表示します。

  • スプールされたパッチをクライアントに同期させます。クライアントが更新されたパッチを認識できるように、同期させた各クライアントをリブートする必要があります。


注 –

推奨 OS パッチを定期的にインストールして、OS サーバーを最新の状態に保ってください。


パッチのダウンロード方法については、「Solaris パッチをダウンロードおよび適用する方法」を参照してください。

ディスクレスクライアントの OS パッチの表示

ディスクレスクライアントのパッチは、パッチのタイプに応じて、異なるディレクトリにロギングされます。

  • カーネルパッチは、ディスクレスクライアントの /var/sadm/patch ディレクトリにロギングされます。カーネルパッチを表示するには、ディスクレスクライアントで次のコマンドを入力します。


    % patchadd –p
    

    注 –

    このコマンドを実行するには、ディスクレスクライアントにログインしている必要があります。OS サーバー上で patchadd -p コマンドを実行すると、OS サーバー用のカーネルパッチだけが表示されます。


  • /usr パッチは、OS サーバーの /export/Solaris_version/var/patch ディレクトリにロギングされます。パッチ ID ごとにディレクトリが作成されます。/usr パッチを表示するには、OS サーバーで次のコマンドを入力します。


    % patchadd -S Solaris_version -p
    Patch: 111879-01 Obsoletes: Requires: Incompatibles: Packages: SUNWwsr

OS およびアーキテクチャーによりスプールされたすべてのパッチを表示するには、-P オプションを指定した smosservice コマンドを使用します。

过程ディスクレスクライアントの OS パッチの追加方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. ディスクレスクライアントシステムにログインし、シャットダウンします。


    # init 0
    
  3. パッチをスプールディレクトリに追加します。


    # /usr/sadm/bin/smosservice patch -- -a /var/patches/
    patch-ID-revision
    

    追加するパッチが別のパッチに依存する場合は、次のメッセージが表示され、パッチを追加できません。


    The patch patch-ID-revision could not be added 
    because it is dependent on other patches which have not yet been spooled. 
    You must add all required patches to the spool first.
  4. パッチがスプールされたことを確認します。


    # /usr/sadm/bin/smosservice patch -- -P
    
  5. スプールされたパッチをディスクレスクライアントにプッシュします。


    # /usr/sadm/bin/smosservice patch -- -m -U
    

    注 –

    パッチをディスクレスクライアントにプッシュおよび同期させるには、1 パッチあたり最大 90 分ほどかかることがあります。


  6. パッチがディスクレスクライアントに適用されたことを確認します。


    # /usr/sadm/bin/smosservice patch -- -P
    

例 7–9 ディスクレスクライアントの OS パッチを追加する

この例では、Solaris 8 パッチ (111879-01) をサーバーのディスクレスクライアントの OS サービスに追加する方法を示します。


# /usr/sadm/bin/smosservice patch -- -a /var/patches/111879-01

Authenticating as user: root

Type /? for help, pressing <enter> accepts the default denoted by [ ]
Please enter a string value for: password :: 
Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from starlite
Login to starlite as user root was successful.
Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from starlite 
was successful..
.
# /usr/sadm/bin/smosservice patch -- -P
Patches In Spool Area
Os Rel Arch   Patch Id  Synopsis
-------------------------------------------------------------------------
8      sparc  111879-01 SunOS 5.8: Solaris Product Registry patch SUNWwsr  

Patches Applied To OS Services
Os Service                              Patch
-------------------------------------------------------------------------
Solaris_8                               

Patches Applied To Clone Areas
Clone Area                              Patch
-------------------------------------------------------------------------
Solaris_8/sun4u          Patches In Spool Area
Os Rel Arch   Patch Id  Synopsis
----------------------------------------------------------------------------
8      sparc  111879-01 SunOS 5.8: Solaris Product Registry patch SUNWwsr   
.
.
.
# /usr/sadm/bin/smosservice patch -- -m -U
Authenticating as user: root

Type /? for help, pressing <enter> accepts the default denoted by [ ]
Please enter a string value for: password :: 
Loading Tool: com.sun.admin.osservermgr.cli.OsServerMgrCli from starlite
Login to starlite as user root was successful.
Download of com.sun.admin.osservermgr.cli.OsServerMgrCli from starlite 
was successful.

# /usr/sadm/bin/smosservice patch -- -P
Authenticating as user: root
.
.
.
Patches In Spool Area
Os Rel Arch   Patch Id  Synopsis
----------------------------------------------------------------------------
8      sparc  111879-01 SunOS 5.8: Solaris Product Registry patch SUNWwsr   

Patches Applied To OS Services
Os Service                              Patch
----------------------------------------------------------------------------
Solaris_8                               

Patches Applied To Clone Areas
Clone Area                              Patch
----------------------------------------------------------------------------
Solaris_8/sun4u

ディスクレスクライアント問題のトラブルシューティング

この節では、ディスクレスクライアントを管理するときに発生する問題と、それらに適用できる解決方法について説明します。

ディスクレスクライアントのインストールの問題

smosservice add コマンドを実行しても、ルート (/) および /usr ファイルシステム内の ARCH=all が指定されているパッケージは、いずれもインストールされません。つまり、これらのパッケージは読み飛ばされます。警告やエラーメッセージは表示されません。これらのパッケージは、新規に作成した Solaris OS サービスに手動で追加する必要があります。この作業は、Solaris 2.1 OS 以降で発生します。この作業は、SPARC および x86 の両方のクライアントに適用されます。失われるパッケージのリストは、稼働している Solaris OS によって異なります。

过程失われた ARCH=all パッケージを検出してインストールする方法

ここでは、Solaris OS サービスをサーバー上に作成したあとに、失われた ARCH=all パッケージを検出してインストールする方法について説明します。この手順で取り上げる例は、Solaris 10 6/06 OS を対象としています。

  1. ARCH=all パラメータが指定されたすべてのパッケージを検出します。

    1. Solaris 10 イメージ用のメディアの Product ディレクトリに移動します。次に例を示します。


      % cd /net/server/export/Solaris/s10u2/combined.s10s_u2wos/latest/Solaris_10/Product
      
    2. pkginfo ファイルにあるパッケージのうち、ARCH=all パラメータが指定されているパッケージの一覧を表示します。


      % grep -w ARCH=all */pkginfo
      

      引数のリストが長すぎるというエラーメッセージが表示される場合は、次のコマンドを代わりに実行してリストを生成できます。


      % find . -name pkginfo -exec grep -w ARCH=all {} /dev/null \;
      

      このコマンドは、結果の生成に少し時間がかかります。

      出力は、次のようになります。

      ./SUNWjdmk-base/pkginfo:ARCH=all
      ./SUNWjhdev/pkginfo:ARCH=all
      ./SUNWjhrt/pkginfo:ARCH=all
      ./SUNWjhdem/pkginfo:ARCH=all
      ./SUNWjhdoc/pkginfo:ARCH=all
      ./SUNWmlibk/pkginfo:ARCH=all

      このリストの情報を使用して、/usr ファイルシステムにインストールされているパッケージと、ルート (/) ファイルシステムにインストールされているパッケージを特定できます。

    3. 生成されたパッケージリストで、SUNW_PKGTYPE パラメータの値を確認します。

      /usr ファイルシステムに属しているパッケージには、pkginfo ファイルで SUNW_PKGTYPE=usr が設定されています。ルート (/) ファイルシステムに属しているパッケージには、pkginfo ファイルで SUNW_PKGTYPE=root が設定されています。この出力では、すべてのパッケージが /usr ファイルシステムに属しています。

  2. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  3. 一時インストール管理ファイルを作成します。

    ルート (/) ファイルシステムにインストールされているパッケージと、/usr ファイルシステムにインストールされているパッケージには、それぞれ個別にインストール管理ファイルを作成する必要があります。

    • /usr ファイルシステムにインストールされている ARCH=all パッケージのために、次の一時インストール管理ファイルを作成します。


      # cat >/tmp/admin_usr <<EOF
      mail=
      instance=unique
      partial=nocheck
      runlevel=nocheck
      idepend=nocheck
      rdepend=nocheck
      space=nocheck
      setuid=nocheck
      conflict=nocheck
      action=nocheck
      basedir=/usr_sparc.all
      EOF
      #
    • ルート (/) ファイルシステムにインストールされている ARCH=all パッケージのために (パッケージが存在する場合)、次の一時インストール管理ファイルを作成します。


      # cat >/tmp/admin_root <<EOF
      mail=
      instance=unique
      partial=nocheck
      runlevel=nocheck
      idepend=nocheck
      rdepend=nocheck
      space=nocheck
      setuid=nocheck
      conflict=nocheck
      action=nocheck
      EOF
      #
  4. 失われた ARCH=all パッケージをインストールします。

    1. 現在のディレクトリが Solaris 10 イメージ用のメディアの Product ディレクトリでない場合は、このディレクトリに移動します。次に例を示します。


      # cd /net/server/export/Solaris/s10u2/combined.s10s_u2wos/latest/Solaris_10/Product
      

      pwd コマンドを実行して、現在のディレクトリを確認できます。

    2. /usr ファイルシステム内の失われた ARCH=all パッケージをインストールします。


      # pkgadd -R /export/Solaris_10 -a /tmp/admin_usr -d `pwd` [
      package-A package-B ...]
      

      pkgadd コマンドを実行するときに、複数のパッケージを指定できます。

    3. ARCH=all パッケージがインストールされたことを確認します。


      # pkginfo  -R /export/Solaris_10  [package-A 
      package-B ...]
      
    4. ルート (/) ファイルシステム内の失われた ARCH=all パッケージをインストールします。

      これらのパッケージが存在しないこともあります。


      # pkgadd  -R /export/root/clone/Solaris_10/sun4u  -a /tmp/admin_root -d `pwd`  [
      package-X package-Y ...]
      
    5. ARCH=all パッケージがインストールされたことを確認します。


      # pkginfo  -R /export/root/clone/Solaris_10/sun4u [
      package-X package- ...]
      
  5. 失われた ARCH=all パッケージの追加が完了したら、一時インストール管理ファイルを削除します。


    # rm /tmp/administration-file
    

例 7–10 失われた ARCH=all パッケージを検出してインストールする

この例では、失われた ARCH=all パッケージ SUNWjdmk-base/usr ファイルシステムにインストールする方法を示します。


% uname -a
SunOS t1fac46 5.10 Generic_118833-02 sun4u sparc SUNW,UltraSPARC-IIi-cEngine

% cat /etc/release
                       Solaris 10 6/06 s10s_u2wos_03 SPARC
           Copyright 2006 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                           Assembled 06 February 2006

% cd /net/ventor/export/Solaris/s10u2/combined.s10s_u2wos/latest/Solaris_10/Product


% grep -w ARCH=all */pkginfo
Arguments too long

% find . -name pkginfo -exec grep -w ARCH=all {} /dev/null \;
./SUNWjdmk-base/pkginfo:ARCH=all
./SUNWjhdev/pkginfo:ARCH=all
./SUNWjhrt/pkginfo:ARCH=all
./SUNWjhdem/pkginfo:ARCH=all
./SUNWjhdoc/pkginfo:ARCH=all
./SUNWmlibk/pkginfo:ARCH=all

% grep -w SUNW_PKGTYPE=usr ./SUNWjdmk-base/pkginfo ./SUNWjhdev/pkginfo ...

./SUNWjdmk-base/pkginfo:SUNW_PKGTYPE=usr
./SUNWjhdev/pkginfo:SUNW_PKGTYPE=usr
./SUNWjhrt/pkginfo:SUNW_PKGTYPE=usr
./SUNWjhdem/pkginfo:SUNW_PKGTYPE=usr
./SUNWjhdoc/pkginfo:SUNW_PKGTYPE=usr

% grep -w SUNW_PKGTYPE=root ./SUNWjdmk-base/pkginfo ./SUNWjhdev/pkginfo ...



% su
Password: xxxxxx

# cat >/tmp/admin_usr <<EOF
mail=
instance=unique
partial=nocheck
runlevel=nocheck
idepend=nochec> k
rdepend=nocheck
space=nocheck
setuid=nocheck
conflict=nocheck
action=nocheck
basedir=/usr_sparc.all
EOF

# pwd
/net/ventor/export/Solaris/s10u2/combined.s10s_u2wos/latest/Solaris_10/Product

# pkginfo  -R /export/Solaris_10  SUNWjdmk-base 
ERROR: information for "SUNWjdmk-base" was not found

# pkgadd  -R /export/Solaris_10  -a /tmp/admin_usr  -d `pwd`  SUNWjdmk-base


Processing package instance <SUNWjdmk-base> </net/ventor/export/Solaris/s10u2/combined.s10s_u2wos...


Java DMK 5.1 minimal subset(all) 5.1,REV=34.20060120
Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Using </export/Solaris_10/usr_sparc.all>
## Processing package information.
## Processing system information.

Installing Java DMK 5.1 minimal subset as <SUNWjdmk-base>

## Installing part 1 of 1.
2438 blocks

Installation of <SUNWjdmk-base> was successful.

# pkginfo -R /export/Solaris_10 SUNWjdmk-base
application SUNWjdmk-base Java DMK 5.1 minimal subset

# rm /tmp/admin_usr

ディスクレスクライアントの一般的な問題のトラブルシューティング

この節では、ディスクレスクライアントで発生する可能性がある一般的な問題とその解決策について説明します。

問題:

/usr ファイルシステムが nobody によって所有されているときにログインを試みると、ディスクレスクライアントから Owner of the module /usr/lib/security/pam_unix_session.so.1 is not root というメッセージが出力される。

対処方法:

この問題を修正するには、次の対処方法に従います。

  1. テキストエディタを使用して、ディスクレスクライアントの server:/export/root/client/etc/default/nfs ファイルを変更します。

  2. #NFSMAPID_DOMAIN=domain 行を次のように変更します。


    NFSMAPID_DOMAIN=the_same_value_as_in_server's_/var/run/nfs4_domain
  3. OS サーバーとディスクレスクライアントが同じ nfsmapid ドメインを使用していることを確認します。この情報を確認するには、/var/run/nfs4_domain ファイルを調べます。


    注意 – 注意 –

    ディスクレスクライアントの nfs4_domain ファイル内の値が、OS サーバーの /var/run/nfs4_domain ファイル内の値と異なっている場合は、ディスクレスクライアントのブート後にシステムにログインすることができません。


  4. ディスクレスクライアントをリブートします。

詳細は、『Solaris カーネルのチューンアップ・リファレンスマニュアル』の第 3 章「NFS チューニング可能パラメータ」および nfsmapid(1M) のマニュアルページを参照してください。

問題:

OS サーバーが次の処理に失敗する。

  • クライアントの RARP (Reverse Address Resolution Protocol) 要求に対する応答

  • クライアントの bootparam 要求に対する応答

  • ディスクレスクライアントのルート (/) ファイルシステムのマウント

対処方法:

ファイル環境で次の解決法を適用できます。

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

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


    注 –

    Solaris 10 8/07 以降のリリースを実行していない場合、クライアントの IP アドレスが /etc/inet/ipnodes ファイルに含まれていることも確認する必要があります。

    この Solaris リリースでは、 2 つの異なる hosts ファイルを持たなくなりました。/etc/inet/hosts ファイルが、IPv4 エントリと IPv6 エントリの両方を含む単一のファイルとなります。常に同期させる必要がある 2 つの hosts ファイルに、IPv4 エントリを保持する必要はありません。/etc/inet/ipnodes ファイルは、下位互換性のために、/etc/inet/hosts ファイルへの同名のシンボリックリンクに置き換えられています。詳細は、hosts(4) のマニュアルページを参照してください。


  • クライアントのイーサネットアドレスが /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=512

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

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

問題:

OS サーバーが次の処理に失敗する。

  • クライアントの RARP 要求に対する応答

  • クライアントの bootparam 要求に対する応答

  • ディスクレスクライアントのルート (/) ファイルシステムのマウント

対処方法:

ネームサービス環境で次の解決法を適用できます。

  • OS サーバーとクライアントのイーサネットアドレスおよび 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 サーバーのイーサネットアドレスが IP アドレスに正しくマップされていることを確認します。システムをあるネットワークから別のネットワークに物理的に移動した場合、システムの新しい IP アドレスを再マップするのを忘れている可能性があります。

  • クライアントの RARP、TFTP (Trivial File Transfer Protocol)、または bootparam 要求に応答する「同じサブネット」にある別のサーバーのデータベースに、クライアントのホスト名、IP アドレス、およびイーサネットアドレスが存在しないことを確認します。インストールサーバーから 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
    

    ここで、version8910 であり、instruction-setsparc または 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 サーバーから、次のクライアントのイーサネットアドレスを使って snoop コマンドをスーパーユーザー (root) として実行します。


# snoop xx:xx:xx:xx:xx:xx
問題:

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

対処方法:

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

問題:

ディスクレスクライアントがハングアップする

対処方法:

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


# /usr/sbin/rpc.bootparamd
# /usr/sbin/in.rarpd -a
問題:

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

対処方法:

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


# /usr/sbin/rpc.bootparamd
# svcadm enable network/rarp