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

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

この章では、Oracle Solaris OS でディスクレスクライアントを管理する方法について説明します。


注 –

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

Solaris Flash インストール機能を使用すると、UFS ルートファイルシステムまたは ZFS ルートファイルシステムを実行するシステムをすばやくプロビジョニングできます。詳細は、『Oracle Solaris ZFS 管理ガイド』「ZFS ルートファイルシステムのインストール (Oracle Solaris フラッシュアーカイブインストール)」を参照してください。


この章の内容は次のとおりです。

ディスクレスクライアントの管理の概要については、第 6 章クライアントとサーバーサポートの管理 (概要)を参照してください。

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

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

作業 

説明 

参照先 

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

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

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

 

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

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

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

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

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

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

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

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


注 –

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


注 –

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


Procedurex86: 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 以降 

    Oracle Solaris 10、Solaris 9、および Solaris 8 

    i386 

    i86pc 

    Oracle Solaris 10、Solaris 9、および Solaris 8 


    注 –

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


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

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

    一部の Oracle Solaris リリースでは、OS は複数の CD で提供されます。 ただし、smosservice コマンドでは、複数の CD から OS を読み込むことはできません。続く手順で説明するように、Oracle Solaris ソフトウェア CD (とオプションの Language CD)、または Oracle Solaris DVD 上のスクリプトを実行する必要があります。


    注 –

    この Oracle Solaris リリースでは、ソフトウェアは DVD のみで提供されます。.


  3. サーバー上にインストールイメージを作成します。

    インストールサーバーの設定方法については、『Oracle Solaris 10 9/10 インストールガイド (ネットワークインストール)』を参照してください。

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

    実行しているリリースの Oracle Solaris が複数の CD で提供されている場合は、次のいずれかのスクリプトを使用します。

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

    • その他の Oracle 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 デバイス上の Oracle Solaris 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 (Media Access Control) アドレスに基づいて作成された名前です。この番号は、インストールサーバーの /tftpboot ディレクトリで使用されるファイルの名前としても使われます。


    注 –

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


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

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

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


    /net/export/install/sol_10_x86

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

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

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


    注 –

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


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

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、Oracle Solaris 10 の各リリースではサポートされていません。sun-4d アーキテクチャーは、Solaris 9、Oracle Solaris 10 の各リリースではサポートされていません。sun-4m アーキテクチャーは、Oracle Solaris OS ではサポートされていません。


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

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

    一部の Oracle Solaris リリースでは、OS は複数の CD で提供されます。 ただし、smosservice コマンドでは、複数の CD から OS を読み込むことはできません。続く手順で説明するように、Solaris ソフトウェア CD (とオプションの Language CD)、または DVD 上のスクリプトを実行する必要があります。


    注 –

    この Oracle Solaris リリースでは、ソフトウェアは DVD のみで提供されます。.


  3. サーバー上にインストールイメージを作成します。

    インストールサーバーの設定方法については、『Oracle Solaris 10 9/10 インストールガイド (ネットワークインストール)』を参照してください。

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

    実行している Oracle Solaris リリースで、OS が複数の CD で提供されている場合は、次のいずれかのスクリプトを使用します。

    • 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 デバイス上の Oracle Solaris 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. ディスクに Oracle Solaris CD または DVD イメージをインストールしたあと、ディスクのメディアパスを指定します。次に例を示します。


    /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 を指定してください。


Procedureディスクレスクライアントサポートの 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 では Oracle Solaris OS が動作しています。SPARC 版 Oracle 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 では Oracle Solaris OS が動作しています。x86 版 Oracle 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 パッケージを検出してインストールする方法」を参照してください。

Procedurex86: 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.01 ethernet-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 ディレクトリで使用されるファイルの名前としても使われます。クライアントマクロの表記は大文字で構成されます。また、このマクロにコロンを含めないようにしてください。


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

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: Oracle Solaris 10 の動作する x86 システムにディスクレスクライアントサポートを追加する

この例では、サーバー bearclaus から Oracle 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

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

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


注 –

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


始める前に

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

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

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

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

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

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

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

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

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

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

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

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

ProcedureSPARC: Oracle Solaris 10 でディスクレスクライアントをブートする方法

始める前に

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

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


    ok boot net
    

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

  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.

Procedureディスクレスクライアントの 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 パッチを定期的にインストールして、OS サーバーを最新の状態に保ってください。


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

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

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

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

Procedureディスクレスクライアントの 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 が指定されているパッケージは、いずれもインストールされません。つまり、これらのパッケージは読み飛ばされます。警告やエラーメッセージは表示されません。これらのパッケージは、新規に作成した Oracle Solaris OS サービスに手動で追加する必要があります。この作業は、Solaris 2.1 OS 以降で発生します。この作業は、SPARC および x86 の両方のクライアントに適用されます。失われるパッケージのリストは、稼働している Oracle Solaris リリースによって異なります。

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

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

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

    1. Oracle 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. 現在のディレクトリが Oracle 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 <<EOFmail=
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. ディスクレスクライアントをリブートします。

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

問題:

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

対処方法:

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

問題:

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

対処方法:

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

問題:

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

対処方法:

次の内容を確認します。

問題:

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