Oracle Solaris OS をインストールするためのクライアント上のターゲットの場所を指定しない場合、AI はデフォルトターゲットを選択します。
インストールのデフォルトターゲットの場所は、各クライアント上で見つかった、サイズの要件を満たす最初のディスクです。「クライアントシステムの要件」を参照してください。ディスクのサイズが推奨サイズ以上である場合、インストーラは、そのディスクをインストールターゲットとして選択します。ディスクのサイズが推奨サイズ未満である場合、インストーラは、次のディスクをチェックします。サイズの要件を満たすディスクが見つからない場合、そのクライアントに対する自動インストールは失敗します。/tmp/install_log にあるインストールログには、ディスク選択プロセスの詳細が記録されます。
Oracle Solaris OS をインストールするためのクライアント上のターゲットの場所を指定する場合は、この節の手順に従ってください。
各クライアント上にあるインストールのターゲットを定義するには、<target> タグを使用します。<target> タグは、<target_device> タグを囲みます。<target_device> タグには次の要素があります。
<disk> — 省略可能。この AI マニフェストを使用するすべてのクライアントのインストールのターゲットディスク、パーティション、またはスライスを定義するには、この要素を使用します。各 AI マニフェストで指定できる <target><target_device><disk> セクションは 1 つだけです。パーティションまたはスライスを指定する場合は、その指定をディスク指定の内部で行う必要があります。ディスクは、名前、そのディスクを説明する一連のプロパティー、キーワード、または iSCSI デバイスで指定できます。指定されたディスクがルートデバイスになります。
ディスク内のあるスライスを、ルートスライスになるように指定できます。スライスが指定されない場合、ルートスライスは 0 であり、AI はスライス 0 に Oracle Solaris OS をインストールします。
x86 システムで、ディスクがパーティション分割されている場合、インストールターゲットは Solaris パーティションである必要があります。ディスク上に存在できる Solaris パーティションは 1 つだけです。既存の Solaris パーティションを使用するか、または新しい Solaris パーティションを作成できます。
AI では、インストールターゲットディスクを指定するために、決定的な方法と非決定的な方法の両方を使用します。
「決定的なターゲットディスクの指定」 — 決定的な指定には、たとえば、ディスク名やデバイス ID が含まれます。ブートディスクにインストールするには、キーワード boot_disk を指定します。いずれかの決定的指定子を使用するか、または boot_disk キーワードを使用してターゲットを指定した場合は、ターゲットがすでに決定されているため、ほかのどのターゲット指定子も使用できません。
「非決定的なターゲットディスクの指定」 — 非決定的な指定には、たとえば、デバイスタイプ、デバイスベンダー、ディスクサイズなどが含まれます。1 つの AI マニフェストで複数の非決定的指定子を使用できます。
ディスク上のパーティションまたはスライスを、自動インストールのターゲットになるように指定できます。また、AI を使用して、自動インストールのターゲットではないディスクパーティションやスライスを設定することもできます。「x86 クライアント上のパーティション分割の設定」および 「ディスク上のスライスの設定」を参照してください。
<swap> および <dump> — 省略可能。AI を使用して、自動インストール中にスワップとダンプを設定できます。「インストールデバイス上のスワップとダンプの設定」を参照してください。
この節で説明する各指定によって、システムをインストールする 1 つの特定のターゲットが決定されます。この節で説明するいずれかの指定を使用した場合は、ほかのどのターゲット指定も使用できません。
この節にあるタグの要素を使用すると、デバイス名、ボリューム名、デバイス ID、デバイスパス、iSCSI デバイス、またはブートディスクを指定できます。
注 - 論理デバイス名 (c#t#d#) は、OS リリースによって変更されることがあります。
例 4-2 ターゲットデバイス名の指定
デバイス名を指定するには、ctd の name_type を使用します。name_type が指定されていない場合は、これがデフォルトになります。
次の例では、論理デバイス名を指定しています。
<target>
<target_device>
<disk>
<disk_name name="c1t0d0" name_type="ctd"/>
</disk>
</target_device>
</target>
次の例では、MPXIO 名を指定しています。
<target>
<target_device>
<disk>
<disk_name name="c0t2000002037CD9F72d0" name_type="ctd"/>
</disk>
</target_device>
</target>例 4-3 ターゲットボリューム名の指定
ボリューム名を指定するには、volid の name_type を使用します。
<target>
<target_device>
<disk>
<disk_name name="ai-disk" name_type="volid"/>
</disk>
</target_device>
</target>
次の例に示すように、このボリューム名は format(1M) コマンドを使用して設定されている可能性があります。
$ format -d c0d0 > /dev/null 2>/dev/null - <<EOF volname "ai-disk" y quit EOF
例 4-4 ターゲットデバイス ID の指定
デバイス ID を指定するには、devid の name_type を使用します。
<target>
<target_device>
<disk>
<disk_name name="id1,sd@n500000e012596560" name_type="devid"/>
</disk>
</target_device>
</target>
c#t#d# の形式のデバイス名に関連付けられたデバイス ID を取得するには、たとえば、-iEn オプションを指定して iostat(1M) コマンドを使用できます。
$ iostat -iEn c7t0d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 Model: ST31000340NS Revision: Device Id: id1,sd@n500000e012596560 ...
iostat コマンドでは、LDOM ゲストのデバイス ID は報告されません。LDOM ゲストには、次の例に示すように、ターゲット検出テストドライバを使用します。このテストドライバは system/install/tests の IPS パッケージから入手できるほか、AI イメージ上にも存在します。IPS パッケージにアクセスできないクライアントでは、AI イメージをブートしてこのコマンドを実行します。
# /opt/install-test/bin/tdmgtst -dv | grep ddm_disk_dev_id ddm_disk_dev_id=id1,vdc@f8498536e4a8ad037000bcb400001
デバイス ID のターゲット指定は xVM/PV では機能しません。これは、仮想ドライブではデバイス ID が利用できないためです。
例 4-5 ターゲットデバイスのパスの指定
/devices でデバイスパスを指定するには、devpath の name_type を使用します。
<target>
<target_device>
<disk>
<disk_name name="/pci@0/pci@9/pci@0/scsi@1/sd@0,0" name_type="devpath"/>
</disk>
</target_device>
</target>
次の例に示すように、物理パスは、関連する c#t#d#s# シンボリックリンクが devices でリンクされている先のパスです。
$ ls -l /dev/dsk/c2t0d0s0 /dev/dsk/c2t0d0s0 -> ../../devices/pci@7c0/pci@0/pci@1/pci@0/ide@8/sd@0,0:a
例 4-6 iSCSI ターゲットの指定
iSCSI テクノロジを使用すると、同じ TCP/IP ネットワーク上の別のコンピュータによってホストされているディスクドライブにインストールできます。
インストールターゲットとして iSCSI ターゲットを指定するには、まず iSCSI ブートターゲットを作成する必要があります。iSCSI ブートターゲットを作成し、AI マニフェスト内の iscsi タグの名前と IP の値を取得するには、iscsiadm(1M) コマンドを使用します。
自動インストールの iSCSI ターゲットを指定するには、次の例に示すように、iSCSI ターゲットの名前と IP アドレスを指定します。ターゲット名には、IQN、EUI、または NAA の名前を指定できます。名前の値の最大長は 233 文字です。
<target>
<target_device>
<disk>
<iscsi name="c0d2E0001010F68">
<ip>192.168.1.34</ip>
</iscsi>
</disk>
</target_device>
</target>例 4-7 ターゲットとしてのブートディスクの指定
<disk_keyword> タグは、boot_disk をキーワードとして受け入れます。このキーワードは、現在のブートディスクをインストールターゲットとして指定します。
<target>
<target_device>
<disk>
<disk_keyword key="boot_disk"/>
</disk>
</target_device>
</target>
boot_disk キーワードに関する次の制限に注意してください。
boot_disk キーワードは xVM/PV では機能しません。これは、その環境ではブートディスクの情報が利用できないためです。
一部の x86 システムでは、BIOS によってブートディスクが正しく報告されません。
SPARC クライアントでは、diag-switch? OBP プロパティーが true に設定されている場合、ブートディスクの情報は利用できません。SPARC クライアントで boot_disk キーワードを使用するには、必ず diag-switch? を false に設定してください。
# eeprom diag-switch?=false
次の例に示すように、1 つの AI マニフェストで複数の非決定的指定子を使用できます。
<target>
<target_device>
<disk>
<disk_prop dev_vendor="hitachi" dev_size="20gb"/>
</disk>
</target_device>
</target>
ターゲットの種類、ベンダー名、またはターゲットのサイズを指定するには、<disk_prop> タグを使用します。
dev_type — ターゲットディスクの種類。取り得る値には、SCSI、ATA、および USB があります。この値では、大文字と小文字は区別されません。
dev_vendor — ディスクドライブのメーカー。取り得る値には、Sun、Hitachi、EMC、Seagate、Fujitsu があります。この値では、大文字と小文字は区別されません。
dev_size — ターゲットデバイスのサイズ。このサイズの値には、単位のサフィックスが含まれている必要があります。
有効な単位のサフィックスには次のものがあります。
sectors、secs、sec、s、SECTORS、SECS、SEC、または S
MB、megabytes、megabyte、mb、m、MEGABYTES、MEGABYTE、M
GB、gigabytes、gigabyte、gb、g、GIGABYTES、GIGABYTE、G
TB、terabytes、terabyte、tb、t、TERABYTES、TERABYTE、T
次の例は、ディスクのベンダーを判定するための 2 種類の方法を示しています。これらの検索では ATA ディスクのベンダーを特定できないことに注意してください。
iostat(1M) コマンドを使用します。
# iostat -En c2t1d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0 Vendor: HITACHI Product: HUS10733ASUN72G Revision: PA05 Serial No: 0602RW159S
AI イメージで使用可能なターゲット検出テストドライバを使用します。
# /opt/install-test/bin/test_td -dv Disk discovery Total number of disks: 2 ------------------------------------------------------------------------------- num | name| vendor| ctype| mtype| rem| lbl| bsize|#of blocks|size [MB]| ------------------------------------------------------------------------------- 1 |* c2t0d0| SEAGATE| scsi| FIXED| No| V| 512| 71132959| 34732| 2 | c2t1d0| HITACHI| scsi| FIXED| No| V| 512| 143374738| 70007| -------------------------------------------------------------------------------
AI マニフェストを使用して、自動インストール中にディスク上のパーティションを設定できます。インストールターゲットとしてパーティションを指定できるほか、既存のパーティションの削除、既存のパーティションのサイズまたは種類の変更、および新しいパーティションの作成を行うことができます。
注 - パーティションの操作は、x86 クライアントでのみ重要となります。
ディスクのパーティション分割を設定するには、<partition> タグを使用します。<partition> タグは、<disk> タグの内部に存在する必要があります。<partition> タグには次の属性があります。
action — 省略可能。action 属性には次の値があります。
create — 新しいパーティションを作成します。action が指定されていない場合は、これがデフォルトになります。
delete — 名前付きパーティションを削除します。
use_existing — インストールターゲットとして既存の Solaris パーティションを使用します。Solaris パーティションが存在する場合、デフォルトでは、そのパーティションがインストールターゲットになります。use_existing を指定したが、Solaris パーティションが存在しない場合、そのクライアントに対する自動インストールは失敗します。AI マニフェストで指定できる use_existing アクションは 1 つだけです。
name — アクションが create または delete である場合は必須。name 属性は、パーティションテーブル内の一意のパーティション ID 番号を示します。プライマリパーティションの場合、name には 1、2、3、または 4 を指定できます。拡張パーティション (パーティションタイプ DOSEXT) にできるプライマリパーティションは 1 つだけです。論理パーティションの場合、name には 5 - 36 の整数を指定できます。
action が create の場合は、自動インストール中に、指定された name を名前に持つパーティションが AI によって作成されます。action が delete の場合は、自動インストール中に、指定された name を名前に持つパーティションが AI によって削除されます。
注 - 自動インストール中に行われるパーティション分割の変更は、delete アクションと create アクションが AI マニフェスト内に記載されている順序で実行されます。
part_type — 省略可能。part_type 属性は、作成または削除されるパーティションの種類を示します。part_type が指定されていない場合、デフォルト値は 191 (Solaris パーティション) です。part_type の有効な値は、SOLARIS (191)、UNIXOS (99)、DOSEXT、DOS16、DOSEXTLBA、および FAT32です。
パーティションを作成する場合は、必要に応じて、その新しいパーティションのサイズを指定できます。1 つのパーティションだけが指定され、サイズの値が指定されていない場合は、次のアルゴリズムを使用して新しいパーティションのサイズが計算されます。複数のパーティションが指定されている場合は、1 つのパーティション指定についてだけ、サイズの値を省略できます。
拡張パーティションまたはプライマリパーティションの場合、デフォルトのサイズはディスク上の残りの空き領域です。
拡張パーティション内の論理パーティションの場合、デフォルトのサイズは、その論理パーティションに対する拡張パーティション内の空き領域の最大ブロックです。
<size> タグには次の属性があります。
start_sector 属性は、パーティションが開始するセクター番号です。
val 属性は、パーティションのサイズです。このサイズの値には、単位のサフィックスが含まれている必要があります。「非決定的なターゲットディスクの指定」の dev_size ディスクプロパティーの説明にある単位のサフィックスの一覧を参照してください。
x86 クライアントでは、インストールターゲットとしてディスクパーティションを指定できます。ディスクがパーティション分割されている場合、インストールターゲットは Solaris パーティションである必要があります。ディスク上に存在できる Solaris パーティションは 1 つだけです。既存の Solaris パーティションを使用するか、または新しい Solaris パーティションを作成できます。
パーティションタイプが SOLARIS または 191 のパーティションが存在する場合、デフォルトでは、そのパーティションがインストールターゲットになります。Solaris パーティションが存在せず、インストール手順でも Solaris パーティションが作成されなかった場合は、残りのディスク容量を持つ Solaris パーティションが AI によって作成されます。この容量が AI インストールに必要な容量より小さい場合、そのクライアントに対するインストールは失敗します。
例 4-8 インストールターゲットとしての既存の Solaris パーティションの指定
この例では、インストールターゲットは既存の Solaris パーティションです。インストールターゲットは、Solaris パーティション (パーティションタイプ SOLARIS または 191) を含む、見つかった最初のディスクです。特定のクライアント上で既存の Solaris パーティションが見つからない場合、そのクライアントに対する自動インストールは失敗します。
<target>
<target_device>
<disk>
<partition action="use_existing"/>
</disk>
</target_device>
</target>例 4-9 インストールターゲットとしての新しいパーティションの指定
この例では、アクションを何も指定しません。デフォルトのアクションは作成です。この例では、2 つの新しいプライマリパーティションを作成します。
<target>
<target_device>
<disk>
<partition name="1" part_type="191">
<size start_sector="200" val="20gb"/>
</partition>
<partition name="4" part_type="99">
<size start_sector="2000" val="20gb"/>
</partition>
</disk>
</target_device>
</target>
インストールターゲットとしてのパーティションの指定に加えて、自動インストール中に既存のパーティションを削除したり、新しいパーティションを作成したりすることもできます。拡張パーティションを作成したり、新規または既存の拡張パーティション内に論理パーティションを作成したりすることができます。
注 - 自動インストール中に行われるパーティション分割の変更は、delete アクションと create アクションが AI マニフェスト内に記載されている順序で実行されます。
例 4-10 既存のパーティションの削除
クライアントのインストール中に、既存のパーティションを削除できます。<partition> タグで delete アクションを指定し、name 属性で削除するパーティション番号を指定します。
<target>
<target_device>
<disk>
<partition action="delete" name="3"/>
</disk>
</target_device>
</target>例 4-11 拡張パーティションの作成
自動インストールの一部として、fdisk パーティションテーブル内に拡張パーティションを作成できます。拡張パーティションは、パーティションタイプが DOSEXT のプライマリパーティション (1、2、3、または 4) です。拡張パーティションにできるプライマリパーティションは 1 つだけです。拡張パーティションは、1 つ以上の論理パーティションのための領域を提供します。拡張パーティションには、複数の論理パーティションを作成できます。
この例では、最大サイズの新しい拡張パーティションを作成します。
<target>
<target_device>
<disk>
<partition name="3" part_type="DOSEXT"/>
</disk>
</target_device>
</target>例 4-12 論理パーティションの作成
この例では、種類が SOLARIS の新しい論理パーティションを既存の拡張パーティション内に、その拡張パーティション内の使用可能ないずれかの空き領域を使用して作成します。
ほかの論理パーティションがない場合は、拡張パーティション全体を論理パーティションに使用します。複数の論理パーティションがある場合は、拡張パーティション内のすべての論理パーティションの合計が拡張パーティション内の合計を超えることはできません。別の論理パーティションがすでにすべての容量を使用しているために、論理パーティションに使用できる容量が存在しない場合、このパーティション作成は失敗します。
<target>
<target_device>
<disk>
<partition name="7" part_type="SOLARIS"/>
</disk>
</target_device>
</target>例 4-13 論理パーティションを含む拡張パーティションの作成
この例では、2 つの新しい論理パーティションを含む拡張パーティションを作成します。この例では、次の作業を実行します。
ディスク上の利用可能な空き領域の中の最大領域を使用して拡張パーティションを作成します。
最初の連続した 10G バイトの利用可能領域を使用して、拡張パーティション内に FAT32 論理パーティションを作成します。
残っている最大の未使用領域を使って、Solaris 論理パーティションを作成します。
<target>
<target_device>
<disk>
<!-- Create an extended partition in the largest block of free space -->
<partition name="4" part_type="DOSEXT"/>
<!-- Create a 10G FAT32 logical partition on the extended partition.
This partition consumes the 1st 10G of the extended partition. -->
<partition name="5" part_type="FAT32">
<size val="10gb"/>
</partition>
<!-- Create a Solaris logical partition using the
largest unused free space in the extended partition.
In this example, the partition uses the remaining space
in the extended partition. -->
<partition name="6" part_type="SOLARIS"/>
</disk>
</target_device>
</target>
AI マニフェストを使用して、自動インストール中にディスク上のスライスを設定できます。インストールターゲットとしてスライスを指定できるほか、既存のスライスの削除、既存のスライスの保持、および新しいスライスの作成を行うことができます。
スライスはパーティションに似ています。スライスとパーティションの違いは次のとおりです。
あるスライスをルートスライスとして指定できます。
スライスは上書きできます。
スライスには use_existing アクションが存在しません。
スライスには、インストール中に保持するスライスを指定できる preserve アクションがあります。
ディスク上のスライスを設定するには、<slice> タグを使用します。<slice> タグは、<disk> タグの内部に存在する必要があります。<slice> タグには次の属性があります。
action — 省略可能。action 属性には次の値があります。
create — 新しいスライスを作成します。action が指定されていない場合は、これがデフォルトになります。
delete — 名前付きスライスを削除します。
preserve — インストール中に名前付きスライス上のデータを保持します。
name — 必須。name 属性は、VTOC テーブル内の一意のスライス ID 番号を示します。name の有効な値は、0、1、3、4、5、6、および 7 です。スライス 2 はディスク全体を表すため、スライス 2 を指定することはできません。スライスが指定されない場合、ルートスライスは 0 であり、AI はスライス 0 に Oracle Solaris OS をインストールします。
is_root — 省略可能。is_root 属性を適用できるスライスは多くても 1 つです。is_root 属性を持つスライスは、ルートプールに含まれています。is_root 属性のデフォルト値は false です。
force — 省略可能。force 属性によって、スライスの上書きが可能になります。force を true に設定しない場合は、すでに存在するスライスを作成するとエラーが発生します。すでに存在するスライスを作成するときに force="true" を指定した場合は、新しく作成されたスライスによって既存のスライスが上書きされます。force 属性のデフォルト値は false です。
スライスを作成する場合は、必要に応じて、そのスライスのサイズを指定できます。1 つのスライスだけが指定され、サイズの値が指定されていない場合は、そのスライスにディスクの全サイズが割り当てられます。複数のスライスが指定されている場合は、1 つのスライス指定についてだけ、サイズの値を省略できます。スライスのサイズは、そのスライスの <size> タグの val 属性で指定します。このサイズの値には、単位のサフィックスが含まれている必要があります。「非決定的なターゲットディスクの指定」の dev_size ディスクプロパティーの説明にある単位のサフィックスの一覧を参照してください。
インストールターゲットとして、ディスク上のスライスを指定できます。
例 4-14 インストールターゲットとしての新しいスライスの指定
この例では、2 つの新しいスライスを作成します。Oracle Solaris OS は、スライス 0 にインストールされます。スライス 0 はすでに存在するため、新しい指定で上書きされます。
<target>
<target_device>
<disk>
<slice name="0" is_root="true" force="true">
<size val="20gb"/>
</slice>
<slice name="4">
<size val="20gb"/>
</slice>
</disk>
</target_device>
</target>
インストールターゲットとしてのスライスの指定に加えて、自動インストール中に、ほかのスライスを作成、削除、および保持することもできます。
例 4-15 スライスの保持
インストール中にこのスライスが変更されないことを指定するには、<slice> タグで preserve アクションを指定します。次の例は、スライス 4 を保持する方法を示しています。
<target>
<target_device>
<disk>
<slice name="0" is_root="true">
<size val="20gb"/>
</slice>
<slice action="preserve" name="4"/>
</disk>
</target_device>
</target>例 4-16 スライスの削除
インストール中にこのスライスを削除するには、<slice> タグで delete アクションを指定します。次の例は、スライス 4 を削除する方法を示しています。
<target>
<target_device>
<disk>
<slice name="0" is_root="true">
<size val="20gb"/>
</slice>
<slice action="delete" name="4"/>
</disk>
</target_device>
</target>
AI マニフェストを使用して、自動インストール中にスワップとダンプを設定できます。
インストールデバイス上のスワップを設定するには、<swap> タグを使用します。インストールデバイス上のダンプを設定するには、<dump> タグを使用します。
<swap> タグには、省略可能な no_swap 属性があります。no_swap 属性の値は、true または false のどちらかです。デフォルト値は false です。no_swap="true" が指定されている場合、そのインストールデバイス上にスワップは設定されません。
<dump> タグには、省略可能な no_dump 属性があります。no_dump 属性はダンプの設定に対して、no_swap 属性がスワップの設定に対して機能するのと同じように機能します。
<swap> タグと <dump> タグは、zvol タグを使用します。zvol タグには次の属性があります。
action — 省略可能。デフォルトのアクションは、新しいスワップまたはダンプを設定する create です。
name — 必須。
スワップまたはダンプのサイズを指定するには、zvol タグの内部で size タグを使用します。size タグの val 属性には、単位のサフィックスが含まれている必要があります。「非決定的なターゲットディスクの指定」の dev_size ディスクプロパティーの説明にある単位のサフィックスの一覧を参照してください。
例 4-17 インストールデバイス上のスワップの設定
<target>
<target_device>
<swap>
<zvol action="create" name="swap">
<size val="20gb"/>
</zvol>
</swap>
</target_device>
</target>例 4-18 インストールデバイス上のスワップの設定解除
<target> <target_device> <swap no_swap"true"/> </target_device> </target>
例 4-19 インストールデバイス上のダンプの設定
<target>
<target_device>
<dump>
<zvol action="create" name="dump">
<size val="2gb"/>
</zvol>
</dump>
</target_device
</target>