ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris Cluster ソフトウェアのインストール Oracle Solaris Cluster 4.1 (日本語) |
1. Oracle Solaris Cluster 構成の計画
2. グローバルクラスタノードへのソフトウェアのインストール
4. Solaris ボリュームマネージャー ソフトウェアの構成
Solaris ボリュームマネージャーをインストールする方法
このセクションでは、クラスタ構成向けにディスクセットを作成する方法を説明します。Oracle Solaris Cluster 環境で Solaris ボリュームマネージャー ディスクセットを作成する場合は、ディスクセットは自動的にタイプ svm のデバイスグループとして Oracle Solaris Cluster ソフトウェアに登録されます。 svm デバイスグループを作成または削除するには、Solaris ボリュームマネージャー コマンドおよびユーティリティーを使用して、デバイスグループの基盤となるディスクセットを作成または削除する必要があります。
次の表に、ディスクセットを作成するときに実行するタスクを示します。ここに示す順に従って手順を実行します。
表 4-2 タスクマップ: Solaris ボリュームマネージャー ディスクセットの構成
|
始める前に
作成する予定のディスクセットが次の条件の 1 つに適合する必要があります。
ディスクセットが正確に 2 つのディスク列で構成されている場合、そのディスクセットは、正確に 2 つのノードに接続して、2 つまたは 3 つのメディエータホストを使用する必要があります。 これらのメディエータホストには、ディスクセットを含む格納装置に接続される 2 つのホストが含まれている必要があります。 二重列メディエータを構成する方法の詳細については、「二重列メディエータの構成」を参照してください。
ディスク列を 3 つ以上構成する場合、任意の 2 つのディスク列 S1 と S2 のディスク数の合計が 3 番目のディスク列 S3 のドライブ数よりも多いことを確認します。この条件を式で表すと、count(S1) + count(S2) > count(S3) となります。
このコマンドは、すべてのノードで同時に実行できます。
phys-schost# cldevice populate
詳細については、cldevice(1CL) のマニュアルページを参照してください。
このコマンドは、1 つのノードからのみ実行されても、リモートからすべてのノードで実行されます。コマンドが処理を終了したかどうかを確認するには、クラスタの各ノードで次のコマンドを実行します。
phys-schost# ps -ef | grep scgdevs
手順については、「状態データベースの複製を作成するには」を参照してください。
次のコマンドは、ディスクセットを作成し、そのディスクセットを Oracle Solaris Cluster デバイスグループとして登録します。
phys-schost# metaset -s setname -a -h node1 node2
ディスクセット名を指定します。
ディスクセットを追加 (作成)します。
ディスクセットをマスターとするプライマリノードの名前を指定します。
ディスクセットをマスターとするセカンダリノードの名前を指定します。
注 - クラスタ上に Solaris ボリュームマネージャー デバイスグループを構成する metaset コマンドを実行すると、デフォルトで 1 つのセカンダリノードが指定されます。デバイスグループのセカンダリノードの希望数は、デバイスグループが作成されたあと、clsetup ユーティリティーを使用して変更できます。『Oracle Solaris Cluster システム管理』の「デバイスグループの管理」Oracle Solaris Cluster System Administration Guide を参照してください。
phys-schost# cldevicegroup sync device-group-name
データの複製については、『Oracle Solaris Cluster システム管理』の第 4 章「データ複製のアプローチ」を参照してください。
phys-schost# metaset -s setname
phys-schost# cldevicegroup set -p name=value device-group
デバイスグループのプロパティーを指定します。
プロパティーの名前を指定します。
プロパティーの値または設定を指定します。
デバイスグループの名前を指定します。デバイスグループ名は、ディスクセット名と同じです。
デバイスグループのプロパティーの詳細については、cldevicegroup(1CL)を参照してください。
例 4-2 ディスクセットを作成する
次のコマンドでは、2 つのディスクセット dg-schost-1 と dg-schost-2 が作成され、ノード phys-schost-1 と phys-schost-2 が潜在的プライマリノードとして指定されます。
phys-schost# metaset -s dg-schost-1 -a -h phys-schost-1 phys-schost-2 phys-schost# metaset -s dg-schost-2 -a -h phys-schost-1 phys-schost-2
次の手順
ディスクセットにドライブを追加します。「ディスクセットへのドライブの追加」に進みます。
ディスクセットにドライブを追加すると、ボリューム管理ソフトウェアは、ドライブのパーティションを再分割して、ディスクセットの状態データベースをドライブに置くことができるようにします。
各ドライブの小さな領域を Solaris ボリュームマネージャー ソフトウェアで使用するために予約します。拡張可能ファームウェアインタフェース (Extensible Firmware Interface、EFI) ラベル付きデバイスでは、スライス 6 が使われます。各ドライブの残りの領域は、スライス 0 に配置されます。
ディスクセットにディスクドライブが追加されると、ターゲットスライスが正しく構成されていない場合にのみ、ドライブのパーティションが再分割されます。
パーティションの再分割によって、ドライブ上の既存のデータはすべて失われます。
ターゲットスライスがシリンダ 0 から始まり、ドライブのパーティションに状態データベースの複製を格納するための十分な領域がある場合、ドライブの再分割は行われません。
始める前に
ディスクセットが作成済みであることを確認します。手順については、「ディスクセットを作成するには」を参照してください。
phys-schost# cldevice show | grep Device
ディスクセットをマスターする (またはマスターする可能性がある) クラスタノードによって共有されているドライブを選択します。
ディスクセットにドライブを追加する際は、/dev/did/rdsk/dN の形式の完全な DID デバイス名を使用してください。
次の例では、DID デバイス /dev/did/rdsk/d3 のエントリは、ドライブが phys-schost-1 および phys-schost-2 によって共有されていることを示しています。
=== DID Device Instances === DID Device Name: /dev/did/rdsk/d1 Full Device Path: phys-schost-1:/dev/rdsk/c0t0d0 DID Device Name: /dev/did/rdsk/d2 Full Device Path: phys-schost-1:/dev/rdsk/c0t6d0 DID Device Name: /dev/did/rdsk/d3 Full Device Path: phys-schost-1:/dev/rdsk/c1t1d0 Full Device Path: phys-schost-2:/dev/rdsk/c1t1d0 …
phys-schost# cldevicegroup switch -n node devicegroup
デバイスグループの所有権を取得するノードを指定します。
デバイスグループ名を指定します。これはディスクセット名と同じです。
完全な DID パス名を使用します。
phys-schost# metaset -s setname -a /dev/did/rdsk/dN
デバイスグループ名と同じである、ディスクセット名を指定します。
ディスクセットにドライブを追加します。
注 - ディスクセットにドライブを追加するときは、下位デバイス名 (cNt XdY) は使用しないでください。下位レベルデバイス名はローカル名であり、クラスタ全体で一意ではないため、この名前を使用するとディスクセットがスイッチオーバーできなくなる可能性があります。
phys-schost# metaset -s setname
例 4-3 ディスクセットへのドライブの追加
metaset コマンドによって、ディスクドライブ /dev/did/rdsk/d1 と /dev/did/rdsk/d2 がディスクセット dg-schost-1 に追加されます。
phys-schost# metaset -s dg-schost-1 -a /dev/did/rdsk/d1 /dev/did/rdsk/d2
次の手順
ボリュームで使用するためにドライブのパーティションを再分割する場合は、「ディスクセット内のドライブのパーティションを再分割する方法」に進みます。
それ以外の場合は 「md.tab ファイルを作成する方法」に進み、md.tab ファイルを使用してメタデバイスまたはボリュームを定義する方法を確認します。
metaset(1M) コマンドは、ディスクセット内のドライブのパーティションを再分割し、各ドライブの小さな領域を Solaris ボリュームマネージャー ソフトウェアで使用するために予約します。拡張可能ファームウェアインタフェース (Extensible Firmware Interface、EFI) ラベル付きデバイスでは、スライス 6 が使われます。各ドライブの残りの領域は、スライス 0 に配置されます。ドライブの使用効率を向上させるためには、この手順を使ってディスクのレイアウトを変更して下さい。EFI スライス 1 から 5 に領域を割り当てることで、Solaris ボリュームマネージャー ボリュームを設定するときにこれらのスライスを使用できるようになります。
ドライブのパーティションを再分割する場合、metaset コマンドによってそのドライブのパーティションが再分割されないようにするための手順を実行します。
ターゲットスライスがドライブ上のほかのスライスとオーバーラップしないでください。
Solaris ボリュームマネージャー の管理者ガイドを参照して、使用のバージョンのボリューム管理ソフトウェア用の状態データベース複製のサイズを判定します。
このフィールドは読み取り専用に設定しないでください。
詳細については、format(1M) のマニュアルページを参照してください。
次の手順
md.tab ファイルを使って、ボリュームを定義します。「md.tab ファイルを作成する方法」に進みます。
クラスタ内の各ノードごとに /etc/lvm/md.tab ファイルを作成します。md.tab ファイルを使用して、作成したディスクセットの Solaris ボリュームマネージャー ボリュームを定義します。
注 - ローカルボリュームを使用している場合は、ローカルボリューム名がディスクセットを構成するために使用されているデバイス ID と異なることを確認してください。たとえば、ディスクセットで /dev/did/dsk/d3 というデバイス ID が使用されている場合は、ローカルボリュームに /dev/md/dsk/d3 という名前は使用しないでください。この要件は、命名規則 /dev/md/setname/{r}dsk/d # を使用する共有ボリュームには適用されません。
下位デバイス名 (c N tX dY) の代わりに md.tab ファイル内では、完全な DID デバイス名を使用してください。DID デバイス名は、/dev/did/rdsk/dN の形式を取ります。
phys-schost# cldevice show | grep Device
=== DID Device Instances === DID Device Name: /dev/did/rdsk/d1 Full Device Path: phys-schost-1:/dev/rdsk/c0t0d0 DID Device Name: /dev/did/rdsk/d2 Full Device Path: phys-schost-1:/dev/rdsk/c0t6d0 DID Device Name: /dev/did/rdsk/d3 Full Device Path: phys-schost-1:/dev/rdsk/c1t1d0 Full Device Path: phys-schost-2:/dev/rdsk/c1t1d0 …
サンプルの md.tab ファイルについては、例 4-4 を参照してください。
注 - サブミラーに使用するドライブにデータがすでに存在している場合は、ボリュームを設定する前にデータのバックアップを作成する必要があります。その後、データをミラーに復元します。
クラスタ環境内のさまざまなノード上のローカルボリューム間での混乱を避けるため、クラスタ全体で各ローカルボリューム名が固有となるような命名規則を使用してください。たとえば、ノード 1 については、d100 から d199 の間で名前を選択します。ノード 2 では、d200 から d299 を使用します。
md.tab ファイルを作成する方法の詳細については、Solaris ボリュームマネージャー ドキュメントおよび md.tab (4) のマニュアルページを参照してください。
例 4-4 md.tab のサンプルファイル
次の md.tab のサンプルファイルでは、dg-schost-1 という名前でディスクセットを定義しています。md.tab ファイル内の行の順序は重要ではありません。
dg-schost-1/d0 -m dg-schost-1/d10 dg-schost-1/d20 dg-schost-1/d10 1 1 /dev/did/rdsk/d1s0 dg-schost-1/d20 1 1 /dev/did/rdsk/d2s0
サンプル md.tab ファイルは、次のように構築されています。
先頭行では、デバイス d0 をボリューム d10 と d20 のミラーとして定義しています。-m は、このデバイスがミラーデバイスであることを示します。
dg-schost-1/d0 -m dg-schost-1/d0 dg-schost-1/d20
2 行目では、d0 の最初のサブミラーであるボリューム d10 を一方向のストライプとして定義しています。
dg-schost-1/d10 1 1 /dev/did/rdsk/d1s0
3 行目では、d0 の 2 番目のサブミラーであるボリューム d20 を一方向のストライプとして定義しています。
dg-schost-1/d20 1 1 /dev/did/rdsk/d2s0
次の手順
md.tab ファイルで定義したボリュームを起動します。「ボリュームを起動する方法」に進みます。
この手順を実行して、md.tab ファイルで定義されている Solaris ボリュームマネージャー ボリュームを起動します。
phys-schost# cldevicegroup switch -n node device-group
所有権を取得するノードを指定します。
ディスクセット名を指定します。
phys-schost# metainit -s setname -a
ディスクセット名を指定します。
md.tab ファイル内のすべてのボリュームを起動します。
必要に応じて、ドライブに接続できる別のノードから metainit(1M) コマンドを実行します。クラスタ化ペアトポロジでは、すべてのノードがドライブにアクセスできるわけではないため、この手順が必要になります。
phys-schost# metastat -s setname
詳細については、metastat(1M) のマニュアルページを参照してください。
クラスタ構成のバックアップを保存しておけば、クラスタ構成の回復がより簡単になります。詳細は、『Oracle Solaris Cluster システム管理』の「クラスタ構成をバックアップする方法」を参照してください。
例 4-5 md.tab ファイル内のボリュームの起動
次の例では、md.tab ファイルでディスクセット dg-schost-1 で定義されているすべてのボリュームを起動します。
phys-schost# metainit -s dg-schost-1 -a
次の手順
クラスタに正確に 2 つのディスク格納装置と 2 つのノードがある場合は、二重列メディエータを追加します。「二重列メディエータの構成」に進みます。
それ以外の場合は、「クラスタファイルシステムを追加する方法」に進んでクラスタファイルシステムの作成方法を確認します。