Go to main content
Oracle® ZFS Storage Appliance 管理ガイド、Release OS8.7.0

印刷ビューの終了

更新: 2017 年 3 月
 
 

例: クラスタ化アプライアンスのレプリケーション構成

この例の目的は、クラスタのテイクオーバー、クラスタのフェイルバック、またはターゲットアプライアンスでの逆向きレプリケーションの実行後に、プロジェクトのレプリケーションが続行されるようにレプリケーションを正しく構成することです。

構成ガイドライン

クラスタ化アプライアンスのレプリケーションを構成するときは、次のガイドラインに従ってください。

  • レプリケーションのソースアプライアンスとターゲットアプライアンスの両方が CLUSTERED 状態であることを確認します。詳細は、表 13 を参照してください。

  • レプリケーションのソースアプライアンスとターゲットアプライアンスでのレプリケーショントラフィックに使用するネットワークインタフェースと IP アドレスを選択します。

    • シングルトンネットワークインタフェースを選択します。プライベートネットワークインタフェースとは異なり、シングルトンネットワークインタフェースは、クラスタ内のいずれかのコントローラが失われたあとで、動作しているコントローラによってテイクオーバーされます。シングルトンインタフェースを使用すると、クラスタのテイクオーバーまたはフェイルバックの遷移後にレプリケーションは確実に正常に行われます。シングルトンインタフェースの詳細は、表 12を参照してください。

    • ソースアプライアンスで選択したネットワークインタフェースと、データのレプリケート元プールの両方を同じコントローラに割り当てます。これは、ソースクラスタが CLUSTERED 状態のときに常に当てはまります。

    • ターゲットクラスタの場合と同様に、ターゲットアプライアンスで選択したネットワークインタフェースと、データのレプリケート先プールの両方が、同じコントローラに割り当てられている必要があります。ターゲットクラスタが CLUSTERED 状態のときにレプリケーション構成が実行される場合に、この関連付けが保証されます。

    • ソースアプライアンスとターゲットアプライアンスは、選択したネットワークインタフェースと IP アドレスを使用して正常に通信できる必要があります。

  • レプリケーションの逆転のあとで、逆転によって現在のターゲットがレプリケーションソースに変換されたら、選択したインタフェースがアウトバウンドレプリケーショントラフィックに確実に使用されるように、ターゲットアプライアンスとソースアプライアンスの間の静的な /32 ホストベースのルーティングを作成します。

  • 静的ルートの作成後に、ターゲットの選択した IP アドレスを使用して、ソースアプライアンスでレプリケーションターゲットオブジェクトを構成します。

  • ターゲットアプライアンスが OWNER 状態の場合、ネットワークインタフェースとストレージプールを含むすべての共有リソースが、動作中のコントローラのうち OWNER 状態になった 1 つのコントローラによってテイクオーバーされ所有されます。OWNER 状態のコントローラでは、あるコントローラに割り当てられたネットワークインタフェースを選択して、このネットワークインタフェースを使用して、別のコントローラに割り当てられたプールにレプリケーショントラフィックを配信できます。コントローラが CLUSTERED 状態に戻ると、ネットワークインタフェースとストレージプールが、割り当てられたコントローラに返されます。その結果、ソースアプライアンスは、プールを所有しなくなったターゲットコントローラ上のネットワークインタフェースを使用するため、レプリケーションを更新できないことがあります。ターゲットアプライアンスが CLUSTERED 状態のときにレプリケーション構成を実行する場合、この構成エラーが発生することはありません。

例: クラスタ化アプライアンスのレプリケーションの構成

この例の手順では、次のソースとターゲットのネットワークインタフェースと IP アドレスを使用します。

ソースアプライアンスクラスタは、ソースコントローラ S1 および S2 で構成されます。ストレージプール sp1S1 に割り当てられ、プール sp2S2 に割り当てられています。クラスタネットワークインタフェースは次のもので構成されます。

  • IP アドレス 198.51.100.81/24 を持つ S1 上のプライベートインタフェース ixgbe0

  • IP アドレス 198.51.100.82/24 を持つ S2 上のプライベートインタフェース ixgbe0

  • S1 に割り当てられた IP アドレス 192.0.2.101/25 を持つシングルトンインタフェース ixgbe1

  • S2 に割り当てられた IP アドレス 192.0.2.102/25 を持つシングルトンインタフェース ixgbe2

  • S1 に割り当てられた IP アドレス 192.0.2.201/25 を持つシングルトンインタフェース ixgbe3

  • S2 に割り当てられた IP アドレス 192.0.2.202/25 を持つシングルトンインタフェース ixgbe4

次の場合、アプライアンスは最初は CLUSTERED 状態になっています。

  • S1sp1ixgbe1、および ixgbe3 を所有します

  • S2sp2ixgbe2、および ixgbe4 を所有します

ターゲットアプライアンスクラスタは、コントローラ T1 および T2 で構成されます。ストレージプール tp1T1 に割り当てられ、プール tp2T2 に割り当てられています。クラスタネットワークインタフェースは次のもので構成されます。

  • IP アドレス 198.51.100.83/24 を持つ T1 上のプライベートインタフェース ixgbe0

  • IP アドレス 198.51.100.84/24 を持つ T2 上のプライベートインタフェース ixgbe0

  • T1 に割り当てられた IP アドレス 192.0.2.103/25 を持つシングルトンインタフェース ixgbe1

  • T2 に割り当てられた IP アドレス 192.0.2.104/25 を持つシングルトンインタフェース ixgbe2

  • T1 に割り当てられた IP アドレス 192.0.2.203/25 を持つシングルトンインタフェース ixgbe3

  • T2 に割り当てられた IP アドレス 192.0.2.204/25 を持つシングルトンインタフェース ixgbe4

次の場合、アプライアンスは最初は CLUSTERED 状態になっています。

  • T1tp1ixgbe1、および ixgbe3 を所有します

  • T2tp2ixgbe2、および ixgbe4 を所有します

次の手順では、プロジェクト Red、Blue、および Green に CLI を使用してレプリケーションを構成する方法について説明します。

  1. ネットワークインタフェースおよび IP アドレスを選択します。

    • 最初に、プロジェクト Red のレプリケーション用のネットワークインタフェースと IP アドレスを選択します。

      ソース S は CLUSTERED 状態であるため、選択したネットワークインタフェースと IP アドレスがプライベートではないようにすれば十分です。そのため、S1 では、ixgbe1 または ixgbe3 のいずれかを使用します。

    • 同じことがターゲット T に適用されるため、アプライアンス T1ixgbe1 または ixgbe3 のいずれかを使用します。S1T1 上の両方の ixgbe1ixgbe3 が同じサブネットに属するため、プロジェクト Red のレプリケーションの実行のためにいずれかを選択します。この例では、S1 および T1 上のインタフェース ixgbe1 を選択します。

  2. S1 で静的ルートを設定します。

    次の例では、ソースコントローラ S1 でプロジェクト Red のレプリケーションの静的ルートを設定します。

    S1:configuration net routing> create
    S1:configuration net route (uncommitted)> set family=IPv4
                                family = IPv4 (uncommitted)
    S1:configuration net route (uncommitted)> set destination=192.0.2.103
                           destination = 192.0.2.103 (uncommitted)
    S1:configuration net route (uncommitted)> set mask=32
                                  mask = 32 (uncommitted)
    S1:configuration net route (uncommitted)> set interface=ixgbe1
                             interface = ixgbe1 (uncommitted)
    S1:configuration net route (uncommitted)> set gateway=192.0.2.1
                               gateway = 192.0.2.1 (uncommitted)
    S1:configuration net route (uncommitted)> commit
    S1:configuration net routing> list
    ROUTE      DESTINATION      GATEWAY    INTERFACE  TYPE    STATUS
    ...
    route-003  192.0.2.103/32   192.0.2.1  ixgbe1     static  active
  3. T1 で静的ルートを設定します。

    次の例では、ターゲットコントローラ T1 でプロジェクト Red をレプリケートするための静的ルートを設定します。

    T1:configuration net routing> create
    T1:configuration net route (uncommitted)> set family=IPv4
                                family = IPv4 (uncommitted)
    T1:configuration net route (uncommitted)> set destination=192.0.2.101
                           destination = 192.0.2.101 (uncommitted)
    T1:configuration net route (uncommitted)> set mask=32
                                  mask = 32 (uncommitted)
    T1:configuration net route (uncommitted)> set interface=ixgbe1
                             interface = ixgbe1 (uncommitted)
    T1:configuration net route (uncommitted)> set gateway=192.0.2.1
                               gateway = 192.0.2.1 (uncommitted)
    T1:configuration net route (uncommitted)> commit
    T1:configuration net routing> list
    ROUTE      DESTINATION      GATEWAY    INTERFACE  TYPE    STATUS
    ...
    route-003  192.0.2.101/32   192.0.2.1  ixgbe1     static  active
  4. S1 でレプリケーションターゲットを作成します。

    次の例では、プロジェクト Red を sp1 から tp1 にレプリケートするために使用するレプリケーションターゲットオブジェクトを S1 で作成します。

    S1:shares replication targets>target                                                                            
    S1:shares replication target (uncommitted)> set hostname=192.0.2.103                               
                              hostname = 192.0.2.103 (uncommitted)
    S1:shares replication target (uncommitted)> set label=t1-1
                                 label = t1-1 (uncommitted)
    S1:shares replication target (uncommitted)> set root_password=********
                         root_password = (set) (uncommitted)
    S1:shares replication target (uncommitted)> commit
  5. 各プロジェクトのレプリケーションアクションを作成します。

    • プロジェクト Red をプール sp1 から tp1 にレプリケートします

    • プロジェクト Blue をプール sp1 からプール tp2 にレプリケートします

    • プロジェクト Green をプール sp2 から tp2 にレプリケートします

    次の例では、プロジェクト Red のレプリケーションアクションを作成します。

    S1:> shares select Red replication action
    S1:shares Red action (uncommitted)> set target=t1-1                                                    
                                target=t1-1 (uncommitted)
    S1:shares Red action (uncommitted)> set pool=tp1
                                  pool=tp1 (uncommitted)
    S1:shares Red action (uncommitted)> commit
  6. プロジェクト Blue をプール sp1 から tp2 にレプリケートするように設定します。

    最初にインタフェースとアドレスを選択し、ST の両方が CLUSTERED 状態であり、インタフェースアドレスが同じサブネット 192.0.2.128/25 上にあることを確認して、インタフェース S1/ixgbe3 および T2/ixgbe4 を選択します。次に、上の例と似た静的ルートを両方のアプライアンスで定義します。その後、S1 でレプリケーションターゲットオブジェクト t2-2 を作成して、ターゲットオブジェクト t2-2 を使用して S1 でプロジェクト Blue のレプリケーションアクションを作成します。

  7. プロジェクト Green をプール sp2 から tp2 にレプリケートするように設定します。

    最初にインタフェースを選択します。インタフェース S2/ixgbe2 および T2/ixgbe2 を選択します。選択したインタフェースとそのアドレスを使用して S2 および T2 で静的ルートを作成して、T2/ixgbe2 のアドレスを使用してレプリケーションターゲットオブジェクト t2-1 を定義し、最後にターゲットオブジェクト t2-1 を使用してプロジェクト Green のレプリケーションアクションを作成します。

  8. 3 つすべてのアクションのレプリケーションを開始します。

    1. プロジェクト Red から開始します。

      S1:> shares select Red replication select action-000
      S1:shares Red action-000> sendupdate
    2. 前の例に従って、プロジェクト Blue と Green のアクションのレプリケーションを開始します。

レプリケーションデータパスを示す例

次の図は、プロジェクト Red、Blue、および Green に対するレプリケーションアクションのレプリケーション更新中のレプリケーションデータパスを示しています。

図 28  通常のレプリケーションデータパス

image:ソースコントローラとターゲットコントローラ間のレプリケーションデータパスを示す図

コントローラ T2 は保守のために停止されていると想定します。T1 はテイクオーバーを実行し、現在はすべてのリソースを所有しています。テイクオーバー中にプロジェクト Blue および Green のレプリケーション更新が進行中の場合、これらの更新は取り消されます。T1 のテイクオーバー後に、これらのレプリケーション更新は手動で再開でき、対応するレプリケーションアクションのスケジュールが構成されている場合は自動的に再開されます。

コントローラ T1 は、テイクオーバーの完了後に、プロジェクト Blue および Green のレプリケーション更新を続行するために必要なインタフェース ixgbe2 および ixgbe4 を所有します。次の図は、T1 がテイクオーバーを完了したあとのレプリケーションデータパスを示しています。

図 29  T1 のテイクオーバー後のレプリケーションデータパス

image:ターゲットのクラスタのテイクオーバー後のレプリケーションデータパスを示す図

T2 がオンラインに戻ったあとで、T1 コントローラでフェイルバックが実行され、そのリソースがテイクオーバーされます。プロジェクト Blue および Green のレプリケーション更新が進行中の場合、これらの更新は取り消され、フェイルバックの完了後に再開できます。

次に、コントローラ S2 は保守のために停止され、S1 コントローラ上で実行されるテイクオーバーによって S1 はプロジェクト Green のレプリケーションを続行するために必要なインタフェースを含むすべてのリソースの所有権を取得します。プロジェクト Green のレプリケーション更新が進行中の場合、この更新は取り消され、テイクオーバーの完了後に再開できます。

図 30  T1 でのフェイルバックおよび S1 でのテイクオーバー後のデータパス

image:ターゲットでのフェイルバック後のレプリケーションデータパスを示す図

関連トピック