名前 | 形式 | 機能説明 | オプション | 使用例 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項
lucreate コマンドは、Solaris オペレーティング環境の Live Upgrade 機能を提供するコマンド群の 1 つです。Live Upgrade 機能の説明と関連用語については、live_upgrade(5) のマニュアルページを参照してください。
lucreate コマンドではコマンド行オプションを指定することにより、次の操作が行えます。
現在のブート環境 (BE) から新しい BE を作成する
現在の BE 以外の BE から新しい BE を作成する
BE 上のファイルシステムを新しい BE 上で分割または結合する。たとえば、/var と /opt を /の下に結合したり、これらのディレクトリを分割して異なるディスクスライスの下にマウントしたりすることができます。
BE 上に、ファイルシステムを作成するが、ファイルは作成しないでおく。
これらの操作は、lucreate コマンド行オプションだけを使って行うこともできますが、-m および -M オプション (後述の説明を参照) を省略して FMLI ベースのインタフェースを自動的に呼び出し、curses ベースの画面を使って Live Upgrade 管理を行うこともできます。FMLI ベースのインタフェースは、lucreate でサポートされる Live Upgrade 機能をすべてサポートするわけではないことに注意してください。また、Sun は FMLI ベースのインタフェースの開発を継続していくことを保証しているわけではありません。
BE の作成には、BE のすべてのマウントポイントに対してディスクまたはデバイススライスの選択も含まれます。スライスには物理ディスク、または Solaris ボリュームマネージャのメタデバイスのような論理デバイスを選択できます。BE のマウントポイントは、FMLI ベースの構成画面で SPLIT または MERGE 機能を使って変更することもできます。
BE が適切に作成されると、lustatus(1M) を使って BE の状態を表示したり、lufslist(1M) を使って BE のファイルシステムを表示したりすることができます。さらに、luupgrade(1M) を使ってその BE の OS をアップグレードしたり、luactivate(1M) を使って BE をアクティブにしたりすることができます。BE をアクティブにすると、システムは次回のブート時にその BE からブートします。
lucreate コマンドは、OS を含むファイルシステム (/、./usr、/var、/opt など) と、OS を含まないファイルシステム (/export、/home などのユーザー定義ファイルシステム) を区別します。OS を含むファイルシステムを、ソース BE と新しい BE の間で共有することはできません。これらのファイルシステムは、常にソース BE からターゲット BE にコピーされます。これに対して、ユーザー定義のファイルシステムはデフォルトで共有されます。Live Upgrade では、OS を含むファイルシステムを共有不能 (または重要な) ファイルシステム、その他のファイルシステムを共有可能ファイルシステムと呼びます。ソース BE の vfstab にリストされている共有不能ファイルシステムは、新しい BE にコピーされます。共有可能ファイルシステムは、宛先スライスを指定した場合にのみコピーされます。宛先スライスを指定しない場合は、コピーされません。
lucreate コマンドは、Solaris ボリュームマネージャ機能のいくつかのサブセットをサポートします。たとえば、lucreate コマンドに -m オプションを使用すると、下記のことが可能です。
連結に単一の物理記憶装置を接続する
ミラーを作成する
ミラーに最大 4 つの連結を接続する
ミラーから連結を切り離す
連結から物理記憶装置を切り離す
ブート環境に Solaris ボリュームマネージャのメタデバイスを使用する場合は、メタデバイスの操作には Solaris ボリュームマネージャのコマンドよりも lucreate コマンドが推奨されます。Solaris ボリュームマネージャソフトウェアはブート環境を認識しません。一方、lucreate コマンドには、たとえば Solaris ボリュームマネージャのメタデバイスを上書きしたり削除したりしてブート環境を破壊することを避ける検査機能が含まれています。
すでに Solaris ボリュームマネージャソフトウェアを使用して複雑な Solaris ボリュームマネージャの連結、ストライプ、およびミラーを作成した場合は、Live Upgrade がその使用をサポートします。ただし、これらの複雑なオブジェクトを作成したり操作したりするためには、Solaris ボリュームマネージャソフトウェアを使用する必要があります。上で述べたとおり、lucreate コマンドではなく Solaris ボリュームマネージャを使用すると、ブート環境を破壊する危険が伴います。それでも Solaris ボリュームマネージャソフトウェアを使用するという場合は、lufslist(1M) を使用して、ブート環境に使用されているデバイスを特定してください。
以下に説明するように、-s オプションを特に使用する場合を除き、新しい BE の作成にはソース BE が必要です。デフォルトでは、ソース BE は現在の BE ですが、-s オプションを使えば、現在の BE 以外の BE を指定できます。
新しく BE を作成する場合は、lucreate を使用するとソース BE からファイルを除外したり、あるいは含めたりすることができます。この動作は、以下で説明する -f、-x、-y、-Y、および -z オプションを使用して行います。 これらのオプションの組み合わせについては、以下の「オプション」を参照してください。
デフォルトでは、ソース BE 上のすべてのスワップパーティションは、ソース BE とターゲット BE 間で共有されます。-m オプションを使えば (下記を参照)、ソース BE 上のスワップパーティションの追加セットまたは新しいセットをターゲット BE と共有できます。
lucreate コマンド使用すると、BE に説明を追加できます。説明の指定は任意で、書式や長さに制限はありません。たとえば、テキスト文字列でもバイナリデータでもかまいません。BE の作成後は、ludesc(1M) ユーティリティを使用して BE の説明を変更できます。
lucreate コマンドにはスーパーユーザー (root) 権限が必要です。
lucreate コマンドには、以下のオプションを指定できます。BE 名は、30 文字を超えてはならず、使用できる文字は英数字とその他の ASCII 文字 (UNIX シェルにとって特殊な意味を持つ文字は除く) だけです。これについては、sh(1) の「クォート」セクションを参照してください。また、BE 名に使用できるのは 8 ビットで表現できるシングルバイトの文字だけです。空白文字を含めることはできません。
lucreate コマンド行で -m オプションまたは -M オプション (下記を参照) を省略すると、FMLI ベースのインタフェースが呼び出され、このインタフェースを介して BE 用のディスクスライスまたはデバイススライスを指定できます。
BE に、説明 (BE_description) を追加します。BE_description には、テキスト文字列および、UNIX コマンド行に入力可能な任意の文字を使用できます。BE の説明に関する詳細は、ludesc(1M) を参照してください。
現在の BE に BE_name という名前を割り当てます。このオプションは、最初の BE を作成するときにだけ必要です。lucreate を最初に実行するときに -c オプションを省略すると、現在の BE の名前の入力を求められます。最初の BE を作成した後で -c オプションを使用すると、エラーメッセージが表示されます。
lucreate が、どの物理記憶装置がブートデバイスであるか認識できない場合があります。たとえば、x86 マシン上のソース BE にミラー化されたルートデバイスがある場合、このようなことが発生します。-C は、ソース BE のブートに使用する物理ブートデバイスを指定します。このオプションを指定しないと lucreate は BE のブートに使用された物理デバイスを検出しようとします。ルート (/) ファイルシステムのあるデバイスが物理ディスクでない場合 (例: ルートがメタデバイス上にある場合)、lucreate は、その物理デバイスが妥当と推測し、次のような質問メッセージを出力します。
Is the physical device devname the boot device for the logical device devname? |
y を入力すると、処理が続けられます。
-C boot_device を使用すると、lucreate は物理デバイスを検索せずに、指定されたブートデバイスを使用します。-C オプションに – (ハイフン) を指定すると、lucreate が検出したものをブートデバイスとして処理が続けられます。デバイスが特定できない場合は、デバイス名を入力するよう求めるプロンプトが表示されます。
-C を省略した場合や、-C boot_device を指定したが lucreate が指定されたブートデバイスを検出できなかった場合は、エラーメッセージが返されます。
-C – の場合、lucreate は、正しいブートデバイスを検出するか、以降の質問メッセージでブートデバイスを指定するように求めるので、この形式を使用する方が安全です。
exclude_list_file の内容を使用して、新しく作成した BE から特定のファイル (ディレクトリを含む) を除外します。exclude_list_file にはファイル名およびディレクトリ名が行単位のリストで記載されています。行の項目がファイル名の場合、そのファイルだけが除外されます。項目がディレクトリ名の場合は、該当するディレクトリとその下にあるすべてのファイル (サブディレクトリを含む) が除外されます。
完全性の検査を無視します。新しい BE を作成する前に、BE から誤って重要なシステムファイルを除外しないように lucreate は完全性検査を実行します。完全性検査を上書きする場合もこのオプションを使用します。 このオプションを使用することによる長所は、 -I を使用すると BE をより速く作成できるということです。それに対して短所は、BE が期待した通りには動作しない危険があるということです。
エラーメッセージとステータスメッセージを、現在の環境での書き込み先だけでなく、error_log にも書き込みます。
新しい BE の vfstab(4) 情報を指定します。-m オプションの引数として指定するファイルシステムは、同じディスク上にあっても、複数のディスクにまたがって存在していてもかまいません。
mount_point には、有効なマウントポイントを指定します。– (ハイフン) は、スワップパーティションであることを示します。device フィールドには、次のいずれかを指定します。
ディスクスライスの名前 (書式は /dev/dsk/cnumtnumdnumsnum)。
Solaris ボリュームマネージャのメタデバイスの名前 (書式は /dev/md/dsk/dnum)。
Veritas ファイルシステムの名前 (書式は /dev/md/vxfs/dnum)。
キーワード merged。指定したマウントポイントのファイルシステムがその親とマージされることを示します。
キーワード shared。ソース BE のすべてのスワップパーティションが新しい BE と共有されることを示します。
物理ディスクデバイス名および Solaris ボリュームマネージャのメタデバイス名は、デバイスを一意に示す最短の名前に短縮できます。たとえば、マシンがデバイス /dev/dsk/c0t0d0s0 に対して 1 つのディスクコントローラと 1 つのディスクドライブだけを持っている場合、/dev/dsk/c0t0d0 は省略して s0 という名前を使用できます。マシンが 1 つのコントローラと複数のディスクを持っている場合は t0d0s0 という名前を、また、複数のコントローラを持っている場合は c0t0d0s0 という名前を使用できます。Solaris ボリュームマネージャのメタデバイスは、その dnum という指定から判断できます。たとえば、/dev/md/dsk/d10 は単純に d10 で表わすことができます。
-m オプションを使用して物理ディスクデバイスまたは Solaris ボリュームマネージャメタデバイスをメタデバイスまたはミラーに接続する場合 (以降で説明する attach キーワードを使用する) は、コンテナメタデバイス、またはミラーを選択でき、あるいは lucreate でいずれかを選択するよう設定できます。 メタデバイス指定するには、デバイス名にコンマ、続けてメタデバイス名またはミラー名を付与します。この指定を省略すると、lucreate は空いているメタデバイスのリストからコンテナメタデバイスを選択します。「使用例」を参照してください。
fs_option フィールドには、下記に示すキーワードの 1 つまたは複数を指定できます。最初に示す 2 つのキーワードは、ファイルシステムの種類を指定します。ほかのキーワードは、ファイルシステムに対するアクションを指定します。複数のキーワードを指定する場合は、コンマで区切ります。
ファイルシステムを UFS ボリュームとして作成します。
ファイルシステムを Veritas デバイスとして作成します。
指定した物理記憶装置のファイルシステムの内容を保存します。このキーワードを使用すると、デバイスのファイルシステムとその内容が、指定したマウントポイントに適切であると仮定されます。 指定したマウントポイントに保存するデバイスとして指定できるのは 1 つだけです。このキーワードを指定すると、指定した記憶装置に新しいファイルシステムを作成し、ファイルシステムの内容を、ソース BE から指定したデバイスにコピーするというデフォルトの手順を省略できます。 preserve、lucreate を使用すると、記憶装置の内容が指定したファイルシステムに適切かどうか検査します。この検査には限界があり、適合性を保証するものではありません。
指定した記憶装置上にミラーを作成します。指定する記憶装置は、正しく名前のついた (たとえば、/dev/md/dsk/d10、d10 など) ミラーとして働く論理デバイスである必要があります。後続の -m オプションでは、attach を指定して (下記を参照)、少なくとも 1 つの物理デバイスを新しいミラーに接続する必要があります。
メタデバイスに含まれる物理記憶装置を、指定したマウントポイントに関連するミラーに接続します。attach を使用する場合、ディスクを特定のコンテナメタデバイスに接続するときは、デバイス名の後ろにコンマ、続けてメタデバイスの名前を付与します。コンマとメタデバイス名を省略すると、 lucreate はそのディスクのコンテナメタデバイスとして空いているメタデバイスを選択します。「使用例」を参照してください。
lucreate は、1 つの物理ドライブを含むメタデバイスだけを作成して、そのようなメタデバイスを最大 4 つまでミラーに接続できるようにします。
指定したマウントポイントに関連するミラーから物理記憶装置の接続を解除します。
ルートには、少なくとも 1 つのディスクまたはデバイススライスを指定する必要があります。この指定には、-m または -M オプション (下記を参照) を使用するか、FMLI ベースのインタフェースを使用します。新しい BE にファイルシステムを作成する場合は、ファイルシステムごとに -m 引数を指定する必要があります。たとえば、ソース BE にある 3 つのファイルシステム (たとえば、/、/usr、および /var) を新しい BE 上に個別のファイルシステムとして作成する場合は、-m 引数を 3 回指定します。-m 引数を 1 回だけ指定した場合、/、/usr、および /var は、1 つのファイルシステムとして新しい BE の / の下にマージされます。
-m オプションを使ってスワップパーティションを指定する場合は、いずれかの BE で現在スワップに使用しているデバイスおよび未使用のデバイスを指定できます。 スワップ割り当てについては、次の方法から選択できます。
ソース BE に関連するすべてのスワップデバイスを新しい BE が使用するように割り当てる場合は、スワップデバイスの指定をすべて省略できます。
新しい BE が、指定したスワップデバイスだけを使用してソース BE に関連するスワップデバイスを自動的に共有しないように割り当てる場合は、1 つまたは複数のスワップデバイスを指定します。
新しい BE が、指定したスワップデバイスを使用してソース BE とスワップデバイスを共有するように割り当てる場合は、構文 -m –:shared:swap を使用して 1 つまたは複数のスワップデバイスを指定します。
「使用例」を参照してください。
slice_list ファイルには、-m オプションのリストが含まれています。リストに指定する引数の形式は、-m オプションに指定する引数の形式と同じです。# 文字で始まる行は、コメント行で無視されます。-M オプションは、BE に多数のファイルシステムを指定するときに便利です。-m と -M オプションは同時に指定できます。たとえば、スワップパーティションを slice_list 内に指定し、/ と /usr スライスを -m オプションで指定することができます。
-m と -M オプションには、1 つのマウントポイントに対して複数のスライスを指定できます。lucreate は、存在しないスライスを無視し、使用可能な最初のスライスを選択します。
作成する BE の名前を指定します。BE_name は、システムにおいて一意の名前にする必要があります。
すべてのコマンド出力を、現在の環境での書き込み先だけでなく、outfile にも書き込みます。
新しい BE を作成する際のソースを指定します。このオプションにより、新しい BE を作成するソースとして現在の BE 以外のものを指定できます。引数としてハイフン (-) を指定すると、新しい BE が作成されますが、ファイルシステム内にファイルは作成されません。この BE 内にファイルを作成するには lumake(1M) を使用し、BE 上にフラッシュアーカイブをインストールするには luupgrade(1M) を使用する必要があります。このオプションは、特に、フラッシュアーカイブをインストールするときに便利です (flar(1M) のマニュアルページを参照)。
新しく作成した BE から exclude ファイルまたは exclude ディレクトリを除外します。exclude がディレクトリ名の場合、lucreate はそのディレクトリと、その下にあるすべてのファイル (サブディレクトリを含む) を除外します。
XML 出力を有効にします。XML の特性は DTD (/usr/share/lib/xml/dtd/lu_cli.dtd.<num>) に定義されています。<num> は、各 DTD ファイルのバージョン番号を示します。
新しく作成した BE にファイル include またはディレクトリ include を取り込みます。include がディレクトリ名の場合、lucreate はそのディレクトリと、その下にあるすべてのファイル (サブディレクトリを含む) を取り込みます。
include_list_file の内容を使用して、新しく作成した BE に特定のファイル (ディレクトリを含む) を取り込みます。include_list_file にはファイル名およびディレクトリ名が行単位のリストで記載されています。行の項目がファイル名の場合、そのファイルが取り込まれます。行の項目がディレクトリ名の場合、該当するディレクトリとその下にあるすべてのファイル (サブディレクトリを含む) が取り込まれます。
filter_list_file にはファイル名およびディレクトリ名が行単位の項目リストで記載されています。各項目の先頭に + 記号が付いた場合は新しい BE に取り込む項目を、 - が付いた場合は新しい BE から除外する項目を示します。
lucreate コマンドを使用すると、新しい BE を作成したときに特定のファイルおよびディレクトリを取り込みまたは除外できます。ファイルおよびディレクトリの取り込みは、次のオプションを使用します。
-y include オプション
-Y include_list_file オプション
-z filter_list オプション。リストファイルの項目名の先頭に + を付ける
ファイルおよびディレクトリの除外は、次のオプションを使用します。
-x exclude オプション
-f exclude_list_file オプション
-z filter_list オプション。リストファイルの項目名の先頭に – を付ける
除外される項目の親ディレクトリが、取り込みオプション (たとえば、 -y include) で取り込まれる場合は、exclude で指定された特定のファイルまたはディレクトリだけが除外されます。 逆に、取り込まれるファイルの親ディレクトリが除外オプションで指定されている場合は、include で指定されたファイルだけが取り込まれます。 たとえば、次のように指定します。
-x /a -y /a/b |
/a/b を除いたすべての /a が除外されます。次のように指定すると、
-y /a -x /a/b |
/a/b を除いたすべての /a が取り込まれます。
lucreate コマンドはさまざまな出力を生成します。以下の例では、説明のために必要な場合を除き、出力例は省略しています。
次のコマンドシーケンスを使って、ブート環境がまだ作成されていないマシン上に新しい BE を作成します。共有できないすべての (クリティカルな) ファイルシステムは / の下にマウントされます。
# lucreate -c first_disk -m /:/dev/dsk/c0t4d0s0:ufs -n second_disk (出力略) lucreate: Creation of Boot Environment <second_disk> successful. |
次のコマンドは、先のコマンドと同様、BE が作成されたことのないマシン上に新しいブート環境を作成します。ただし、次のコマンドは、先のコマンドと 2 つの点で異なります。 -c オプションは省略され (エラー状態)、/usr ファイルシステムは / からは分離して自身のディスクスライス上にマウントされます。
# lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \ -n second_disk lucreate: Please wait while your system configuration is determined. lucreate: No name for Current BE. lucreate: ERROR: The current BE is not named - please provide the name to use for the current BE with the <-c> option. |
次に -c オプションを指定して同じコマンドを実行します。
# lucreate -c first_disk -m /:/dev/dsk/c0t4d0s0:ufs \ -m /usr:/dev/dsk/c0t4d0s1:ufs -n second_disk (出力略) lucreate: Creation of Boot Environment <second_disk> successful. |
BE を作成した後、luupgrade(1M) を使って新しい BE 上で OS をアップグレードし、luactivate(1M) を使ってその BE をアクティブにします。マシンは次回リブートするときに、この BE からブートされます。first_disk のスワップパーティションとすべての共有可能ファイルシステムは、second_disk からも使用 (共有) できます。
# luupgrade -u -n second_disk \ -s /net/installmachine/export/solarisX/OS_image (出力略) luupgrade: Upgrade of Boot Environment <second_disk> successful. # luactivate second_disk |
これらのコマンドの説明については、luupgrade(1M) と luactivate(1M) のマニュアルページを参照してください。
-s オプションを使って、現在の BE 以外の BE をソース BE として指定します。
# lucreate -s third_disk -m /:/dev/dsk/c0t4d0s0:ufs \ -m /usr:/dev/dsk/c0t4d0s1:ufs -n second_disk (出力略) lucreate: Creation of Boot Environment <second_disk> successful. |
このためには、-s – オプションを指定した lucreate と luupgrade を実行する必要があります。
# lucreate -s - -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \ -n second_disk brief messages lucreate: Creation of Boot Environment <second_disk> successful. |
-s オプションを指定した lucreate コマンドは、数秒で処理を終了します。この時点で luupgrade を実行して、フラッシュアーカイブをインストールできます。
# luupgrade -f -n second_disk \ -s /net/installmachine/export/solarisX/OS_image \ -J "archive_location http://example.com/myflash.flar" |
このコマンドの説明については、luupgrade(1M) のマニュアルページを参照してください。
もっとも単純な例として、lucreate コマンドでスワップパーティションを 1 つも指定しない場合、ソース BE のすべてのスワップパーティションは新しい BE と共有されます。たとえば、現在の BE がスワップパーティションとして /dev/dsk/c0t4d0s7 を使用すると仮定します。次のコマンドを入力します。
# lucreate -n second_disk -m /:/dev/dsk/c0t4d0s0:ufs (出力略) lucreate: Creation of Boot Environment <second_disk> successful. |
このコマンドの結果、その BE がアクティブになり、起動したとき、パーティション /dev/dsk/c0t4d0s7 は BE second_disk によって使用されます。
新しい BE にソース BE とは異なるスワップパーティションを使用したい場合は、1 つまたは複数の -m オプションを入力して新しいパーティションを指定します。ここで、現在の BE がスワップパーティションとして /dev/dsk/c0t4d0s7 を使用していると仮定します。次のコマンドを入力します。
# lucreate -m /:/dev/dsk/c0t0d0s0:ufs -m -:/dev/dsk/c0t4d0s1:swap \ -m -:/dev/dsk/c0t4d0s2:swap -n second_disk (出力略) lucreate: Creation of Boot Environment <second_disk> successful. |
BE がアクティブになり起動すると、新しい BE second_disk は /dev/dsk/c0t4d0s1 および /dev/dsk/c0t4d0s2 を使用し、/dev/dsk/c0t4d0s7 は使用しません。スワップパーティションはソース BE が使用します。
新しい BE second_disk がソース BE のスワップパーティションを共有していて、さらにスワップパーティションを追加したいと仮定します。次のように入力します。
# lucreate -m /:/dev/dsk/c0t0d0s0:ufs -m -:/dev/dsk/c0t4d0s1:swap \ -m -:shared:swap -n second_disk (出力略) lucreate: Creation of Boot Environment <second_disk> successful. |
BE がアクティブになり起動すると、新しい BE second_disk はスワップに /dev/dsk/c0t4d0s7 を使用して、ソース BE と共有し、さらに /dev/dsk/c0t4d0s1 を使用します。
次のコマンドは、BE を 2 台目のディスクに作成し、1 台目と 2 台目の両方のディスク上にあるスワップパーティションを共有できるようにします。
# lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m -:/dev/dsk/c0t4d0s1:swap \ -m -:/dev/dsk/c0t0d0s1:swap -n second_disk (出力略) lucreate: Creation of Boot Environment <second_disk> successful. |
上記のコマンドが完了すると、second_disk という BE は、/dev/dsk/c0t0d0s1 と /dev/dsk/c0t4d0s1 をスワップパーティションとして使用します。ただし、このスワップ割当は、second_disk からブートが行なわれるまで有効になりません。スワップパーティションが多数ある場合は、次の例のように -M オプションを使用すると便利です。
この例では、スワップパーティションのリストを /etc/lu/swapslices ファイルに指定します。このファイルの場所と名前はユーザーが定義できます。/etc/lu/swapslices ファイルの内容を以下に示します。
-:/dev/dsk/c0t3d0s2:swap -:/dev/dsk/c0t3d0s2:swap -:/dev/dsk/c0t4d0s2:swap -:/dev/dsk/c0t5d0s2:swap -:/dev/dsk/c1t3d0s2:swap -:/dev/dsk/c1t4d0s2:swap -:/dev/dsk/c1t5d0s2:swap |
上記のファイルは次のコマンドで指定されます。
# lucreate -m /:/dev/dsk/c02t4d0s0:ufs -m /usr:/dev/dsk/c02t4d0s1:ufs \ -M /etc/lu/swapslices -n second_disk (出力略) lucreate: Creation of Boot Environment <second_disk> successful. |
BE second_disk は、/etc/lu/swapslices に指定されたパーティションをスワップとして使用します。
次のコマンドは、現在の BE にあるユーザーファイルシステム /home (および、共有不能なファイルシステム / と /usr) を新しい BE にコピーします。
# lucreate -m/:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \ -m /home:/dev/dsk/c0t4d0s4:ufs -n second_disk |
前述のコマンドとは異なり、次のコマンドには、/home の宛先を指定する -m オプションが指定されていません。コマンドを実行すると、/home は現在の BE と BE second_disk の間で共有されます。
# lucreate -m/:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \ -n second_disk |
以下のコマンドがあります。
ミラー d10 を作成して、このミラーをルートファイルシステムを受容体として確立します。
c0t0d0s0 および c0t1d0s0 をメタデバイス d1 および d2 にそれぞれ接続します。 これらのメタデバイスの指定は任意であることに注意してください。
c0t0d0s0 および c0t1d0s0 に関連するメタデバイスをミラー d10 に接続します。
現在の BE のルートファイルシステムをミラー d10 にコピーして、d10 の内容をすべて上書きします。
# lucreate -m /:/dev/md/dsk/d10:ufs,mirror \ -m /:/dev/dsk/c0t0d0s0,d1:attach \ -m /:/dev/dsk/c0t1d0s0,d2:attach -n newBE |
以下のコマンドは、物理記憶装置用のコンテナメタデバイスが指定されていないという点のみ、先のコマンドと異なります。この例では、lucreate は空いている名前のリストからメタデバイス名を選択し、これらのメタデバイスを最初の -m オプションで指定されたミラーに接続します。
# lucreate -m /:/dev/md/dsk/d10:ufs,mirror \ -m /:/dev/dsk/c0t0d0s0:attach \ -m /:/dev/dsk/c0t1d0s0:attach -n newBE |
次のコマンドは、作成するミラーにデバイスを接続する前に、ミラーから物理ディスクの 1 つを切り離すという点で、先のコマンドとは異なります。また、物理ディスクの 1 つの内容が保存されます。このコマンドは次のことを行います。
ミラー d10 を作成して、このミラーをルートファイルシステムの受容体として確立します。
c0t0d0s0 を現在接続されているミラーから切り離します。
c0t0d0s0 および c0t1d0s0 をメタデバイス d1 および d2 にそれぞれ接続します。これらのメタデバイスの指定は任意であることに注意してください。
c0t0d0s0 の内容を保存します。c0t0d0s0 には現在の BE のルートファイルシステムの有効なコピーが含まれていると仮定します。
c0t0d0s0 および c0t1d0s0 に関連するメタデバイス (d1 および d2) をミラー d10 に接続します。
# lucreate -m /:/dev/md/dsk/d10:ufs,mirror \ -m /:/dev/dsk/c0t0d0s0,d1:detach,attach,preserve \ -m /:/dev/dsk/c0t1d0s0,d2:attach -n newBE |
上のコマンドは、次のように短縮できます。
# lucreate -m /:d10:ufs,mirror \ -m /:c0t0d0s0:detach,attach,preserve \ -m /:c0t1d0s0:attach -n newBE |
上の例では、デバイス名 (物理デバイス名および論理デバイス名) が短縮され、コンテナメタデバイス (d1 および d2) の指定子が省略されていることに注意してください。
以下のコマンドは、この一連の例で最初に紹介したコマンドに続くコマンドです。このコマンドは、コンテナデバイス (c0t0d0s0 を含む) を 1 つのミラー (最初のコマンドでは d10) から切り離し、別のミラー (d20) に接続してその内容を保存します。
# lucreate -m /:/dev/md/dsk/d20:ufs,mirror \ -m /:/dev/dsk/c0t0d0s0:detach,attach,preserve -n nextBE |
次のコマンドは、2 つのミラーを作成し、一方のミラー上には新しい BE の / ファイルシステムを、もう一方のミラー上には新しい BE の /opt ファイルシステムを置きます。
# lucreate -m /:/dev/md/dsk/d10:ufs,mirror \ -m /:/dev/dsk/c0t0d0s0,d1:attach \ -m /:/dev/dsk/c1t0d0s0,d2:attach \ -m /opt:/dev/md/dsk/d11:ufs,mirror \ -m /opt:/dev/dsk/c2t0d0s1,d3:attach \ -m /opt:/dev/dsk/c3t1d0s1,d4:attach -n anotherBE |
次のコマンドには -m と -M オプションのいずれも指定されていないため、Live Upgrade 操作を行う FMLI ベースのインタフェースが呼び出されます。このインタフェースの説明については、lu(1M) のマニュアルページを参照してください。
# lucreate -n second_disk |
上記のコマンドは、ターゲット BE second_disk のソース BE として現在の BE を使用します。FMLI インタフェースで、second_disk のターゲットスライスを指定します。次のコマンドは上記のコマンドを変更したものです。
# lucreate -n second_disk -s third_disk |
上記のコマンドには、ターゲット BE のソースが指定されています。前述の例と同様に、FMLI インタフェースが表示されるので、新しい BE のターゲットスライスを指定します。
次のコマンドは、ファイルシステム /usr/opt をファイルシステム /usr にマージします。まず以下の例では、BE first_diskにあるディスクスライスを -m オプションの引数形式で表したものです。
/:/dev/dsk/c0t4d0s0:ufs /usr:/dev/dsk/c0t4d0s1:ufs /usr/opt:/dev/dsk/c0t4d0s3:ufs |
次のコマンドは、BE second_diskを作成し、/usr/opt をその親の /usr にマージします。
# lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \ -m /usr/opt:merged:ufs -n second_disk |
/、/usr、および /var のすべてが同じディスクスライス上にマウントされているソース BE があるとします。次のコマンドは、/、/usr、および /var がそれぞれ異なるディスクスライスにマウントされた BE second_diskを作成します。
# lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m /usr:/dev/dsk/c0t4d0s1:ufs \ /var:/dev/dsk/c0t4d0s3:ufs -n second_disk |
ファイルシステム (ルートなど) のコンポーネントを異なるディスクスライスに分割するこのような操作を、ファイルシステムの分割といいます。
次のコマンドは、新しい BE second_disk の代替ディスクスライスとして複数の -m オプションを使用します。
# lucreate -m /:/dev/dsk/c0t4d0s0:ufs -m /:/dev/dsk/c0t4d0s1:ufs \ -m /:/dev/dsk/c0t4d0s5:ufs -n second_disk (出力略) lucreate: Creation of Boot Environment <second_disk> successful. |
上記のコマンドは、/ ファイルシステムのディスクスライスの候補として s0、s1、s5 を指定しています。lucreate は、この 3 つのスライスの中から他の BE によって使用されていない最初のスライスを選択します。-s オプションが省略されているため、新しい BE は現在の BE をソースとして作成されます。
システム上にある BE のリスト
Live Upgrade の DTD (-X オプションを参照)
次の属性の説明については、attributes(5) のマニュアルページを参照してください。
属性タイプ | 使用条件 |
---|---|
属性値 | SUNWluu |
lu(1M), luactivate(1M), lucancel(1M), lucompare(1M), lucurr(1M), ludelete(1M), ludesc(1M), lufslist(1M), lumake(1M), lumount(1M), lurename(1M), lustatus(1M), luupgrade(1M), lutab(4), attributes(5), live_upgrade(5)
すべての Solaris オペレーティング環境のアップグレードに当てはまりますが (Live Upgrade の機能は除きます)、ディレクトリを複数のマウントポイントに分割すると、ハードリンクは解除されます。たとえば、/usr/test1/buglist と /usr/test2/buglist がハードリンクされているとします。/usr/test1 と /usr/test2 を別々のファイルシステムに分割すると、これらのファイル間のリンクは切断されます。lucreate が複数のファイルシステムにまたがるハードリンクを検出すると、コマンドは警告メッセージを出力し、失われたハードリンクに代わるシンボリックリンクが作成されます。
lucreate は、共有不能なファイルシステムについて無効な構成が作成されても検出できません。たとえば、/ と /kernel を別々のファイルシステムとして作成する lucreate コマンドを実行することは可能です。しかし、作成した BE はブートできません。ブート環境用のファイルシステムを作成するときは、Solaris オペレーティング環境用のファイルシステムを作成する場合と同じ規則が適用されます。
これまでの説明をふまえて、以下のことに留意してください。
ソース BE では、コピーしたり新しい BE と共有する各ファイルシステムの有効な vfstab エントリが必要です。
重複するパーティション (つまり、同じ物理ディスク領域を共有するパーティション) には、新しい BE を作成することはできません。このようなディスクに BE を作成すると、lucreate コマンドは問題を検出しませんが、作成された BE はブートできません。
-m オプションの説明にあるとおり、Solaris ボリュームマネージャのメタデバイスをブート環境に使用する場合は、Solaris ボリュームマネージャのコマンドではなく lucreate を使用してこれらのメタデバイスを操作してください。Solaris ボリュームマネージャソフトウェアはブート環境を認識しません。lucreate コマンドには、たとえば誤って Solaris ボリュームマネージャのメタデバイスを上書きしたり削除したりしてブート環境を破壊することを避ける検査機能が含まれています。
Live Upgrade は、配布中のリリース、および最大 3 つのリリースをさかのぼってサポートします。たとえば、Solaris 9 版 (Solaris 9 Upgrade 版を含む) の Live Upgrade バージョンを入手した場合、Solaris 9 に加えて Solaris バージョン 2.6、Solaris 7、および Solaris 8 版をサポートします。Solaris 2.6 より前のバージョンの Solaris をサポートする Live Upgrade バージョンは存在しません。
名前 | 形式 | 機能説明 | オプション | 使用例 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項