この章では、カスタム JumpStart または Solaris Live Upgrade インストールを使用してミラー化されたファイルシステムを作成するために必要な条件とガイドラインについて説明します。
この章の内容は次のとおりです。
ミラー化されたファイルシステムの作成に Solaris Live Upgrade インストールを使用する計画の詳細は、ミラー化されたファイルシステムを作成するための一般的な指針を参照してください。
ミラー化されたファイルシステムの作成にカスタム JumpStart インストールを使用する手順については、filesys プロファイルキーワード (ミラー化されたファイルシステムの作成) およびmetadb プロファイルキーワード (状態データベースの複製の作成) を参照してください。
特定のスライス上にミラー化されたファイルシステムを作成する場合は、インストール時に、ミラー化に使用するディスクを直接システムに接続し、使用可能にする必要があります。
単一点障害を避けるため、状態データベースの複製は、複数のスライス、ドライブ、およびコントローラに分散させる必要があります。これは、単一のコンポーネントに障害が発生した場合でも、大半の複製を利用可能な状態に保つ必要があるからです。たとえばデバイス障害時などに、複製が失われた場合、Solaris ボリュームマネージャの実行やシステムの再起動が正常に行われなくなることがあります。Solaris ボリュームマネージャが動作するためには、少なくとも半数の複製が使用可能でなければならず、システムをマルチユーザーモードで再起動するためには過半数 (半数+1) の複製が使用可能でなければなりません。
状態データベースの複製の作成および管理方法の詳細は、『Solaris ボリュームマネージャの管理』を参照してください。
状態データベースの複製用のスライスを選択する前に、次のガイドラインと推奨事項を参考にしてください。
状態データベースの複製は、4M バイト以上の容量を持つ専用スライス上に作成します。必要な場合は、あとで RAID-0 または RAID-1 ボリュームの一部とするスライス上にも、状態データベースの複製を作成できます。ただし、その場合は、スライスをボリュームに追加する前に複製を作成する必要があります。
状態データベースの複製のデフォルトサイズは 4M バイト (8192 ディスクブロック) です。ディスクスライスのサイズがこれより大きい場合は、状態データベースの複製を格納できるように、スライスのサイズを変更できます。スライスサイズの変更については、『Solaris のシステム管理 (デバイスとファイルシステム)』の「ディスクの管理 (手順)」を参照してください。
状態データベースの複製は、未使用のスライス上に作成できます。状態データベースの複製用に予約されているスライスの部分を、他の目的に使用することはできません。
状態データベースの複製を、既存のファイルシステムや、ルート (/)、/usr、swap ファイルシステムに作成することはできません。必要であれば、swap 領域を使用して新しいスライスを作成してから (スライス名が使用可能な場合)、そのスライスに状態データベースの複製を作成できます。
ボリュームの一部となるスライス上に状態データベースの複製が置かれている場合、ボリュームの容量は、複製によって占有される領域分だけ少なくなります。複製が占める領域はシリンダ単位で切り上げられるため、この領域はボリュームによってスキップされます。
状態データベースの複製の数を選択する前に、次のガイドラインを参考にしてください。
状態データベースの複製の数は、Solaris ボリュームマネージャの 1 つのディスクセットに対して、最低 3 つから最高 50 までを推奨します。次のガイドラインを推奨します。
ドライブが 1 つだけのシステムでは、 3 つの複製すべてを 1 つのスライスに置く
ドライブの数が 2 つから 4 つのシステムでは、 各ドライブに 2 つずつ複製を置く
ドライブの数が 5 つ以上のシステムでは、 各ドライブに 1 つずつ複製を置く
状態データベースの複製を追加して、ミラーのパフォーマンスを向上させることができます。一般に、システムにミラーを 1 つ追加するごとに複製は 2 つ追加する必要があります。
小容量のランダム入出力 (データベースなど) に RAID-1 ボリュームを使用する場合は、複製の数を考慮する必要があります。RAID-1 ボリュームごとに、その RAID-1 ボリュームに接続されていない複数のスライス (および、可能であれば複数のディスクとコントローラ) 上に 2 つ以上の複製を余分に作成します。これは、最適な性能を得るために必要な作業です。
複数のコントローラがある場合、できるだけすべてのコントローラに均等になるように複製を分散させます。これによって、コントローラ障害に対する冗長性が確保できるだけでなく、負荷の分散も可能になります。同じコントローラ上に複数のディスクが存在する場合は、各コントローラで 2 個以上のディスクに複製を配置します。
RAID-1 ボリューム (ミラー) および RAID-0 ボリューム (単一スライスの連結) は、次のガイドラインに従って操作してください。
カスタム JumpStart インストールと Solaris Live Upgrade は、Solaris ボリュームマネージャで使用可能な機能の一部をサポートします。これらのインストールプログラムでミラー化されたファイルシステムを作成するときは、次のガイドラインに従ってください。
RAID-0 ボリュームという用語は、ディスクストライプまたはディスク連結を表します。カスタム JumpStart と Solaris Live Upgrade インストールでは、単一スライスの連結のみ作成できます。インストール時またはアップグレード時に RAID-0 ストライプボリュームを作成することはできません。
カスタム JumpStart インストールでは、各ミラーにつき最大 2 つのサブミラーを作成できます。Solaris Live Upgrade では、各ミラーにつき最大 3 つのサブミラーを作成できます。通常、ほとんどのアプリケーションでは、2 つのサブミラーで十分なデータの冗長性が得られます。ディスクドライブのコストも比較的小さくてすみます。3 つのサブミラーでは、1 つのサブミラーをオフラインにしてバックアップを実行するときも、残りの 2 つのサブミラーでデータの冗長性を確保することができます。
カスタム JumpStart インストールでミラー化されたファイルシステムを作成する場合は、ミラーを作成する前にミラー化するファイルシステムを作成する必要はありません。
ボリュームに名前を割り当てるときには、次の規則に従ってください。
スライス番号とディスク番号がボリューム番号に対応するような命名方法を使用します。
ボリューム名は d で始まり、その後に 1 つの数字が続きます (たとえば、d0)。
Solaris ボリュームマネージャ では、0 から 127 までの 128 個のデフォルトボリューム名を使用できます。次にボリューム名の例を示します。
デバイス /dev/md/dsk/d0 — ブロックボリューム d0
デバイス /dev/md/dsk/d1 — ブロックボリューム d1
特定のボリュームタイプごとに範囲を指定します。たとえば、RAID-1 ボリュームには 0 から 20、RAID-0 ボリュームには 21 から 40 を割り当てます。
完全ボリューム名 (たとえば、/dev/md/dsk/d1) ではなく、省略名 (たとえば、d1) を指定できます。
物理ディスクスライスや Solaris ボリュームマネージャのボリュームの名前は、省略形にすることができます。省略名は、デバイスを一意に識別できる最短の名前です。次に例を示します。
Solaris ボリュームマネージャのボリュームは dnum という形式で表されます。たとえば、 /dev/md/dsk/d10 は d10 となります。
1 つのコントローラと複数のディスクを持つシステムでは t0d0s0 を使用できますが、複数のコントローラがある場合は c0t0d0s0 を使用します。
RAID-1 ボリューム (ミラー) または RAID-0 ボリューム (サブミラー) を作成するのに Solaris Live Upgrade を使用する場合は、ソフトウェアでボリューム名を検出して割り当てるか、またはユーザーがボリューム名を割り当てることができます。ソフトウェアで名前を検出すると、ソフトウェアは使用可能な最初のミラー名またはサブミラー名を割り当てます。ユーザーがミラー名を割り当てる場合は、インストール時にサブミラーに 1 および 2 で終わる名前を使用できるように、0 で終わる名前を割り当てます。ユーザーがサブミラー名を割り当てる場合は、1 または 2 で終わる名前を割り当てます。誤った番号を割り当てると、ミラーが作成されない可能性があります。たとえば、ミラー名に 1 または 2 で終わる番号 (d1 または d2) を持つ名前を指定すると、ミラー名がサブミラーの名前と重複した場合、Solaris Live Upgrade はミラーの作成に失敗します。
次の例では、Solaris Live Upgrade がボリューム名を割り当てています。RAID-1 ボリュームの d0 と d1 だけが使用中のボリュームです。ミラー d10 に対し、デバイス c0t0d0s0 用のサブミラー名として d2 を、デバイス c1t0d0s0 用のサブミラー名として d3 を、Solaris Live Upgrade が割り当てます。
lucreate -n newbe -m /:d10:mirror,ufs -m /:c0t0d0s0:attach -m \ /:c1t0d0s0:attach |
次の例では、コマンドでボリューム名を割り当てています。ミラー d10 に対し、デバイス c0t0d0s0 用のサブミラー名が d11、デバイス c1t0d0s0 用のサブミラー名が d12 です。
lucreate -n newbe -m /:d10:mirror,ufs -m /:c0t0d0s0,d11:attach -m \ /:c1t0d0s0,d12:attach |
Solaris ボリュームマネージャの命名規則については、『Solaris ボリュームマネージャの管理』を参照してください。
RAID-1 ボリューム (ミラー) または RAID-0 ボリューム (サブミラー) を作成するのにカスタム JumpStart インストール方式を使用する場合は、ソフトウェアでミラーリングするボリューム名を検出して割り当てるか、またはプロファイルでボリューム名を割り当てることができます。ソフトウェアで名前を検出すると、ソフトウェアで使用可能な最初のボリューム番号を割り当てます。プロファイルでボリューム名を割り当てる場合は、インストール時にサブミラーに 1 および 2 で終わる名前を使用できるように、0 で終わるミラー名を割り当てます。誤った番号を割り当てると、ミラーが作成されない可能性があります。たとえば、ミラー名に 1 または 2 で終わる番号 (d1 または d2) を持つ名前を指定すると、ミラー名がサブミラーの名前と重複した場合、JumpStart プログラムはミラーの作成に失敗します。次のプロファイル例では、ミラーには使用可能な最初のボリューム番号が割り当てられています。次に使用可能な 0 で終わるミラーが d10 の場合、名前 d11 および d12 はサブミラーに割り当てられます。
filesys mirror c0t0d0s1 /
次のプロファイル例では、プロファイルでミラー番号に d30 が割り当てられています。サブミラー名は、ミラー番号に基づいたソフトウェアおよび最初に使用可能なサブミラーによって割り当てられます。この例では、サブミラーは d31 および d32 と命名されます。
filesys mirror:d30 c0t1d0s0 c0t0d0s0 /
Solaris ボリュームマネージャの命名規則については、『Solaris ボリュームマネージャの管理』を参照してください。
ファイルシステムのミラー化に使用するディスクやコントローラを選択するときは、次のガイドラインに従ってください。
コンポーネントをそれぞれ異なるコントローラに置くと、同時に実行できる読み取りや書き込みの数が増えます。
サブミラーのスライスは、異なるディスクとコントローラに配置します。同じミラーの 2 つ以上のサブミラーのスライスを同じディスクに置くと、データの保護機能が大幅に低下します。
サブミラーは、別個のコントローラに配置します。これは、コントローラやそのケーブルでは、ディスクよりも障害が発生する確率が高いためです。これにより、ミラーのパフォーマンスも向上します。
1 つのミラーでは、同じタイプのディスクとコントローラを使用します。特に、古いタイプの SCSI 記憶装置では、ディスクやコントローラのパフォーマンスがモデルやブランドによって大幅に異なることがあります。パフォーマンスレベルが異なるデバイスが同じミラーに混在していると、パフォーマンスが大幅に低下することがあります。
ファイルシステムのミラー化に使用するスライスを選択するときは、次のガイドラインに従ってください。
ルート (/)、swap、/usr を含むどのファイルシステムでもミラーを使用できます。また、データベースをはじめとするどのアプリケーションでもミラーを使用できます。
サブミラースライスが同じサイズになっていることを確認してください。サイズが異なるサブミラーを使用すると、ディスク領域が無駄になります。
ミラー化されたファイルシステムで、最初に接続したサブミラーがシリンダ 0 から始まらない場合、追加接続するすべてのサブミラーも、シリンダ 0 から始まらないようにする必要があります。最初のサブミラーがシリンダ 0 から始まらないミラーに、シリンダ 0 から始まるサブミラーを接続しようとすると、次のエラーメッセージが表示されます。
can't attach labeled submirror to an unlabeled mirror |
開始シリンダは、すべてのサブミラーで同じにする必要はありませんが、すべてのサブミラーにシリンダ 0 が含まれるか、すべてのサブミラーにシリンダ 0 が含まれないかのどちらかでなければなりません。
ルート (/)、/usr、およびswap のミラーを持つシステムをシングルユーザーモードでブートした場合、これらのミラーの保守管理が必要であることが、システムから通知されます。metastat コマンドでこれらのミラーを確認すると、「Needing Maintenance」という状態情報が表示されます。システム上のすべてのミラーでこの現象が起きる場合もあります。
これは危険な状況に見えますが、心配はいりません。metasync -r コマンドは通常、ブート時にミラーの再同期のために実行されますが、 システムがシングルユーザーモードでブートされた場合には実行を中断されます。システムをリブートすると、metasync -r コマンドが実行され、すべてのミラーの再同期が取られます。
この中断が問題になる場合は、手動で metasync -r コマンドを実行してください。
metasync の詳細は、metasync(1M) のマニュアルページと『Solaris ボリュームマネージャの管理』を参照してください。