このセクションでは、単一の js2ai コマンドの使用による、JumpStart rules ファイルおよびその rules ファイルによって参照されるすべてのプロファイルファイルの変換を示します。デフォルトでは、変換された各プロファイルは、AI_profile-filename という名前のディレクトリに出力されます。そのプロファイルを選択するルールは、AI 基準ファイルと同じディレクトリに出力されます。
この例では次の 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
次のコマンドを使用して、この 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 という名前が付けられ、arch は generic、x86、または 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
ログファイルでは、JumpStart ルールキーワード hostname が、AI マニフェストを選択するための AI 条件キーワードとしてサポートされないと報告されています。hostname キーワードは、fdisk.profile プロファイルを使用するクライアントを指定します。hostname は AI マニフェストを選択するためにサポートされるキーワードではないため、新しい AI_fdisk.profile ディレクトリには AI 条件ファイルが含まれません。
この問題は、rules ファイル内で hostname を hostaddress に変更することによって修正できます。
この問題は、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>
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.xml の target スタンザには次の内容があります。
<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.xml に partition 指定が含まれていることだけです。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 内のものと同じです。これは、このプロファイルにパッケージ指定が含まれていないためです。