この節では、Solaris 9 4/03 リリースの新しいディスク管理機能について説明します。
この Solaris リリースは、64 ビット Solaris カーネルを実行するシステム上で 1T バイトを超えるディスクをサポートします。32 ビット Solaris カーネルを実行するシステム (Solaris x86 版を実行するシステムなど) に接続されたディスクでは、EFI (Extensible Firmware Interface) ディスクラベルは使用できません。
EFI の仕様は http://www.intel.com/technology/efi/main_specification.htm からダウンロードできます。
EFI ラベルは、物理ディスクボリュームと仮想ディスクボリュームをサポートします。このリリースには、1T バイトを超えるディスクを管理するための更新版ディスクユーティリティが付属しています。UFS ファイルシステムには EFI ディスクラベルとの互換性がありますが、1T バイトを超えるサイズの UFS ファイルシステムを作成することはできません。この Solaris リリースで 1T バイトを超えるディスクを管理する場合は、Solaris ボリュームマネージャソフトウェアを使用します。Solaris ボリュームマネージャの使用方法については、『Solaris ボリュームマネージャの管理』を参照してください。
サイズが 1T バイトに満たないディスクでは、引き続き VTOC ラベルを使用できます。現在のシステムでサイズが 1T バイトに満たないディスクしか使用しない場合は、以前の Solaris リリースと同じ方法でディスク管理を行います。サイズが 1T バイトに満たないディスクに EFI ラベルでラベル付けを行う場合は、format-e コマンドを使用します。詳細については、例 — サイズが 1T バイトに満たないディスクに EFI ラベルを付けるを参照してください。
EFI ディスクラベルと VTOC ディスクラベルとの相違点は次のとおりです。
サイズが 1T バイトを超えるディスクをサポートする
スライス 0 〜 6 を使用できる (スライス 2 はその他のスライス)
一次 (バックアップ) ラベルまたはその他のパーティションを使ってパーティションやスライスをオーバーラップすることはできない。EFI ラベルのサイズは通常 34 セクターであり、パーティションの開始セクターは 34 になる。つまり、開始セクターが 0 のパーティションは存在しない
シリンダ、ヘッド、およびセクターの情報は、ラベルには格納されない。サイズはブロック単位で報告される
代替シリンダ領域 (ディスクの終わりから 2 つめまでのシリンダ) に格納されていた情報は、スライス 8 に格納される
format ユーティリティを使ってパーティションサイズを変更する場合、サイズ 0 のパーティションには unassigned パーティションタグが割り当てられる。format ユーティリティでは、0 より大きいサイズのパーティションには、デフォルトにより usr パーティションタグが割り当てられる。パーティションを変更したあと新しいパーティションタグを割り当てたい場合は、パーティション変更メニューを使用する。ただし、サイズ 0 以外のパーティションに unassigned パーティションタグを割り当て直すことはできない
サイズが 1T バイトを超えるディスクを使用することが現在の環境にとって適切かどうかを判断するときは、次の点を考慮してください。
EFI ラベル付きディスクを使用するシステム向けの階層化されたソフトウェア製品で、EFI ラベル付きディスクにアクセスできないことがある
以前の Solaris リリースを実行しているシステムは、EFI ラベル付きディスクを認識しない
EFI ラベル付きディスクからブートを実行できない
Solaris 管理コンソールの「ディスク」ツールでは、EFI ラベル付きディスクを管理できない。EFI ラベル付きディスクを管理したい場合は、format ユーティリティを使ってディスクをパーティションに分割したあと、format ユーティリティか、Solaris 管理コンソールの拡張ストレージツールを使用する
EFI 仕様では、スライスのオーバーラップは禁止されている。cxtydz でディスク全体を表現する
UFS ファイルシステムには、EFI ディスクラベルとの互換性がある。ただし、サイズが 1T バイトを超える UFS ファイルシステムは作成できない。このようなファイルシステムを作成する必要がある場合は、別パッケージの Sun QFS ファイルシステムを使用する。Sun QFS ファイルシステムについては、 http://docs.sun.com/db/doc/816-2542-10 を参照する
ディスクやパーティションのサイズ情報を提供する。使用可能な単位はセクターまたはブロック。シリンダおよびヘッドは使用できない
次の format オプションは、EFI ラベル付きディスクではサポートされていないか、不適切である
save オプション。EFI ラベル付きディスクは format.dat ファイルにエントリを必要としない。したがって、このオプションはサポートされない
backup オプション。ディスクドライバは、一次ラベルを検出してディスクに書き込む。したがって、このオプションは不適切である
Solaris インストールユーティリティは、EFI ラベル付きディスクを自動的に認識します。しかし、これらのディスクのパーティション分割をやり直すことはできません。インストール前またはインストール後にこれらのディスクのパーティション分割をやり直したい場合は、format ユーティリティを使用してください。Solaris Upgrade ユーティリティおよび Live Upgrade ユーティリティも EFI ラベル付きディスクを認識します。しかし、EFI ラベル付きディスクからシステムのブートを実行することはできません。
EFI ラベル付きディスクを使用するシステム上に Solaris をインストールした場合、次のようなパーティションテーブル情報が得られます。
Current partition table (original): Total disk sectors available: 2479267806 blocks Part Tag Flag First Sector Size Last Sector 0 home wm 34 1.15TB 2479251421 1 unassigned wm 0 0 0 2 unassigned wm 0 0 0 3 unassigned wm 0 0 0 4 unassigned wm 0 0 0 5 unassigned wm 0 0 0 6 unassigned wm 0 0 |
EFI ラベル付きディスクの管理方法は、次の表で確認できます。
作業 |
参照先 |
---|---|
インストール済みのシステムにディスクを接続し、再構成 (ブート) を実行する | |
format ユーティリティを使ってディスクのパーティション分割を行う (必要に応じて) | |
ディスクボリュームを作成する。その後、Solaris ボリュームマネージャでソフトパーティションを作成する (必要に応じて) |
『Solaris ボリュームマネージャの管理』の「記憶装置管理の概念」 |
ファイルシステムのサイズが 1T バイトに満たない場合は、newfs コマンドを使って、新しいディスクの UFS ファイルシステムを作成する | |
または、QFS ファイルシステムを作成する |
以前の Solaris リリースでは、ディスク全体がスライス 2 (s2) で表されていました。dd コマンドを使って、ディスクを複製またはコピーできます。このコマンドは、次のように入力します。
dd if=/dev/rdsk/c0t0d0s2 of=/dev/rdsk/c0t2d0s2 bs=128k |
ここでは、複製後のディスクに一意の UUID を割り当てる必要があります。したがって、1T バイトを超えるサイズのディスクの複製 (コピー) 方法が若干異なります。たとえば、次のようになります。
dd コマンドを使って EFI ラベル付きディスクを複製します。
# dd if=/dev/rdsk/c0t0d0s2 of=/dev/rdsk/c0t2d0s2 bs=128k |
複製対象のディスクの prtvtoc 出力を fmthard コマンドにパイプして、複製済みディスク用の新しいラベルを作成します。
# prtvtoc /dev/rdsk/c0t0d0 | fmthard -s - /dev/rdsk/c0t2d0 |
複製済みディスク用の新しいラベルは、必ず作成してください。作成しないと、その他のソフトウェア製品によって UUID の重複が検出された時点で、EFI ラベル付きディスクのデータが破壊されることがあります。
EFI ラベル付きディスクに関する問題の障害追跡には、次のエラーメッセージと解決法を参考にしてください。
Dec 3 09:26:48 holoship scsi: WARNING: /sbus@a,0/SUNW,socal@d,10000/ sf@1,0/ssd@w50020f23000002a4,0 (ssd1): Dec 3 09:26:48 holoship disk has 2576941056 blocks, which is too large for a 32-bit kernel |
32 ビット SPARC カーネルを実行しているシステムを、サイズが 1T バイト以上のディスクでブートしようとしました。
サイズが 1T バイト以上のディスクでは、64 ビット SPARC カーネルを実行しているシステムをブートしてください。
Dec 3 09:12:17 holoship scsi: WARNING: /sbus@a,0/SUNW,socal@d,10000/ sf@1,0/ssd@w50020f23000002a4,0 (ssd1): Dec 3 09:12:17 holoship corrupt label - wrong magic number |
Solaris 9 4/03 より古いリリースの Solaris を実行しているシステムにディスクを追加しようとしました。
このディスクは、Solaris 9 4/03 リリースを実行しているシステムに追加してください。