Oracle® Solaris 10 JumpStart から Oracle Solaris 11.2 自動インストーラへの移行

印刷ビューの終了

更新: 2014 年 7 月
 
 

js2ai を使用したルールおよびプロファイルの変換

このセクションでは、単一の js2ai コマンドの使用による、JumpStart rules ファイルおよびその rules ファイルによって参照されるすべてのプロファイルファイルの変換を示します。デフォルトでは、変換された各プロファイルは、AI_profile-filename という名前のディレクトリに出力されます。そのプロファイルを選択するルールは、AI 基準ファイルと同じディレクトリに出力されます。

JumpStart ルールファイルとプロファイルファイルの例

この例では次の rules ファイルを使用します。

# The following rule matches only one system:

hostname sample_host    - fdisk.profile         -

# The following rule matches only one system:

hostaddress 10.6.68.127 - mirrorfilesys.profile -

# The following rule matches any system that is on the 924.222.43.0 network:

network 924.222.43.0    - rootdisk.profile      -

# The following rule matches all x86 systems:

arch i386               - mirrorpool.profile    -

fdisk.profile ファイルの内容は次のとおりです。

install_type initial_install
system_type server
root_device c1t0d0s0
usedisk c1t0d0
fdisk rootdisk solaris all
partitioning explicit
filesys rootdisk.s1 5000 swap
filesys rootdisk.s0 10000 /
cluster SUNWCall

mirrorfilesys.profile ファイルの内容は次のとおりです。

install_type initial_install
partitioning default
filesys mirror c6t0d0s0 c6t1d0s0 60048 /
cluster SUNWCuser

mirrorpool.profile ファイルの内容は次のとおりです。

install_type initial_install
partitioning default
pool newpool auto auto auto mirror any any
cluster SUNWCuser

rootdisk.profile ファイルの内容は次のとおりです。

install_type initial_install
partitioning explicit
filesys rootdisk.s0 15000 /
filesys rootdisk.s1 1000 swap
cluster SUNWCall

js2ai を使用して rules ファイルと関連プロファイルを処理する

次のコマンドを使用して、この rules ファイルを処理します。検証が実行されなかったため、エラーレポートでは検証エラーはハイフン文字として表示されます。検証は –S オプションによって抑制されます。

# js2ai -rS
                                Process  Unsupported  Conversion  Validation
Name                  Warnings  Errors   Items        Errors      Errors
-------------------   --------  -------  -----------  ----------  ----------
rules                        0        0            1           0           -
fdisk.profile                0        0            2           0           -
mirrorfilesys.profile        0        0            2           0           -
mirrorpool.profile           0        0            1           1           -
rootdisk.profile             0        0            1           2           -

Conversion completed. One or more failures and/or warnings occurred.
For errors see js2ai.log
# cat js2ai.log
rules:line 3:UNSUPPORTED: unsupported keyword: hostname
fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server
fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster
mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified,
mount points other than '/' and 'swap' are not supported
mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster
mirrorpool.profile:line 3:CONVERSION: unable to convert 'any' device to physical device. Replace 'any' 
with actual device name
mirrorpool.profile:line 4:UNSUPPORTED: unsupported keyword: cluster
rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'.  Replace'rootdisk.' with actual
device name
rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'.  Replace'rootdisk.' with actual
device name
rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster

出力は、AI_profile-filename という名前のディレクトリに格納されます。JumpStart ルールから作成されたすべての AI 条件ファイルは、rules ファイル内のルールの位置から名前が付けられます。AI マニフェストには profile-filename. arch.xml という名前が付けられ、archgenericx86、または sparc です。

# ls AI_*
AI_fdisk.profile:
fdisk.profile.x86.xml

AI_mirrorfilesys.profile:
criteria-2.xml      mirrorfilesys.profile.generic.xml

AI_mirrorpool.profile:
criteria-2.xml      mirrorpool.profile.generic.xml

AI_rootdisk.profile:
criteria-3.xml      rootdisk.profile.generic.xml

hostname キーワードの置換

ログファイルでは、JumpStart ルールキーワード hostname が、AI マニフェストを選択するための AI 条件キーワードとしてサポートされないと報告されています。hostname キーワードは、fdisk.profile プロファイルを使用するクライアントを指定します。hostname は AI マニフェストを選択するためにサポートされるキーワードではないため、新しい AI_fdisk.profile ディレクトリには AI 条件ファイルが含まれません。

この問題は、rules ファイル内で hostnamehostaddress に変更することによって修正できます。

この問題は、hostname システムを識別する MAC アドレスまたは IP アドレスを指定する AI 条件ファイルを作成することによっても修正できます。たとえば、sample_host の MAC アドレスが 0:14:4F:20:53:97 の場合、次の条件ファイルは JumpStart ルール hostname sample_host と同等です。

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="mac">
    <value>0:14:4F:20:53:97</value>
  </ai_criteria>
</ai_criteria_manifest>

システムの MAC アドレスを確認するには、dladm(1M) のマニュアルページに説明されている dladm コマンドを使用します。

JumpStart ルール hostaddress 10.6.68.127 について、js2ai コマンドは AI 条件ファイル AI_mirrorfilesys.profile/criteria-2.xml を自動的に作成し、JumpStart の hostaddress キーワードを AI の ipv4 キーワードに置換します。

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="ipv4">
    <value>
      10.6.68.127
    </value>
  </ai_criteria>
</ai_criteria_manifest>

JumpStart ルール network 924.222.43.0 について、js2ai コマンドは AI 条件ファイル AI_rootdisk.profile/criteria-3.xml を自動的に作成し、指定されたネットワークアドレスに基づいて IP アドレスの範囲を指定します。

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="ipv4">
    <range>
      924.222.43.0 924.222.43.255
    </range>
  </ai_criteria>
</ai_criteria_manifest>

JumpStart ルール arch i386 について、js2ai コマンドは AI 条件ファイル AI_mirrorpool.profile/criteria-4.xml を自動的に作成し、JumpStart の arch キーワードを AI の cpu キーワードに置換します。

<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
  <ai_criteria name="cpu">
    <value>
      i386
    </value>
  </ai_criteria>
</ai_criteria_manifest>

AI マニフェストファイルの修正

js2ai コマンドは通常、エラーが報告される場合であっても、JumpStart プロファイルごとに AI マニフェストを作成します。このセクションでは、出力される AI マニフェストがさらに完全になるようにするために、一部の一般的なエラーに対処する方法について説明します。

使用例 2-4  fdisk.profile のエラーの修正

js2ai コマンドが fdisk.profile JumpStart プロファイルについて次のエラーを表示しました。

fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server
fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster

これら 2 つの行は無視され、出力 AI マニフェストに影響しません。変換でエラーメッセージを出さないようにする場合は、これら 2 つの行を削除できます。fdisk.profile ファイルは次のような内容になります。

install_type initial_install
root_device c1t0d0s0
usedisk c1t0d0
fdisk rootdisk solaris all
partitioning explicit
filesys rootdisk.s1 5000 swap
filesys rootdisk.s0 10000 /

js2ai コマンドの –p オプションを使用して、このプロファイルのみ処理します。

# js2ai -p fdisk.profile
Successfully completed conversion

出力 AI マニフェスト AI_fdisk.profile/fdisk.profile.x86.xmltarget スタンザには次の内容があります。

<target>
  <disk whole_disk="true">
    <disk_name name="c1t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice name="1" action="create" force="true" is_swap="true">
        <size val="5000mb"/>
      </slice>
      <slice name="0" action="create" force="true" in_zpool="rpool" in_vdev="rpool_vdev">
        <size val="10000mb"/>
      </slice>
     </partition>
  </disk>
  <logical noswap="false" nodump="true" >
    <zpool name="rpool" is_root="true">
      <vdev name="rpool_vdev" redundancy="none"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home"/>
      <be name="solaris"/>
    </zpool>
  </logical>
</target>

software スタンザは /usr/share/auto_install/manifest/default.xml 内のものと同じです。これは、このプロファイルにパッケージ指定が含まれていないためです。

使用例 2-5  mirrorfilesys.profile のエラーの修正

js2ai コマンドが mirrorfilesys.profile JumpStart プロファイルについて次のエラーを表示しました。

mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified,
mount points other than '/' and 'swap' are not supported
mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster

JumpStart プロファイルファイルでは、filesys mirror 指定の file_system パラメータは省略可能です。js2ai 変換では、file_system パラメータは省略できず、/ または swap の 2 つの値のいずれかを持つ必要があります。

mirrorfilesys.profile ファイルを編集して、filesys 指定の末尾に「/」を追加し、cluster 行を削除します。mirrorfilesys.profile ファイルは次のような内容になります。

install_type initial_install
partitioning default
filesys mirror c6t0d0s0 c6t1d0s0 60048 /

AI_mirrorfilesys.profile/criteria-2.xml ファイルを別の場所に保存します。次に、js2ai コマンドの –p オプションを使用して、このプロファイルのみ処理します。

# js2ai -p mirrorfilesys.profile
Successfully completed conversion

AI_mirrorfilesys.profile ディレクトリには、mirrorfilesys.profile.sparc.xml および mirrorfilesys.profile.x86.xml の 2 つの出力 AI マニフェストが格納されています。これら 2 つの AI マニフェストの違いは、mirrorfilesys.profile.x86.xml には 2 つの partition 指定が含まれていることだけです。mirrorfilesys.profile.x86.xml マニフェストの target スタンザの内容は次のとおりです。

<target>
  <disk>
    <disk_name name="c6t1d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
        <size val="60048mb"/>
      </slice>
    </partition>
  </disk>
  <disk>
    <disk_name name="c6t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
        <size val="60048mb"/>
      </slice>
    </partition>
  </disk>
  <logical noswap="false" nodump="false" >
    <zpool name="newpool" is_root="true">
      <vdev name="rpool_vdev" redundancy="mirror"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home">
      <be name="solaris">
    </zpool>
  </logical>
</target>

software スタンザは /usr/share/auto_install/manifest/default.xml 内のものと同じです。これは、このプロファイルにパッケージ指定が含まれていないためです。

使用例 2-6  mirrorpool.profile のエラーの修正

js2ai コマンドが mirrorpool.profile JumpStart プロファイルについて次のエラーを表示しました。

mirrorpool.profile:line 4:CONVERSION: unable to convert 'any' device to physical device.
Replace 'any' with actual device name
mirrorpool.profile:line 8:UNSUPPORTED: unsupported keyword: cluster

    これらのエラーを修正するには、次の 2 つの方法のいずれかを使用します。これらの修正は、両方ともまったく同じ AI マニフェスト出力を生成します。any デバイスの変換方法も参照してください。

  • mirrorpool.profile プロファイルを編集し、any エントリを物理デバイス名で置換します。また、cluster 行を削除します。mirrorpool.profile ファイルの内容は次のようになります。

    install_type initial_install
    partitioning default
    pool newpool auto auto auto mirror c6t0d0s0 c6t1d0s0
  • pool 指定の vdev-list 一覧に、物理デバイス名でなく any を指定した場合、any パラメータを含む指定よりも前にデバイス情報を提供しておく必要があります。mirrorpool.profile プロファイルを編集して、プール指定の前に usedisk 指定を追加します。また、cluster 行を削除します。mirrorpool.profile ファイルの内容は次のようになります。

    install_type initial_install
    partitioning default
    usedisk c6t0d0 c6t1d0
    pool newpool auto auto auto mirror any any

AI_mirrorpool.profile/criteria-4.xml ファイルを別の場所に保存します。次に、js2ai コマンドの –p オプションを使用して、このプロファイルのみ処理します。

# js2ai -p mirrorpool.profile
Successfully completed conversion

AI_mirrorpool.profile ディレクトリには、mirrorpool.profile.sparc.xml および mirrorpool.profile.x86.xml の 2 つの出力 AI マニフェストが格納されています。これら 2 つの AI マニフェストの違いは、mirrorpool.profile.x86.xml には 2 つの partition 指定が含まれていることだけです。mirrorpool.profile.x86.xml マニフェストの target スタンザの内容は次のとおりです。

<target>
  <disk>
    <disk_name name="c6t1d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/>
    </partition>
  </disk>
  <disk>
    <disk_name name="c6t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/>
    </partition>
  </disk>
  <logical noswap="false" nodump="true">
    <zpool name="rpool" is_root="true">
      <vdev name="rpool_vdev" redundancy="mirror"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home">
      <be name="solaris">
    </zpool>
  </logical>
</target>

software スタンザは /usr/share/auto_install/manifest/default.xml 内のものと同じです。これは、このプロファイルにパッケージ指定が含まれていないためです。

使用例 2-7  rootdisk.profile のエラーの修正

js2ai コマンドが rootdisk.profile JumpStart プロファイルについて次のエラーを表示しました。

rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'.
Replace'rootdisk.' with actual device name
rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'.
Replace'rootdisk.' with actual device name
rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster

    これらのエラーを修正するには、次の 2 つの方法のいずれかを使用します。これらの修正は、両方ともまったく同じ AI マニフェスト出力を生成します。

  • rootdisk.profile プロファイルを編集し、rootdisk.c0t0d0 で置換します。また、cluster 行を削除します。rootdisk.profile ファイルは次のような内容になります。

    install_type initial_install
    partitioning explicit
    filesys c0t0d0s0 15000 /
    filesys c0t0d0s1 1000 swap
  • rootdisk.profile プロファイルを編集して root_device 指定を追加し、cluster 行を削除します。rootdisk.profile ファイルは次のような内容になります。

    install_type initial_install
    partitioning explicit
    root_device c0t0d0s0
    filesys rootdisk.s0 15000 /
    filesys rootdisk.s1 1000 swap

AI_rootdisk.profile/criteria-3.xml ファイルを別の場所に保存します。次に、js2ai コマンドの –p オプションを使用して、このプロファイルのみ処理します。

# js2ai -p rootdisk.profile
Successfully completed conversion

AI_rootdisk.profile ディレクトリには、rootdisk.profile.sparc.xml および rootdisk.profile.x86.xml の 2 つの出力 AI マニフェストが格納されています。これら 2 つの AI マニフェストの違いは、rootdisk.profile.x86.xmlpartition 指定が含まれていることだけです。rootdisk.profile.x86.xml マニフェストの target スタンザの内容は次のとおりです。

<target>
  <disk>
    <disk_name name="c0t0d0" name_type="ctd"/>
    <partition action="create" name="1" part_type="191">
      <slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
        <size val="15000mb"/>
      </slice>
      <slice action="create" force="true" is_swap="true" name="1">
        <size val="1000mb"/>
      </slice>
    </partition>
  </disk>
  <logical noswap="false" nodump="true" noswap="false">
    <zpool name="rpool" is_root="true" >
      <vdev name="rpool_vdev" redundancy="none"/>
      <filesystem name="export" mountpoint="/export"/>
      <filesystem name="export/home">
      <be name="solaris">
    </zpool>
  </logical>
</target>

software スタンザは /usr/share/auto_install/manifest/default.xml 内のものと同じです。これは、このプロファイルにパッケージ指定が含まれていないためです。