この付録では、Oracle Solaris Cluster Geographic Edition を使用しない、ホストベースのレプリケーションの代替方法について説明します。クラスタ間のホストベースのレプリケーションの構成と操作を簡素化するには、Oracle Solaris Cluster Geographic Edition をホストベースのレプリケーションに使用します。データレプリケーションについての理解を参照してください。
この付録の例は、Oracle Solaris の Availability Suite 機能 ソフトウェアを使用してクラスタ間のホストベースのデータレプリケーションを構成する方法を示しています。この例では、NFS アプリケーション用の完全なクラスタ構成を示し、個別のタスクの実行方法に関する詳細情報を提供します。すべてのタスクをグローバルクラスタで実行してください。例には、ほかのアプリケーションやクラスタ構成で必要な手順がすべて含まれているわけではありません。
役割に基づくアクセス制御 (RBAC) を使用してクラスタノードにアクセスする場合は、すべての Oracle Solaris Cluster コマンドの承認を提供する RBAC の役割になることができるようにします。一連のデータレプリケーション手順には、次の Oracle Solaris Cluster RBAC の承認が必要です。
solaris.cluster.modify
solaris.cluster.admin
solaris.cluster.read
RBAC の役割の使用に関する詳細は、Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 を参照してください。各 Oracle Solaris Cluster サブコマンドで必要となる RBAC の承認については、Oracle Solaris Cluster のマニュアルページを参照してください。
このセクションでは、耐障害性について紹介し、Sun StorageTek Availability Suite ソフトウェアが使用するデータレプリケーション方式について説明します。
耐障害性は、プライマリクラスタに障害が発生した場合に、アプリケーションを代替クラスタに復元する機能です。災害耐性のベースは、データレプリケーションとテイクオーバーです。テイクオーバーは、1 つ以上のリソースグループおよびデバイスグループをオンラインにすることにより、アプリケーションサービスをセカンダリクラスタに再配置します。
プライマリクラスタおよびセカンダリクラスタ間でデータが同期してレプリケートされている場合、プライマリサイトで障害が発生してもコミットされたデータは失われません。ただし、データが非同期でレプリケートされていた場合、プライマリサイトで障害が発生する前にセカンダリクラスタにレプリケートされていなかったデータがある可能性があり、それらのデータは失われます。
このセクションでは、Sun StorageTek Availability Suite が使用するリモートミラーレプリケーション方式とポイントインタイムスナップショット方式について説明します。このソフトウェアは、sndradm と iiadm コマンドを使用してデータをレプリケートします。詳細は、sndradm(1M) および iiadm(1M) のマニュアルページを参照してください。
Figure A–1 はリモートミラーレプリケーションを示しています。プライマリディスクのマスターボリュームのデータは、TCP/IP 接続を経由してセカンダリディスクのマスターボリュームにレプリケートされます。リモートミラービットマップは、プライマリディスク上のマスターボリュームと、セカンダリディスク上のマスターボリュームの差分を追跡します。
図 A-1 リモートミラーレプリケーション
リモートミラーレプリケーションは、リアルタイムに同期で実行することも非同期で実行することもできます。各クラスタの各ボリュームセットはそれぞれ、同期レプリケーションまたは非同期レプリケーションに構成できます。
非同期データレプリケーションでは、リモートボリュームが更新される前に書き込み操作が完了したと確認されます。非同期データレプリケーションは、長い距離や低い帯域幅で大きな柔軟性を発揮します。
Figure A–2 は、ポイントインタイムスナップショットを示しています。各ディスクのマスターボリュームのデータは、同じディスクのシャドウボリュームにコピーされます。ポイントインタイムピットマップは、マスターボリュームとシャドウボリューム間の違いを追跡調査します。データがシャドウボリュームにコピーされると、ポイントインタイムビットマップはリセットされます。
図 A-2 ポイントインタイムスナップショット
Figure A–3 に、この構成例でミラーレプリケーションとポイントインタイムスナップショットがどのように使用されているかを示します。
図 A-3 構成例でのレプリケーション
このセクションでは、クラスタ間のデータレプリケーションの構成ガイドラインを提供します。また、レプリケーションリソースグループとアプリケーションリソースグループの構成のコツも紹介します。これらのガイドラインは、クラスタのデータレプリケーションを構成する際に使用してください。
このセクションでは、次の項目について説明します。
レプリケーションリソースグループは、Sun StorageTek Availability Suite ソフトウェアの制御下にあるデバイスグループと論理ホスト名リソースを結び付けます。論理ホスト名は、データレプリケーションストリームの各終端に存在し、デバイスへのプライマリ入出力パスとして動作しているのと同じクラスタノードにある必要があります。レプリケーションリソースグループには、次の特徴があります。
フェイルオーバーリソースグループである
フェイルオーバーリソースは、常に単一のノード上で実行されます。フェイルオーバーが発生すると、フェイルオーバーリソースがフェイルオーバーに加わります。
論理ホスト名は、各クラスタ (プライマリおよびセカンダリ) 内のいずれかのノードでホストされ、Sun StorageTek Availability Suite ソフトウェアのデータレプリケーションストリームのソースおよびターゲットアドレスを提供するために使用されます。
HAStoragePlus リソースを持つ
HAStoragePlus リソースは、レプリケーションリソースグループがスイッチオーバーまたはフェイルオーバーしたときに、デバイスグループをフェイルオーバーします。Oracle Solaris Cluster ソフトウェアはまた、デバイスグループがスイッチオーバーしたときに、レプリケーションリソースグループをフェイルオーバーします。このようにレプリケーションリソースグループとデバイスグループは常に共用関係を持ち、同じノードから制御されます。
HAStoragePlus リソース内に次の拡張プロパティーを定義する必要があります。
GlobalDevicePaths。この拡張プロパティーは、ボリュームが属するデバイスグループを定義します。
AffinityOn property = True。この拡張プロパティーは、レプリケーションリソースグループがスイッチオーバーまたはフェイルオーバーしたときに、デバイスグループをスイッチオーバーまたはフェイルオーバーします。この機能はアフィニティースイッチオーバーと呼ばれます。
HAStoragePlus についての詳細は、SUNW.HAStoragePlus(5) のマニュアルページを参照してください。
共用関係を持つデバイスグループ名に -stor-rg を付けた名前を持つ
たとえば、devgrp-stor-rg などです。
プライマリクラスタとセカンダリクラスタでオンラインになる
高可用性にするためには、アプリケーションはアプリケーションリソースグループのリソースとして管理される必要があります。アプリケーションリソースグループは、フェイルオーバーアプリケーションまたはスケーラブルアプリケーション向けに構成できます。
HAStoragePlus リソース内で ZPoolsSearchDir 拡張プロパティーを定義する必要があります。この拡張プロパティーは、ZFS ファイルシステムを使用するために必要です。
プライマリクラスタ上に構成したアプリケーションリソースとアプリケーションリソースグループは、セカンダリクラスタ上でも構成される必要があります。また、アプリケーションリソースがアクセスするデータは、セカンダリクラスタにレプリケートする必要があります。
このセクションでは、次のアプリケーションリソースグループを構成するためのガイドラインを紹介します。
フェイルオーバーアプリケーションでは、1 つのアプリケーションが 1 度に 1 ノード上で動作します。ノードで障害が発生すると、アプリケーションは同じクラスタ内の別のノードにフェイルオーバーします。フェイルオーバーアプリケーション向けリソースグループは、以下の特徴を持っていなければなりません。
アプリケーションリソースグループがスイッチオーバーまたはフェイルオーバーされた場合、HAStoragePlus リソースにファイルシステムまたは zpool をフェイルオーバーさせる
デバイスグループは、レプリケーションリソースグループおよびアプリケーションリソースグループと共用関係を持ちます。したがって、アプリケーションリソースグループがフェイルオーバーすると、デバイスグループとレプリケーションリソースグループもフェイルオーバーします。アプリケーションリソースグループ、レプリケーションリソースグループおよびデバイスグループは、同じノードによって制御されます。
ただし、デバイスグループやレプリケーションリソースグループがフェイルオーバーしても、アプリケーションリソースグループはフェイルオーバーを行いません。
アプリケーションデータがグローバルマウントされている場合は、アプリケーションリソースグループに HAStoragePlus リソースを必ず入れなければならないわけではありませんが、入れることをお勧めします。
アプリケーションデータがローカルマウントされている場合は、アプリケーションリソースグループに HAStoragePlus リソースを必ず入れなければなりません。
HAStoragePlus についての詳細は、SUNW.HAStoragePlus(5) のマニュアルページを参照してください。
プライマリクラスタでオンライン、セカンダリクラスタでオフラインとなる
セカンダリクラスタがプライマリクラスタをテイクオーバーした場合は、セカンダリクラスタ上のアプリケーションリソースグループをオンラインにします。
Figure A–4 に、フェイルオーバーアプリケーションでのアプリケーションリソースグループとレプリケーションリソースグループの構成を示します。
図 A-4 フェイルオーバーアプリケーションでのリソースグループの構成
スケーラブルアプリケーションでは、アプリケーションは複数のノードで実行されて、1つの論理サービスを作成します。スケーラブルアプリケーションを実行しているノードで障害が発生しても、フェイルオーバーは起こりません。アプリケーションは別のノードで引き続き実行されます。
スケーラブルアプリケーションをアプリケーションリソースグループのリソースとして管理している場合は、アプリケーションリソースグループをデバイスグループと結び付ける必要はありません。したがって、アプリケーションリソースグループ向けに HAStoragePlus リソースを作成する必要はありません。
スケーラブルアプリケーション向けリソースグループは、以下の特徴を持っていなければなりません。
共有アドレスは、受信データを配信するためにスケーラブルアプリケーションを実行するノードで使用されます。
プライマリクラスタでオンライン、セカンダリクラスタでオフラインとなる
Figure A–5 に、スケーラブルアプリケーションでのリソースグループの構成を示します。
図 A-5 スケーラブルアプリケーションでのリソースグループの構成
プライマリクラスタに障害が発生した場合、アプリケーションをできるだけ早くセカンダリクラスタにスイッチオーバーする必要があります。セカンダリクラスタがテイクオーバーできるようにするには、DNS を更新する必要があります。
クライアントは DNS を使用して、アプリケーションの論理ホスト名を IP アドレスにマップします。アプリケーションをセカンダリクラスタに移動することによりテイクオーバーを行ったあとに、アプリケーションの論理ホスト名と新しい IPアドレス間のマッピングが反映されるように DNS 情報を更新する必要があります。
図 A-6 クライアントからクラスタへの DNS マッピング
DNS を更新するには、nsupdate コマンドを使用します。詳細は、nsupdate(1M) のマニュアルページを参照してください。テイクオーバーの管理の例については、テイクオーバーの管理の例を参照してください。
プライマリクラスタが修復されたら、オンラインに戻すことができます。元のプライマリクラスタにスイッチバックするには、次の手順を実行します。
プライマリクラスタとセカンダリクラスタを同期させ、プライマリボリュームが最新のものであることを確認します。これを行うには、レプリケーションデータストリームがなくなるように、セカンダリノードのリソースグループを停止します。
データレプリケーションの方向を逆にして、元のプライマリクラスタが元のセカンダリクラスタにふたたびデータをレプリケーションするようにします。
プライマリクラスタでリソースグループを起動します。
クライアントがプライマリクラスタのアプリケーションにアクセスできるように、DNS を更新します。
Table A–1 に、Sun StorageTek Availability Suite ソフトウェアを使用して NFS アプリケーション向けにどのようにデータレプリケーションが構成されたかを示すこの例でのタスクを示します。
|
Figure A–7 に、構成例で使用するクラスタ構成を示します。構成例のセカンダリクラスタにはノードが 1 つ含まれていますが、これ以外のクラスタ構成も使用できます。
図 A-7 クラスタ構成例
Table A–2 に、構成例で必要となるハードウェアとソフトウェアをまとめます。Oracle Solaris OS、Oracle Solaris Cluster ソフトウェア、およびボリューム管理ソフトウェアは、Sun StorageTek Availability Suite ソフトウェアとソフトウェア更新をインストールする前にクラスタノードにインストールしてください。
|
このセクションでは、NFS アプリケーション向けにディスクデバイスグループとリソースグループをどのように構成するかを説明します。追加情報については、レプリケーションリソースグループの構成およびアプリケーションリソースグループの構成を参照してください。
ここでは、次の手順について説明します。
構成例のために作成されたグループとリソースの名前を次の表に示します。
|
devgrp-stor-rg 以外のグループとリソースの名前は一例で、必要に応じて変更可能です。レプリケーションリソースグループの名前は、devicegroupname-stor-rg というフォーマットでなければいけません。
Solaris Volume Manager ソフトウェアについては、Oracle Solaris Cluster ソフトウェアのインストール の第 4 章Solaris Volume Manager ソフトウェアの構成を参照してください。
始める前に
次のタスクを完成していることを確認してください。
次のセクションのガイドラインと要件を確認します。
クラスタの接続とインストールで説明されているように、プライマリクラスタおよびセカンダリクラスタを設定します。
nodeA は、プライマリクラスタの最初のノードです。どのノードが nodeA であるかを確認するには、Figure A–7 を参照してください。
nodeA# metaset -s nfsset a -h nodeA nodeB
nodeA# metaset -s nfsset -a /dev/did/dsk/d6 /dev/did/dsk/d7
nodeA# metaset -s nfsset -a -m nodeA nodeB
ミラーのコンポーネントを 2 つ作成します。
nodeA# metainit -s nfsset d101 1 1 /dev/did/dsk/d6s2 nodeA# metainit -s nfsset d102 1 1 /dev/did/dsk/d7s2
いずれかのコンポーネントを使用してミラーを作成します。
nodeA# metainit -s nfsset d100 -m d101
もう 1 つのコンポーネントをミラーに接続して、同期できるようにします。
nodeA# metattach -s nfsset d100 d102
次の例のようにミラーからソフトパーティションを作成します。
d200 - NFS データ (マスターボリューム)
nodeA# metainit -s nfsset d200 -p d100 50G
d201 - NFS データのポイントインタイムコピーボリューム
nodeA# metainit -s nfsset d201 -p d100 50G
d202 - ポイントインタイムビットマップボリューム
nodeA# metainit -s nfsset d202 -p d100 10M
d203 - リモートシャドウビットマップボリューム
nodeA# metainit -s nfsset d203 -p d100 10M
d204 - Oracle Solaris Cluster SUNW.NFS 構成情報用のボリューム
nodeA# metainit -s nfsset d204 -p d100 100M
nodeA# yes | newfs /dev/md/nfsset/rdsk/d200 nodeA# yes | newfs /dev/md/nfsset/rdsk/d204
次のステップ
セカンダリクラスタでデバイスグループを構成する方法に進みます。
始める前に
手順プライマリクラスタでデバイスグループを構成する方法を完了します。
nodeC# metaset -s nfsset a -h nodeC
次の例では、ディスク DID 番号が異なると仮定しています。
nodeC# metaset -s nfsset -a /dev/did/dsk/d3 /dev/did/dsk/d4
ミラーのコンポーネントを 2 つ作成します。
nodeC# metainit -s nfsset d101 1 1 /dev/did/dsk/d3s2 nodeC# metainit -s nfsset d102 1 1 /dev/did/dsk/d4s2
いずれかのコンポーネントを使用してミラーを作成します。
nodeC# metainit -s nfsset d100 -m d101
もう 1 つのコンポーネントをミラーに接続して、同期できるようにします。
metattach -s nfsset d100 d102
次の例のようにミラーからソフトパーティションを作成します。
d200 - NFS データのマスターボリューム
nodeC# metainit -s nfsset d200 -p d100 50G
d201 - NFS データのポイントインタイムコピーボリューム
nodeC# metainit -s nfsset d201 -p d100 50G
d202 - ポイントインタイムビットマップボリューム
nodeC# metainit -s nfsset d202 -p d100 10M
d203 - リモートシャドウビットマップボリューム
nodeC# metainit -s nfsset d203 -p d100 10M
d204 - Oracle Solaris Cluster SUNW.NFS 構成情報用のボリューム
nodeC# metainit -s nfsset d204 -p d100 100M
nodeC# yes | newfs /dev/md/nfsset/rdsk/d200 nodeC# yes | newfs /dev/md/nfsset/rdsk/d204
次のステップ
プライマリクラスタのファイルシステムを NFS アプリケーション向けに構成する方法に進みます。
始める前に
手順セカンダリクラスタでデバイスグループを構成する方法を完了します。
例を示します。
nodeA# mkdir /global/mountpoint
nodeA と nodeB の /etc/vfstab ファイルに以下のテキストを追加するか、既存のテキストと置き換えます。テキストは 1 行で記述してください。
/dev/md/nfsset/dsk/d200 /dev/md/nfsset/rdsk/d200 \ /global/mountpoint ufs 3 no global,logging
次の例では、マウントポイント /global/etc を作成しています。
nodeA# mkdir /global/etc
nodeA と nodeB の /etc/vfstab ファイルに以下のテキストを追加するか、既存のテキストと置き換えます。テキストは 1 行で記述してください。
/dev/md/nfsset/dsk/d204 /dev/md/nfsset/rdsk/d204 \ /global/etc ufs 3 yes global,logging
nodeA# mount /global/etc
nodeA# mkdir -p /global/etc/SUNW.nfs
nodeA# touch /global/etc/SUNW.nfs/dfstab.nfs-rs
share -F nfs -o rw -d "HA NFS" /global/mountpoint
次のステップ
セカンダリクラスタのファイルシステムを NFS アプリケーション向けに構成する方法に進みます。
始める前に
手順プライマリクラスタのファイルシステムを NFS アプリケーション向けに構成する方法を完了します。
例を示します。
nodeC# mkdir /global/mountpoint
nodeC の /etc/vfstab ファイルに以下のテキストを追加するか、既存のテキストと置き換えます。テキストは 1 行で記述してください。
/dev/md/nfsset/dsk/d200 /dev/md/nfsset/rdsk/d200 \ /global/mountpoint ufs 3 yes global,logging
nodeC# mount /global/etc
nodeC# mkdir -p /global/etc/SUNW.nfs
nodeC# touch /global/etc/SUNW.nfs/dfstab.nfs-rs
share -F nfs -o rw -d "HA NFS" /global/mountpoint
次のステップ
プライマリクラスタでレプリケーションリソースグループを作成する方法に進みます。
始める前に
すべての論理ホスト名の IP アドレスのサブネットとネットマスクのエントリが /etc/netmasks ファイルにあることを確認してください。必要に応じて、/etc/netmasks ファイルを編集して、不足しているエントリがある場合は追加します。
nodeA# clresourcetype register SUNW.HAStoragePlus
nodeA# clresourcegroup create -n nodeA,nodeB devgrp-stor-rg
クラスタノード nodeA および nodeB がレプリケーションリソースグループをマスターできることを指定します。
レプリケーションリソースグループの名前。この名前で、devgrp はデバイスグループの名前を指定します。
nodeA# clresource create -g devgrp-stor-rg -t SUNW.HAStoragePlus \ -p GlobalDevicePaths=nfsset \ -p AffinityOn=True \ devgrp-stor
リソースを追加するリソースグループを指定します。
Sun StorageTek Availability Suite ソフトウェアが依存するデバイスグループを指定します。
SUNW.HAStoragePlus リソースが、-p GlobalDevicePaths= で定義されたグローバルデバイスおよびクラスタファイルシステムに対して、アフィニティースイッチオーバーを実行する必要があることを指定します。したがって、レプリケーションリソースグループがフェイルオーバーまたはスイッチオーバーすると、関連デバイスグループがスイッチオーバーします。
これらの拡張プロパティーについての詳細は、SUNW.HAStoragePlus(5) のマニュアルページを参照してください。
nodeA# clreslogicalhostname create -g devgrp-stor-rg lhost-reprg-prim
プライマリクラスタ上のレプリケーションリソースグループの論理ホスト名は lhost-reprg-prim です。
nodeA# clresourcegroup online -emM -n nodeA devgrp-stor-rg
関連付けられたリソースを有効にします。
リソースグループを管理状態にします。
リソースグループをオンラインにするノードを指定します。
nodeA# clresourcegroup status devgrp-stor-rg
リソースグループの状態フィールドを調べ、レプリケーションリソースグループが nodeA でオンラインとなっていることを確認します。
次のステップ
セカンダリクラスタでレプリケーションリソースグループを作成する方法に進みます。
始める前に
手順プライマリクラスタでレプリケーションリソースグループを作成する方法を完了します。
すべての論理ホスト名の IP アドレスのサブネットとネットマスクのエントリが /etc/netmasks ファイルにあることを確認してください。必要に応じて、/etc/netmasks ファイルを編集して、不足しているエントリがある場合は追加します。
nodeC# clresourcetype register SUNW.HAStoragePlus
nodeC# clresourcegroup create -n nodeC devgrp-stor-rg
リソースグループを作成します。
リソースグループのノードリストを指定します。
デバイスグループの名前。
レプリケーションリソースグループの名前。
nodeC# clresource create \ -t SUNW.HAStoragePlus \ -p GlobalDevicePaths=nfsset \ -p AffinityOn=True \ devgrp-stor
リソースを作成します。
リソースタイプを指定します。
Sun StorageTek Availability Suite ソフトウェアが依存するデバイスグループを指定します。
SUNW.HAStoragePlus リソースが、-p GlobalDevicePaths= で定義されたグローバルデバイスおよびクラスタファイルシステムに対して、アフィニティースイッチオーバーを実行する必要があることを指定します。したがって、レプリケーションリソースグループがフェイルオーバーまたはスイッチオーバーすると、関連デバイスグループがスイッチオーバーします。
レプリケーションリソースグループの HAStoragePlus リソース
これらの拡張プロパティーについての詳細は、SUNW.HAStoragePlus(5) のマニュアルページを参照してください。
nodeC# clreslogicalhostname create -g devgrp-stor-rg lhost-reprg-sec
セカンダリクラスタ上のレプリケーションリソースグループの論理ホスト名は lhost-reprg-sec です。
nodeC# clresourcegroup online -eM -n nodeC devgrp-stor-rg
オンラインにします。
関連付けられたリソースを有効にします。
リソースグループを管理状態にします。
リソースグループをオンラインにするノードを指定します。
nodeC# clresourcegroup status devgrp-stor-rg
リソースグループの状態フィールドを調べ、レプリケーションリソースグループが nodeC でオンラインとなっていることを確認します。
次のステップ
プライマリクラスタで NFS アプリケーションリソースグループを作成する方法に進みます。
この手順では、アプリケーションリソースグループを NFS に対して作成する方法を説明します。この手順はこのアプリケーションに固有で、別の種類のアプリケーションには使用できません。
始める前に
手順セカンダリクラスタでレプリケーションリソースグループを作成する方法を完了します。
すべての論理ホスト名の IP アドレスのサブネットとネットマスクのエントリが /etc/netmasks ファイルにあることを確認してください。必要に応じて、/etc/netmasks ファイルを編集して、不足しているエントリがある場合は追加します。
nodeA# clresourcetype register SUNW.nfs
nodeA# clresourcetype register SUNW.HAStoragePlus
nodeA# clresourcegroup create \ -p Pathprefix=/global/etc \ -p Auto_start_on_new_cluster=False \ -p RG_affinities=+++devgrp-stor-rg \ nfs-rg
グループのリソースが管理ファイルを書き込むディレクトリを指定します。
アプリケーションリソースグループが自動的に起動しないように指定します。
アプリケーションリソースグループを結び付ける必要があるリソースグループを指定します。この例では、アプリケーションリソースグループはレプリケーションリソースグループ devgrp-stor-rg に結び付いている必要があります。
レプリケーションリソースグループが新しいプライマリノードにスイッチオーバーすると、アプリケーションリソースグループが自動的にスイッチオーバーします。ただし、この操作により結び付きの要件が破られるため、アプリケーションリソースグループを新しいプライマリノードにスイッチオーバーしようとするとブロックされます。
アプリケーションリソースグループの名前。
nodeA# clresource create -g nfs-rg \ -t SUNW.HAStoragePlus \ -p FileSystemMountPoints=/global/mountpoint \ -p AffinityOn=True \ nfs-dg-rs
リソースを作成します。
リソースを追加するリソースグループを指定します。
リソースが SUNW.HAStoragePlus タイプであることを指定します。
ファイルシステムのマウントポイントがグローバルであることを指定します。
アプリケーションリソースが -p FileSystemMountPoints で定義されたグローバルデバイスとクラスタファイルシステム向けにアフィニティースイッチオーバーを実行する必要があることを指定します。したがって、アプリケーションリソースグループがフェイルオーバーまたはスイッチオーバーすると、関連デバイスグループがスイッチオーバーします。
NFS アプリケーション向けの HAStoragePlus リソースの名前。
これらの拡張プロパティーの詳細は、SUNW.HAStoragePlus(5) のマニュアルページを参照してください。
nodeA# clreslogicalhostname create -g nfs-rg \ lhost-nfsrg-prim
プライマリクラスタ上のアプリケーションリソースグループの論理ホスト名は lhost-nfsrg-prim です。
nodeA# clresourcegroup online -M -n nodeA nfs-rg
リソースグループをオンラインにします。
関連付けられたリソースを有効にします。
リソースグループを管理状態にします。
リソースグループをオンラインにするノードを指定します。
リソースグループの名前。
nodeA# clresourcegroup status
アプリケーションリソースグループの状態フィールドを調べ、複製リソースグループが nodeA と nodeB でオンラインとなっているかどうかを調べます。
次のステップ
セカンダリクラスタで NFS アプリケーションリソースグループを作成する方法に進みます。
始める前に
すべての論理ホスト名の IP アドレスのサブネットとネットマスクのエントリが /etc/netmasks ファイルにあることを確認してください。必要に応じて、/etc/netmasks ファイルを編集して、不足しているエントリがある場合は追加します。
nodeC# clresourcetype register SUNW.nfs
nodeC# clresourcetype register SUNW.HAStoragePlus
nodeC# clresourcegroup create \ -p Pathprefix=/global/etc \ -p Auto_start_on_new_cluster=False \ -p RG_affinities=+++devgrp-stor-rg \ nfs-rg
リソースグループを作成します。
リソースグループのプロパティーを指定します。
グループのリソースが管理ファイルを書き込むディレクトリを指定します。
アプリケーションリソースグループが自動的に起動しないように指定します。
アプリケーションリソースグループを結び付ける必要があるリソースグループを指定します。この例では、アプリケーションリソースグループはレプリケーションリソースグループ devgrp-stor-rg に結び付いている必要があります。
レプリケーションリソースグループが新しいプライマリノードにスイッチオーバーすると、アプリケーションリソースグループが自動的にスイッチオーバーします。ただし、これにより結び付きの要件が破られるため、アプリケーションリソースグループを新しいプライマリノードにスイッチオーバーしようとするとブロックされます。
アプリケーションリソースグループの名前。
nodeC# clresource create -g nfs-rg \ -t SUNW.HAStoragePlus \ -p FileSystemMountPoints=/global/mountpoint \ -p AffinityOn=True \ nfs-dg-rs
リソースを作成します。
リソースを追加するリソースグループを指定します。
リソースが SUNW.HAStoragePlus タイプであることを指定します。
リソースのプロパティーを指定します。
ファイルシステムのマウントポイントがグローバルであることを指定します。
アプリケーションリソースが -p FileSystemMountPoints= で定義されたグローバルデバイスとクラスタファイルシステム向けにアフィニティースイッチオーバーを実行する必要があることを指定します。したがって、アプリケーションリソースグループがフェイルオーバーまたはスイッチオーバーすると、関連デバイスグループがスイッチオーバーします。
NFS アプリケーション向けの HAStoragePlus リソースの名前。
nodeC# clreslogicalhostname create -g nfs-rg \ lhost-nfsrg-sec
セカンダリクラスタ上のアプリケーションリソースグループの論理ホスト名は lhost-nfsrg-sec です。
nodeC# clresource create -g nfs-rg \ -t SUNW.nfs -p Resource_dependencies=nfs-dg-rs nfs-rg
nodeC# umount /global/mountpoint
ボリュームがセカンダリクラスタにマウントされていると、同期が失敗します。
次のステップ
データレプリケーションの有効化例に進みます。
このセクションでは、構成例のデータレプリケーションをどのように有効にするかを説明します。このセクションでは、Sun StorageTek Availability Suite ソフトウェアコマンドの sndradm と iiadm を使用します。これらのコマンドの詳細は、Sun StorageTek Availability Suite のドキュメントを参照してください。
ここでは、次の手順について説明します。
nodeA# lockfs -a -f
nodeA# clresourcegroup status nodeC# clresourcegroup status
リソースグループの状態フィールドを調べます。
この手順では、プライマリクラスタからセカンダリクラスタへのレプリケーションを有効にします。この手順によって、プライマリクラスタのマスターボリューム (d200) からセカンダリクラスタのマスターボリューム (d200) へのレプリケーションが有効になります。さらに、この手順で d203 のリモートミラービットマップへのレプリケーションも有効になります。
プライマリクラスタとセカンダリクラスタが同期されていない場合は、次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -n -e lhost-reprg-prim \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 ip sync
プライマリクラスタとセカンダリクラスタが同期されている場合は、次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -n -E lhost-reprg-prim \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 ip sync
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -n -a on lhost-reprg-prim \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 ip sync
この手順で自動同期が有効になります。自動同期のアクティブ状態が on に設定されている場合、システムがリブートされたり障害が発生すると、ボリュームセットは再度同期化されます。
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -P
次のような出力が表示されます。
/dev/md/nfsset/rdsk/d200 -> lhost-reprg-sec:/dev/md/nfsset/rdsk/d200 autosync: off, max q writes:4194304, max q fbas:16384, mode:sync,ctag: devgrp, state: logging
ロギングモードでは、状態は logging で、自動同期のアクティブ状態は off です。ディスクのデータボリュームに書き込みが行われると、同じディスクのビットマップファイルが更新されます。
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/iiadm -e ind \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d201 \ /dev/md/nfsset/rdsk/d202 nodeA# /usr/sbin/iiadm -w \ /dev/md/nfsset/rdsk/d201
この手順によって、プライマリクラスタのマスターボリュームが同じクラスタのシャドウボリュームにコピーされるようになります。マスターボリューム、シャドウボリューム、およびポイントインタイムビットマップボリュームは同じデバイスグループに存在する必要があります。この例では、マスターボリュームは d200、シャドウボリュームは d201、ポイントインタイムビットマップボリュームは d203 です。
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -I a \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d201 \ /dev/md/nfsset/rdsk/d202
この手順によって、ポイントインタイムスナップショットがリモートミラーボリュームセットに関連付けられます。Sun StorageTek Availability Suite ソフトウェアは、リモートミラーレプリケーションの前にポイントインタイムスナップショットを必ず取ります。
次のステップ
セカンダリクラスタでレプリケーションを有効にする方法に進みます。
始める前に
手順プライマリクラスタでレプリケーションを有効にする方法を完了します。
nodeC# lockfs -a -f
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeC# /usr/sbin/sndradm -n -e lhost-reprg-prim \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 ip sync
プライマリクラスタがセカンダリクラスタの存在を認識し、同期を開始します。クラスタのステータスについては、Sun StorageTek Availability Suite のシステムログファイル /var/adm を参照してください。
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeC# /usr/sbin/iiadm -e ind \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d201 \ /dev/md/nfsset/rdsk/d202 nodeC# /usr/sbin/iiadm -w \ /dev/md/nfsset/rdsk/d201
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeC# /usr/sbin/sndradm -I a \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d201 \ /dev/md/nfsset/rdsk/d202
次のステップ
データレプリケーションの実行例に進みます。
このセクションでは、構成例のデータレプリケーションをどのように実行するかを説明します。このセクションでは、Sun StorageTek Availability Suite ソフトウェアコマンドの sndradm と iiadm を使用します。これらのコマンドの詳細は、Sun StorageTek Availability Suite のドキュメントを参照してください。
ここでは、次の手順について説明します。
この手順では、プライマリディスクのマスターボリュームがセカンダリディスクのマスターボリュームにレプリケートされます。マスターボリュームは d200 で、リモートミラービットマップボリュームは d203 です。
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -P
次のような出力が表示されます。
/dev/md/nfsset/rdsk/d200 -> lhost-reprg-sec:/dev/md/nfsset/rdsk/d200 autosync: off, max q writes:4194304, max q fbas:16384, mode:sync,ctag: devgrp, state: logging
ロギングモードでは、状態は logging で、自動同期のアクティブ状態は off です。ディスクのデータボリュームに書き込みが行われると、同じディスクのビットマップファイルが更新されます。
nodeA# lockfs -a -f
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -n -m lhost-reprg-prim \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 ip sync
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -n -w lhost-reprg-prim \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 ip sync
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -P
次のような出力が表示されます。
/dev/md/nfsset/rdsk/d200 -> lhost-reprg-sec:/dev/md/nfsset/rdsk/d200 autosync: on, max q writes:4194304, max q fbas:16384, mode:sync,ctag: devgrp, state: replicating
レプリケートモードでは、状態は replicating で、自動同期のアクティブ状態は on です。プライマリボリュームに書き込みが行われると、Sun StorageTek Availability Suite ソフトウェアがセカンダリボリュームを更新します。
次のステップ
ポイントインタイムスナップショットを実行する方法に進みます。
この手順では、ポイントインタイムスナップショットを使用して、プライマリクラスタのシャドウボリュームをプライマリクラスタのマスターボリュームに同期させます。マスターボリュームは d200、ビットマップボリュームは d203、シャドウボリュームは d201 です。
始める前に
手順リモートミラーレプリケーションを実行する方法を完了します。
nodeA# clresource disable nfs-rs
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -n -l lhost-reprg-prim \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 ip sync
ディスクのデータボリュームに書き込みが行われると、同じディスクのビットマップファイルが更新されます。レプリケーションは行われません。
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/iiadm -u s /dev/md/nfsset/rdsk/d201 nodeA# /usr/sbin/iiadm -w /dev/md/nfsset/rdsk/d201
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeC# /usr/sbin/iiadm -u s /dev/md/nfsset/rdsk/d201 nodeC# /usr/sbin/iiadm -w /dev/md/nfsset/rdsk/d201
nodeA# clresource enable nfs-rs
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -n -u lhost-reprg-prim \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 ip sync
次のステップ
レプリケーションが正しく構成されていることを確認する方法に進みます。
始める前に
手順ポイントインタイムスナップショットを実行する方法を完了します。
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -P
次のような出力が表示されます。
/dev/md/nfsset/rdsk/d200 -> lhost-reprg-sec:/dev/md/nfsset/rdsk/d200 autosync: on, max q writes:4194304, max q fbas:16384, mode:sync,ctag: devgrp, state: replicating
レプリケートモードでは、状態は replicating で、自動同期のアクティブ状態は on です。プライマリボリュームに書き込みが行われると、Sun StorageTek Availability Suite ソフトウェアがセカンダリボリュームを更新します。
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -n -u lhost-reprg-prim \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 ip sync
client-machine# umount /dir
nodeA# clresource disable -g nfs-rg + nodeA# clresourcegroup offline nfs-rg
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -n -l lhost-reprg-prim \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 ip sync
ディスクのデータボリュームに書き込みが行われると、同じディスクのビットマップファイルが更新されます。レプリケーションは行われません。
nodeC# mount | grep /global/etc
nodeC# fsck -y /dev/md/nfsset/rdsk/d200
nodeC# clresourcegroup online -eM nodeC nfs-rg
次のようなプロンプトが表示されます。
client-machine#
client-machine# mount -o rw lhost-nfsrg-sec:/global/mountpoint /dir
client-machine# ls /dir
nodeC# clresource disable -g nfs-rg + nodeC# clresourcegroup offline nfs-rg
nodeC# umount /global/mountpoint
nodeA# clresourcegroup online -eM nodeA nfs-rg
次のコマンドを実行します。Sun StorageTek Availability Suite ソフトウェアの場合:
nodeA# /usr/sbin/sndradm -n -u lhost-reprg-prim \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 lhost-reprg-sec \ /dev/md/nfsset/rdsk/d200 \ /dev/md/nfsset/rdsk/d203 ip sync
プライマリボリュームに書き込みが行われると、Sun StorageTek Availability Suite ソフトウェアがセカンダリボリュームを更新します。
関連項目
ここでは、DNS エントリを更新する方法を説明します。詳細は、テイクオーバーの管理のガイドラインを参照してください。
ここでは、次の手順について説明します。
DNS がクライアントをクラスタにどのようにマッピングするかについては、Figure A–6 を参照してください。
詳細は、nsupdate(1M) のマニュアルページを参照してください。
> update delete lhost-nfsrg-prim A > update delete lhost-nfsrg-sec A > update delete ipaddress1rev.in-addr.arpa ttl PTR lhost-nfsrg-prim > update delete ipaddress2rev.in-addr.arpa ttl PTR lhost-nfsrg-sec
プライマリクラスタの IP アドレス (逆順) です。
セカンダリクラスタの IP アドレス (逆順) です。
秒単位の有効時間です。一般的な値は 3600 になります。
プライマリ論理ホスト名をセカンダリクラスタの IP アドレスにマッピングし、セカンダリ論理ホスト名をプライマリクラスタの IP アドレスにマッピングします。
> update add lhost-nfsrg-prim ttl A ipaddress2fwd > update add lhost-nfsrg-sec ttl A ipaddress1fwd > update add ipaddress2rev.in-addr.arpa ttl PTR lhost-nfsrg-prim > update add ipaddress1rev.in-addr.arpa ttl PTR lhost-nfsrg-sec
セカンダリクラスタの IP アドレス (正順) です。
プライマリクラスタの IP アドレス (正順) です。