ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Solaris Volume Manager 管理ガイド Oracle Solaris 10 1/13 Information Library (日本語) |
1. Solaris Volume Manager の使用開始
4. Solaris Volume Manager for Sun Cluster (概要)
5. Solaris Volume Manager の構成と使用 (シナリオ)
8. RAID-0 (ストライプと連結) ボリューム (概要)
9. RAID-0 (ストライプおよび連結) ボリューム (タスク)
未使用のスライスから RAID-1 ボリュームを作成する方法
ファイルシステムから RAID-1 ボリュームを作成する方法
SPARC: ルート (/) ファイルシステムから RAID-1 ボリュームを作成する方法
x86: ルート (/) ファイルシステムから RAID-1 ボリュームを作成する
x86: GRUB を使用してルート (/) ファイルシステムから RAID-1 ボリュームを作成する方法
アンマウントできないファイルシステムのミラー化を解除する方法
RAID-1 ボリュームのオンラインバックアップを実行する方法
20. Solaris Volume Manager の保守 (タスク)
21. Solaris Volume Manager のベストプラクティス
25. Solaris Volume Manager のトラブルシューティング (タスク)
A. 重要な Solaris Volume Manager ファイル
B. Solaris Volume Manager のクイックリファレンス
この手順では、2 面ミラーを作成する方法を示します。3 面ミラーまたは 4 面ミラーを作成する場合も、同じ手順を使用します。
始める前に
「Solaris Volume Manager コンポーネントを作成するための前提条件」および 「RAID-1 ボリュームの作成と保守」を確認してください。
「RAID-0 (ストライプ) ボリュームを作成する方法」または 「RAID-0 (連結) ボリュームを作成する方法」を参照してください。
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、「アクション」、「ボリュームを作成」の順に選択し、画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用して 1 面ミラーを作成します。
# metainit volume-name -m submirror-name
作成するボリュームの名前を指定します
ミラーを作成することを指定します
ミラーの最初のサブミラーになるコンポーネントの名前を指定します
詳細は、次の例と metainit(1m) のマニュアルページを参照してください。
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、変更するミラーを選択します。「アクション」、「プロパティー」、「サブミラー」の順に選択します。画面の指示に従ってサブミラーを接続します。詳細は、オンラインヘルプを参照してください。
次の形式の metattach コマンドを使用します。
# metattach volume-name submirror-name
サブミラーを追加する RAID-1 ボリュームの名前を指定します
ミラーに接続された 2 番目のサブミラーになるコンポーネントの名前を指定します
詳細は、次の例と metattach(1M) のマニュアルページを参照してください。
例 11-1 2 面ミラーを作成する
# metainit d51 1 1 c0t0d0s2 d51: Concat/Stripe is setup # metainit d52 1 1 c1t0d0s2 d52: Concat/Stripe is setup # metainit d50 -m d51 d50: Mirror is setup # metattach d50 d52 d50: Submirror d52 is attached
この例では、2 面ミラー d50 を作成する方法を示します。metainit コマンドは、RAID-0 ボリュームである 2 つのサブミラー (d51 と d52) を作成します。metainit -m コマンドは、d51 RAID-0 ボリュームから 1 面ミラーを作成します。metattach コマンドは、d52 を接続して 2 面ミラーを作成し、再同期を実行させます。接続されたサブミラー上のデータは、再同期の際にもう一方のサブミラーによって上書きされます。
例 11-2 再同期なしで 2 面ミラーを作成する
# metainit d51 1 1 c0t0d0s2 d51: Concat/Stripe is setup # metainit d52 1 1 c1t0d0s2 d52: Concat/Stripe is setup # metainit d50 -m d51 d52 metainit: d50: WARNING: This form of metainit is not recommended. The submirrors may not have the same data. Please see ERRORS in metainit(1M) for additional information. d50: Mirror is setup
この例では、2 面ミラー d50 の作成を示します。metainit コマンドは、RAID-0 ボリュームである 2 つのサブミラー (d51 と d52) を作成します。その後、両方のサブミラーで metainit -m コマンドを実行して、ミラーを作成します。metattach コマンドではなく metainit コマンドを使用してミラーを作成すると、再同期処理は実行されません。結果として、ミラーの両側が同一であり区別なく使用できると Solaris Volume Manager でみなされた場合、データが破壊される可能性があります。
参照
ファイルシステム用に新しく作成したミラーを準備するには、『Oracle Solaris の管理: デバイスとファイルシステム』の第 15 章「ファイルシステムの作成およびマウント (タスク)」を参照してください。データベースなどの一部のアプリケーションは、ファイルシステムを使用しません。これらのアプリケーションは、代わりに raw デバイスを使用します。このアプリケーションは、raw デバイスにアクセスするための独自の方法を備えている必要があります。
既存のファイルシステムをミラー化するには、次の手順を使用します。ファイルシステムをアンマウントできる場合は、リブートなしで手順全体を完了することができます。/usr や /swap など、アンマウントできないファイルシステムの場合、手順を完了するにはシステムをリブートする必要があります。
スライス上に構築された既存のファイルシステムから RAID-1 ボリュームを作成する場合は、その単一のスライスだけをプライマリ RAID-0 ボリューム (サブミラー) に含めることができます。システムにとって重要なファイルシステムをミラー化する場合は、すべてのサブミラーが単一のスライスだけで構成されている必要があります。
ルート (/) ファイルシステムのミラー化に関連する手順については、「SPARC: ルート (/) ファイルシステムから RAID-1 ボリュームを作成する方法」および 「x86: DCA を使用してルート (/) ファイルシステムから RAID-1 ボリュームを作成する方法」を参照してください。
この手順で使用している例では、既存のスライスは c1t0d0s0 です。2 番目のスライス c1t1d0s0 はミラーの後半として使用できます。サブミラーはそれぞれ d1 と d2、ミラーは d0 です。
注意 - 必ず、metainit コマンドで 1 面ミラーを作成してから、metattach コマンドで追加のサブミラーを接続してください。metattach コマンドを使用しないと、再同期処理は実行されません。結果として、ミラーの両側が同一であり区別なく使用できると Solaris Volume Manager でみなされた場合、データが破壊される可能性があります。 |
始める前に
「Solaris Volume Manager コンポーネントを作成するための前提条件」および 「RAID-1 ボリュームの作成と保守」を確認してください。
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、「アクション」、「ボリュームを作成」の順に選択します。画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit -f volume-name number-of-stripes components-per-stripe component-name
強制的にコマンドを続行します。スライスにマウントされたファイルシステムが含まれている場合は、このオプションを使用する必要があります。
作成するボリュームの名前を指定します。ボリュームの命名については、「ボリューム名」を参照してください。
作成するストライプの数を指定します。
各ストライプに含めるコンポーネントの数を指定します。
使用されるコンポーネントの名前を指定します。この例ではルートスライス c0t0d0s0 を使用します。
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、「アクション」、「ボリュームを作成」の順に選択し、画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit volume-name number-of-stripes components-per-stripe component-name
注 - オプションの説明については、手順 2 を参照してください。
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、「アクション」、「ボリュームを作成」の順に選択します。画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit volume-name -m submirror-name
作成するボリュームの名前を指定します。
ミラーを作成することを指定します。
ミラーの最初のサブミラーになるコンポーネントの名前を指定します。この例では、ルートスライスを含む RAID-0 ボリュームです。
詳細は、metainit(1m) のマニュアルページを参照してください。
注意 - 既存のファイルシステムからミラーを作成する場合は、データの破壊を防ぐために、次の 2 つの手順に忠実に従ってください。 |
たとえば、/etc/vfstab ファイルにファイルシステムの次のエントリが含まれている場合は、
/dev/dsk/slice /dev/rdsk/slice /var ufs 2 yes -
そのエントリを次のように変更します。
/dev/md/dsk/mirror-name /dev/md/rdsk/mirror-name /var ufs 2 yes -
アンマウント可能なファイルシステムをミラー化している場合は、ファイルシステムをアンマウントしてから再びマウントします。
# umount /filesystem # mount /filesystem
アンマウントできないファイルシステムをミラー化している場合は、システムをリブートします。
# reboot
# metattach volume-name submirror-name
サブミラーを追加する RAID-1 ボリュームの名前を指定します
ミラーに接続された 2 番目のサブミラーになるコンポーネントの名前を指定します
詳細は、metattach(1M) のマニュアルページを参照してください。
例 11-3 アンマウント可能なファイルシステムから 2 面ミラーを作成する
# metainit -f d1 1 1 c1t0d0s0 d1: Concat/Stripe is setup # metainit d2 1 1 c1t1d0s0 d2: Concat/Stripe is setup # metainit d0 -m d1 d0: Mirror is setup # umount /master (Edit the /etc/vfstab file so that the file system references the mirror) # mount /master # metattach d0 d2 d0: Submirror d2 is attached
この例では、-f オプションで最初の連結 d1 を強制的に作成します。これには、/dev/dsk/c1t0d0s0 にマウントされたファイルシステム /master が含まれています。2 番目の連結 d2 を /dev/dsk/c1t1d0s0 から作成します。このスライスは、d1 以上のサイズでなければなりません。)-m オプションを指定した metainit コマンドで、d1 から 1 面ミラー d0 を作成します。
次に、/etc/vfstab ファイルで、このファイルシステムのエントリがミラーを参照するように変更します。/etc/vfstab ファイルで、次の行は最初は次のようになっています。
/dev/dsk/c1t0d0s0 /dev/rdsk/c1t0d0s0 /var ufs 2 yes -
エントリを次のように変更します。
/dev/md/dsk/d0 /dev/md/rdsk/d0 /var ufs 2 yes -
最後に、ファイルシステムを再びマウントし、サブミラー d2 をミラーに接続して、ミラーの再同期を実行させます。RAID-0 および RAID-1 ボリュームが設定され、サブミラー d2 が接続されたことを示すメッセージが表示されます。
例 11-4 アンマウントできないファイルシステムから 2 面ミラーを作成する
# metainit -f d12 1 1 c0t3d0s6 d12: Concat/Stripe is setup # metainit d22 1 1 c1t0d0s6 d22: Concat/Stripe is setup # metainit d2 -m d12 d2: Mirror is setup (Edit the /etc/vfstab file so that /usr references the mirror) # reboot ... # metattach d2 d22 d2: Submirror d22 is attached
この例では、/usr ファイルシステムを含むスライスを使用して 2 面ミラーを作成します。-f オプションで最初の連結 d12 を強制的に作成します。これには、/dev/dsk/c0t3d0s6 にマウントされたファイルシステム /usr が含まれています。2 番目の連結 d22 を /dev/dsk/c1t0d0s6 から作成します。このスライスは、d12 以上のサイズでなければなりません。-m オプションを指定した metainit コマンドで、/usr ファイルシステムを含む連結を使用して 1 面ミラー d2 を作成します。次に、/etc/vfstab ファイルを編集して、/usr のエントリがミラーを参照するように変更する必要があります。
/etc/vfstab ファイルには、/usr ファイルシステムのエントリが次のように指定されています。
/dev/dsk/c0t3d0s6 /dev/rdsk/c0t3d0s6 /usr ufs 1 yes -
そのエントリを次のように変更します。
/dev/md/dsk/d2 /dev/md/rdsk/d2 /usr ufs 1 yes -
リブート後、2 番目のサブミラー d22 をミラーに接続して、ミラーの再同期を実行させます。
例 11-5 /swap 領域からミラーを作成する
# metainit -f d11 1 1 c0t0d0s1 d11: Concat/Stripe is setup # metainit d21 1 1 c1t0d0s1 d21: Concat/Stripe is setup # metainit d1 -m d11 d1: Mirror is setup (Edit the /etc/vfstab file so that swap references the mirror) # reboot ... # metattach d1 d21 d1: Submirror d21 is attached
この例では、-f オプションで最初の連結 d11 を強制的に作成します。これには、/dev/dsk/c0t0d0s1 にマウントされたファイルシステム swap が含まれています。2 番目の連結 d21 を /dev/dsk/c1t0d0s1 から作成します。このスライスは、d11 以上のサイズでなければなりません。-m オプションを指定した metainit コマンドで、swap ファイルシステムを含む連結を使用して 1 面ミラー d1 を作成します。次に、/etc/vfstab ファイルに swap のエントリがある場合は、ミラーを参照するように編集する必要があります。
/etc/vfstab ファイルには、swap 領域のエントリが次のように指定されています。
/dev/dsk/c0t0d0s1 - - swap - no -
そのエントリを次のように変更します。
/dev/md/dsk/d1 - - swap - no -
リブート後、2 番目のサブミラー d21 をミラーに接続して、ミラーの再同期を実行させます。
swap 領域をミラー化した場合、クラッシュダンプを保存するには、dumpadm コマンドを使用してダンプデバイスをボリュームとして構成します。たとえば、スワップデバイスの名前が /dev/md/dsk/d2 であれば、dumpadm コマンドを使用してこのデバイスをダンプデバイスとして設定します。
SPARC プラットフォームでルート (/) ファイルシステムをミラー化するプロセスは、アンマウントできない他のファイルシステムをミラー化するプロセスと同様です。手順が異なるのは、/etc/vfstab ファイルを手動で編集する代わりに metaroot コマンドを実行する点です。ルート (/) ファイルシステムをミラー化するには、代替ブートデバイスのパスを記録する必要もあります。このデバイスは、サブミラーに障害が発生した場合にシステムをリブートします。
この手順で使用している例では、既存のスライスは c1t0d0s0 です。2 番目のスライス c1t1d0s0 はミラーの後半として使用できます。サブミラーはそれぞれ d1 と d2、ミラーは d0 です。
注意 - 必ず、metainit コマンドで 1 面ミラーを作成してから、metattach コマンドで追加のサブミラーを接続してください。metattach コマンドを使用しないと、再同期処理は実行されません。結果として、ミラーの両側が同一であり区別なく使用できると Solaris Volume Manager でみなされた場合、データが破壊される可能性があります。 |
始める前に
「Solaris Volume Manager コンポーネントを作成するための前提条件」および 「RAID-1 ボリュームの作成と保守」を確認してください。
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、「アクション」、「ボリュームを作成」の順に選択します。画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit -f volume-name number-of-stripes components-per-stripe component-name
強制的にコマンドを続行します。スライスにマウントされたファイルシステムが含まれている場合は、このオプションを使用する必要があります。
作成するボリュームの名前を指定します。ボリュームの命名については、「ボリューム名」を参照してください。
作成するストライプの数を指定します。
各ストライプに含めるコンポーネントの数を指定します。
使用されるコンポーネントの名前を指定します。この例ではルートスライス c0t0d0s0 を使用します。
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、「アクション」、「ボリュームを作成」の順に選択し、画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit volume-name number-of-stripes components-per-stripe component-name
注 - オプションの説明については、手順 2 を参照してください。
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、「アクション」、「ボリュームを作成」の順に選択します。画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit volume-name -m submirror-name
作成するボリュームの名前を指定します。
ミラーを作成することを指定します。
ミラーの最初のサブミラーになるコンポーネントの名前を指定します。この例では、ルートスライスを含む RAID-0 ボリュームです。
# metaroot volume-name # reboot
詳細は、metaroot(1M) のマニュアルページを参照してください。
# metattach volume-name submirror-name
サブミラーを追加する RAID-1 ボリュームの名前を指定します
ミラーに接続された 2 番目のサブミラーになるコンポーネントの名前を指定します
詳細は、metattach(1M) のマニュアルページを参照してください。
# ls -l /dev/dsk/c1t1d0s0 lrwxrwxrwx 1 root root 55 Mar 5 12:54 /dev/rdsk/c1t1d0s0 -> \ ../../devices/sbus@1,f8000000/esp@1,200000/sd@3,0:a
注 - システムが使用不可になる場合もあるため、この情報はシステム以外の場所にも書き留めるようにしてください。代替ブートデバイスからのブートの詳細については、「ブートの問題からの回復」を参照してください。
$ ls -l /dev/dsk/c1t1d0s0 lrwxrwxrwx 1 root root 38 Mar 13 15:03 /dev/dsk/c0t0d0s0 -> \ ../../devices/pci@1f,0/ide@d/dad@0,0:a
メジャー名 dad を disk に変更すると、/pci@1f,0/ide@d/disk@0,0:a となります
ok nvalias backup_root /sbus@1,f8000000/esp@1,200000/disk@3,0:a
ok printenv boot-device boot-device = disk net ok setenv boot-device disk backup_root net boot-device = disk backup_root net ok nvstore
注 - プライマリサブミラーに障害が発生した場合、システムは自動的にセカンダリサブミラーからブートします。自動ブートを使用せずに手動でブートする場合は、次のように入力します。
ok boot backup_root
例 11-6 SPARC: ルート (/) ファイルシステムからミラーを作成する
# metainit -f d1 1 1 c0t0d0s0 d1: Concat/Stripe is setup # metainit d2 1 1 c0t1d0s0 d2: Concat/Stripe is setup # metainit d0 -m d1 d0: Mirror is setup # metaroot d0 # lockfs -fa # reboot ... # metattach d0 d2 d0: Submirror d2 is attached # ls -l /dev/dsk/c0t1d0s0 lrwxrwxrwx 1 root root 88 Feb 8 15:51 /dev/rdsk/c1t3d0s0 -> ../../devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:a # init 0 . . . ok nvalias backup_root /pci@1f,0/pci@1,1/ide@3/disk@0,0:a ok setenv boot-device disk backup_root net ok nvstore
この例では、-f オプションで最初の RAID-0 ボリューム d1 を強制的に作成します。これには、/dev/dsk/c0t0d0s0 にマウントされたルート (/) ファイルシステムが含まれています。2 番目の連結 d2 を /dev/dsk/c0t1d0s0 から作成します。このスライスは、d1 以上のサイズでなければなりません。-m オプションを指定した metainit コマンドで、ルート (/) を含む連結を使用して 1 面ミラー d0 を作成します。
次に、metaroot コマンドで /etc/vfstab および /etc/system ファイルを編集して、システムがボリューム上のルート (/) ファイルシステムからブートできるようにします。リブートの前に lockfs -fa コマンドを実行することをお勧めします。詳細は、lockfs(1M) のマニュアルページを参照してください。
システムをリブートする前に 2 番目のサブミラーを接続しないでください。metaroot コマンドの実行後、2 番目のサブミラーを接続する前にリブートする必要があります。
リブート後、サブミラー d2 をミラーに接続して、ミラーの再同期を実行させます。連結とミラーが設定され、サブミラー d2 が接続されたことを示すメッセージが表示されます。
あとでシステムを代替ルートデバイスからブートする必要が生じた場合に備え、ルート raw デバイスに対して ls -l コマンドを実行して、代替ルートデバイスのパスを調べます。
Solaris 10 1/06 リリース以降、x86 ベースシステムのブートプロセスと構成に使用される Device Configuration Assistant (デバイス構成用補助、DCA) が GRand Unified Bootloader (GRUB) に置き換えられました。この機能の簡単な説明については、『Oracle Solaris の管理: 基本管理』の第 15 章「GRUB ベースのブート (参照情報)」を参照してください。
このセクションでは、ルート (/) ファイルシステムから RAID-1 ボリュームを作成する手順について説明します。Solaris 10 1/06 以降のリリースの OS を実行しているシステムでは、GRUB を使用する最初の手順に従ってください。それ以外の場合は、DCA を使用する 2 番目の手順を実行します。
x86 ベースシステムでルート (/) ファイルシステムをミラー化するプロセスは、SPARC システムでルートをミラー化するプロセスと同様です。ただし、x86 ベースシステムでは、BIOS と fdisk パーティションという複雑な階層があります。
この手順で使用している例では、既存のスライスは c1t0d0s0 です。2 番目のスライス c1t1d0s0 はミラーの後半として使用できます。サブミラーはそれぞれ d1 と d2、ミラーは d0 です。
カーネルが起動される前は、システムは、x86 ベースシステム上のファームウェアインタフェースである、読み取り専用メモリー (ROM) の Basic Input/Output System (BIOS) によって制御されます。この BIOS は、SPARC ベースシステムのブート PROM に似ています。BIOS のタスクには次のようなものがあります。
起動機能を実行します。
システムをブートする正しいデバイスを検出します。
そのデバイスからマスターブートレコードをロードして、システムがセルフブートできるようにします。
通常は、BIOS を構成して、ブートレコードを探すデバイスの順番を選択できます。さらに、最近のほとんどの BIOS 実装では、セカンダリサブミラーへのフェイルオーバーが自動的に行われるようにデバイスを構成できます。システムの BIOS にこの機能がなく、プライマリサブミラーに障害が発生した場合は、システムのブート中に BIOS にアクセスし、セカンダリルートスライスからブートするようにシステムを再構成する必要があります。BIOS の設定を構成する方法については、BIOS のユーザーガイドを参照してください
ルートミラーを設定する前に、システム上の BIOS で、複数のディスクからブートできることを確認します。デバイスドライバによっては、システムの 1 つのディスクしか認識しないように構成されているものもあります。
独立した x86 ブートパーティションが存在する場合は、ルート (/) ファイルシステムのミラー化中に問題が発生します。x86 ブートパーティションは Solaris fdisk パーティションの外部に存在しているため、Solaris Volume Manager ではミラー化できません。さらに、x86 ブートパーティションのコピーは 1 つしかないため、単一障害点にもなります。
Solaris 10 1/06 リリース以降の GRUB ベースのインストールプログラムでは、x86 ブートパーティションは自動的には作成されません。しかし、システムに x86 がすでに存在する場合、インストールプログラムはデフォルトでそのパーティションを保存します。
システムに独立した x86 ブートパーティションがあるかどうかを調べるには、/etc/vfstab ファイルを確認します。このファイルに次のようなエントリが含まれている場合、x86 ブートパーティションは存在しています。
/dev/dsk/c2t1d0p0:boot - /boot pcfs - no -
Solaris Volume Manager を使ってルート (/) ファイルシステムをミラー化する場合、このファイルシステムで単一の Solaris fdisk パーティションを使用する必要があります。したがって、システム内にすでに x86 ブートパーティションが存在する場合は、fdisk コマンドでこのパーティションを削除してから、Solaris ソフトウェアを再インストールしてください。再インストール時には、ブートパーティションは作成されません。
注 - Solaris Volume Manager でミラー化できるのは、Solaris fdisk パーティション内のスライスだけです。複数の fdisk パーティションが存在する場合、Solaris fdisk パーティションの外にあるデータを保護するには、別の方法を使用する必要があります。
# fdisk -b /usr/lib/fs/ufs/mboot /dev/rdsk/c1t1d0p0
次の画面が表示されます。
Total disk size is 31035 cylinders Cylinder size is 1146 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === 1 Active Solaris 1 31034 31034 100 SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Enter Selection:
# /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0
installgrub の詳細は、installgrub(1M) のマニュアルページを参照してください。
この例ではスライス c1t0d0s0 を使用します。
RAID-0 ボリュームに含めることができるのは、単一のスライスだけです。次のいずれかの方法を使用します。
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、「アクション」、「ボリュームを作成」の順に選択します。画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit -f volume-name number-of-stripes components-per-stripe component-name
強制的にコマンドを続行します。スライスにマウントされたファイルシステムが含まれている場合は、このオプションを使用する必要があります。
作成するボリュームの名前を指定します。ボリュームの命名については、「ボリューム名」を参照してください。
作成するストライプの数を指定します。
各ストライプに含めるコンポーネントの数を指定します。
使用されるコンポーネントの名前を指定します。この例ではルートスライス c0t0d0s0 を使用します。
注 - セカンダリサブミラーは、最初のサブミラー以上のサイズでなければなりません。また、2 番目のサブミラーとして使用するスライスには「root」というスライスタグを付ける必要があり、ルートスライスはスライス 0 である必要があります。
スライスタグフィールドの構成方法については、format(1M) のマニュアルページを参照してください。
次のいずれかの方法を使用します。
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、「アクション」、「ボリュームを作成」の順に選択し、画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit volume-name number-of-stripes components-per-stripes component-names
注 - オプションの説明については、手順 6 を参照してください。
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、「アクション」、「ボリュームを作成」の順に選択します。画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit volume-name -m submirror-name
作成するボリュームの名前を指定します。
ミラーを作成することを指定します。
ミラーの最初のサブミラーになるコンポーネントの名前を指定します。この例では、ルートスライスを含む RAID-0 ボリュームです。
# metaroot volume-name # reboot
詳細は、metaroot(1M) のマニュアルページを参照してください。
# metattach volume-name submirror-name
サブミラーを追加する RAID-1 ボリュームの名前を指定します。
ミラーに接続された 2 番目のサブミラーになるコンポーネントの名前を指定します。
詳細は、metattach(1M) のマニュアルページを参照してください。
セカンダリサブミラーを持つディスクからシステムがブートできるようにするには、そのディスクを代替ブートデバイスとして認識するようにシステムを構成します。現在の c1t1d0s0 の例では、代替パスは、2 番目のディスクの最初の fdisk パーティションの、最初のスライス上にあります。したがって、menu.lst を次のように編集します。
title alternate boot root (hd1,0,a) kernel /boot/multiboot module /boot/x86.miniroot-safe
注 - menu.lst のエントリを適切に編集するには、GRUB のディスク命名規則について熟知している必要があります。詳細は、『Oracle Solaris の管理: 基本管理』の「GRUB を使用して x86 システムをブートする (タスクマップ)」を参照してください
menu.lst ファイルの編集後、システムは 2 番目のディスクにフェイルオーバーするように設定されます。プライマリディスクに障害が発生した場合、システムがセカンダリディスクからブートするように、ディスク番号が変更されます。
注意 - 場合によっては、BIOS の自動ディスク番号再割り当て機能が、使用できなくなったプライマリディスクからの回復に影響を及ぼすことがあります。ディスク番号再割り当て機能により、システムが強制的にセカンダリディスクからブートするようになると、プライマリディスクのブートアーカイブは無効になります。同じプライマリディスクがあとで使用可能になって、システムをブートした場合、デフォルトのプライマリディスクからシステムがブートするように、ディスク番号が再度切り替わります。しかし、この段階では、プライマリディスクのブートアーカイブは無効なままです。したがって、システムはまったくブートしない可能性があります。このような場合は、GRUB メニューから正しいエントリを選択して、システムが有効なブートアーカイブからブートするようにします。システムのブートプロセスが完了したら、通常どおり metadevice による保守を実行して、プライマリディスクとセカンダリディスクの両方を同期化し、再度プライマリディスクを有効なブートアーカイブにします。 |
カーネルが起動される前は、システムは、x86 ベースシステム上のファームウェアインタフェースである、読み取り専用メモリー (ROM) の Basic Input/Output System (BIOS) によって制御されます。この BIOS は、SPARC ベースシステムのブート PROM に似ています。ほかの起動機能に加えて、BIOS は正しいブートデバイスを見つけ、そのデバイスからマスターブートレコードを読み込んで、システムがブートできるようにします。通常は、BIOS を構成して、ブートレコードを探すデバイスの順番を選択できます。さらに、最近のほとんどの BIOS 実装では、セカンダリサブミラーへのフェイルオーバーが自動的に行われるようにデバイスを構成できます。システムにこの機能がなく、プライマリサブミラーに障害が発生した場合は、システムのブート中に BIOS にアクセスし、セカンダリルートスライスからブートするようにシステムを再構成する必要があります。BIOS の設定を構成する方法については、BIOS のユーザーガイドを参照してください。
システム上の DCA を使って、複数のディスクからブート可能であることを確認できます。デバイスドライバによっては、システムの 1 つのディスクしか認識しないように構成されているものもあります。
x86 ベースシステムのもう一つの特長は、fdisk パーティションを使用することです。Solaris OS インストールプログラムのブートディスクパーティションのデフォルトのレイアウトでは、Solaris fdisk パーティションのほかに、「x86 ブートパーティション」と呼ばれる約 10M バイトの小さな fdisk パーティションが作成されます。
x86 ブートパーティションは、ルート (/) ファイルシステムをミラー化するときに問題になります。x86 ブートパーティションは Solaris fdisk パーティションの外部にあります。そのため、x86 ブートパーティションは Solaris Volume Manager ではミラー化できません。さらに、x86 ブートパーティションのコピーは 1 つしかないため、単一障害点にもなります。
Solaris OS に独立した x86 ブートパーティションがあるかどうかを調べることができます。x86 ブートパーティションは、/etc/vfstab ファイル内の次のようなエントリでマウントされます。
/dev/dsk/c2t1d0p0:boot - /boot pcfs - no -
独立した x86 ブートパーティションが存在しない場合、このエントリは /etc/vfstab ファイルに存在しません。
ルート (/) ファイルシステムをミラー化するためには、fdisk パーティションをカスタマイズして、x86 ブートパーティションを削除し、単一の Solaris fdisk パーティションを使用するようにします。Solaris Volume Manager のルートミラー化を使用する予定がある場合、システムのインストール時に、独立した x86 ブートパーティションを作成しないでください。すでにシステムがインストールされ、独立した x86 ブートパーティションが作成されている場合、fdisk コマンドを使用してその fdisk パーティションを削除し、システムをインストールし直します。インストール中に独立した x86 ブートパーティションを作成しないようにするには、インストールプロセス中にディスクパーティションをカスタマイズします。
注 - Solaris Volume Manager でミラー化できるのは、Solaris fdisk パーティション内のスライスだけです。複数の fdisk パーティションが存在する場合、Solaris fdisk パーティションの外にあるデータを保護するには、別の方法を使用する必要があります。
# fdisk -b /usr/lib/fs/ufs/mboot /dev/rdsk/c1t1d0p0
次の画面が表示されます。
Total disk size is 31035 cylinders Cylinder size is 1146 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === 1 Active Solaris 1 31034 31034 100 SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Enter Selection:
この fdisk パーティションから Solaris OS をブートするには、セカンダリサブミラーがあるディスクにスライス 8 が必要です。このスライスには、パーティションブートレコード (pboot)、当該ディスクの Solaris VTOC、およびブートブロックが含まれます。この情報はディスクに固有なので、Solaris Volume Manager ではミラー化されません。しかし、プライマリディスクに障害が発生した場合にセカンダリディスクからブートできるようにするには、両方のディスクがブート可能であることを保証する必要があります。installboot コマンドを使って、2 番目のディスクを Solaris ブート可能ディスクとして設定します。詳細は、installboot(1M) のマニュアルページを参照してください。
このディスクのスライス 2 をデバイスとして指定する必要があり、このスライス 2 はディスク全体から構成されている必要があります。
# installboot /usr/platform/i86pc/lib/fs/ufs/pboot \ /usr/platform/i86pc/lib/fs/ufs/bootblk /dev/rdsk/c1t1d0s2
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、「アクション」、「ボリュームを作成」の順に選択します。画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit -f volume-name number-of-stripes components-per-stripe component-name
強制的にコマンドを続行します。スライスにマウントされたファイルシステムが含まれている場合は、このオプションを使用する必要があります。
作成するボリュームの名前を指定します。ボリュームの命名については、「ボリューム名」を参照してください。
作成するストライプの数を指定します。
各ストライプに含めるコンポーネントの数を指定します。
使用されるコンポーネントの名前を指定します。この例ではルートスライス c0t0d0s0 を使用します。
注 - 2 番目のサブミラーとして使用するスライスには「root」というスライスタグを付ける必要があり、ルートスライスはスライス 0 である必要があります。スライスタグフィールドの構成方法については、format(1M) のマニュアルページを参照してください。
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、「アクション」、「ボリュームを作成」の順に選択し、画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit volume-name number-of-stripes components-per-stripes component-names
注 - オプションの説明については、手順 6 を参照してください。
Solaris 管理コンソール 内の拡張ストレージツールから「ボリューム」ノードを開き、「アクション」、「ボリュームを作成」の順に選択します。画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
# metainit volume-name -m submirror-name
作成するボリュームの名前を指定します。
ミラーを作成することを指定します。
ミラーの最初のサブミラーになるコンポーネントの名前を指定します。この例では、ルートスライスを含む RAID-0 ボリュームです。
# metaroot volume-name # reboot
詳細は、metaroot(1M) のマニュアルページを参照してください。
# metattach volume-name submirror-name
サブミラーを追加する RAID-1 ボリュームの名前を指定します。
ミラーに接続された 2 番目のサブミラーになるコンポーネントの名前を指定します。
詳細は、metattach(1M) のマニュアルページを参照してください。
プライマリサブミラーに障害が発生した場合にセカンダリサブミラーからブートするように、システムを構成する必要があります。セカンダリサブミラーを持つディスクからシステムがブートできるようにするには、そのディスクを代替ブートデバイスとして認識するようにシステムを構成します。
# ls -l /dev/dsk/c1t1d0s0 lrwxrwxrwx 1 root root 55 Mar 5 12:54 /dev/rdsk/c1t1d0s0 -> ../. ./devices/eisa/eha@1000,0/cmdk@1,0:a
注 - システムが使用不可になる場合もあるため、この情報はシステム以外の場所に書き留めるようにしてください。これによって、DCA を使ってシステムをブートする必要がある場合に、デバイスツリーパス情報の入力が簡単になります。
# eeprom altbootpath=/eisa/eha@1000,0/cmdk@1,0:a
プライマリサブミラーに障害が発生した場合、システムはセカンダリサブミラーからブートしようとします。自動的に 2 番目のディスクにフェイルオーバーするように BIOS を構成できる場合、このブートプロセスは自動的に行われます。そうでない場合は、BIOS に入って、セカンダリディスクからブートするように構成する必要があります。ブートを開始したあと、システムはまず、bootpath デバイスからブートしようとします。ルートミラーのプライマリブートディスクは動作していないため、システムは次に、altbootpath デバイスからブートしようとします。BIOS の設定を構成する方法については、BIOS のユーザーガイドを参照してください。
システムが自動的にブートしない場合は、DCA を使用してセカンダリサブミラーの選択を試みることができます。システムによっては、ブートプロセス中に DCA に入ることもできます。このオプションが使用できない場合は、x86 ブートフロッピーディスクからブートし、DCA を使用してセカンダリサブミラーを選択する必要があります。オペレーティングシステムがブートしたあと、eeprom bootpath の値を、代替ブートパスとして設定した値 (altbootpath の値) に変更します。こうすれば、システムが自動的にブートします。
eeprom コマンドの使用方法の詳細は、eeprom(1M) のマニュアルページを参照してください。
例 11-7 x86: DCA を使用してルート (/) ファイルシステムからミラーを作成する
# metainit -f d1 1 1 c0t0d0s0 d1: Concat/Stripe is setup # metainit d2 1 1 c0t1d0s0 d2: Concat/Stripe is setup # metainit d0 -m d1 d0: Mirror is setup # metaroot d0 # lockfs -fa # reboot ... # metattach d0 d2 d0: Submirror d2 is attached # ls -l /dev/dsk/c0t1d0s0 lrwxrwxrwx 1 root root 88 Feb 8 15:51 /dev/dsk/c1t3d0s0 -> ../../devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:a,raw # eeprom altbootpath=/pci@1f,0/pci@1,1/ide@3/dad@0,0:a,raw # fdisk -b /usr/lib/fs/ufs/mboot /dev/dsk/c0t1d0p0 Total disk size is 31035 cylinders Cylinder size is 1146 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === 1 Active Solaris 1 31034 31034 100 SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Enter Selection: 5 # installboot /usr/platform/i86pc/lib/fs/ufs/pboot \ /usr/platform/i86pc/lib/fs/ufs/bootblk /dev/rdsk/c0t1d0s2
ルート (/) ファイルシステムをミラー化すると、エラーメッセージがコンソールに表示され、/etc/syslog.conf ファイルで定義にされたシステムログに記録されます。これらのエラーメッセージは、問題を示すものではありません。これらのエラーメッセージは、現在使用していないデバイスタイプごとに表示されます。未使用のモジュールを強制的にロードすることはできないからです。次のようなエラーメッセージが表示されます。
Jul 13 10:17:42 ifr genunix: [ID 370176 kern.warning] WARNING: forceload of misc/md_trans failed Jul 13 10:17:42 ifr genunix: [ID 370176 kern.warning] WARNING: forceload of misc/md_raid failed Jul 13 10:17:42 ifr genunix: [ID 370176 kern.warning] WARNING: forceload of misc/md_hotspares failed
このようなエラーメッセージは無視してかまいません。