Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ データベース管理 » 高可用性と読み込み専用のスケールアウトシステム » SQL Anywhere の読み込み専用スケールアウト

 

チュートリアル:読み込み専用スケールアウトシステムへのミラーリングシステムの追加

このチュートリアルでは、既存の読み込み専用スケールアウトシステムにミラーリングシステムを追加する方法について説明します。読み込み専用スケールアウトシステムのルートはミラーサーバにもなります。

前提条件

このチュートリアルは、チュートリアル:読み込み専用スケールアウトシステムの作成の説明に従って読み込み専用スケールアウトシステムを実行していることを前提としています。

読み込み専用スケールアウトシステムのルートノードを、ミラーリングシステム内のプライマリサーバとなるように設定します。それには、ミラーサーバを定義し、監視サーバを作成して、コピーノードをミラーリングシステムのミラーパートナになるように変換します。

MANAGE ANY MIRROR SERVER システム権限が必要です。

このチュートリアルでは、データベースのコピーのバックアップを作成します。選択するバックアップ方法に応じて、その方法に対して適切な権限を参照してください。

内容と備考

このチュートリアルでは、すべてのデータベースサーバが同じコンピュータ上で実行されていることを想定しています。ただし、運用環境では、各データベースサーバを別々のコンピュータにインストールする必要があります。

異なるコンピュータで実行されているデータベースサーバでこのチュートリアルを使用する場合は、接続文字列内の localhost への参照を実際のコンピュータ名に変更する必要があります。

 ♦ タスク
  1. 読み込み専用スケールアウトシステムのルートノードに接続します。次のコマンドを実行します。

    dbisql -c "UID=DBA;PWD=sql;SERVER=scaleout_root_demo"
  2. プライマリサーバとミラーサーバを定義します。次の文を実行します。



    -- Alter existing primary to include both partners 
    ALTER MIRROR SERVER scaleout_primary_demo 
    connection_string='SERVER=scaleout_primary_demo;HOST=localhost:6871,localhost:6873';  
    
    -- Alter existing Partner to include state file 
    ALTER MIRROR SERVER scaleout_root_demo state_file='c:\\scaleoutdemo\\server1\\server1.state';
    
    -- Define mirror 
    CREATE MIRROR SERVER scaleout_mirror_demo AS MIRROR
    connection_string='SERVER=scaleout_mirror_demo;HOST=localhost:6871,localhost:6873';
    
    --Convert an existing copy node to the mirror server
    
    ALTER MIRROR SERVER scaleout_child_demo 
    connection_string='SERVER=scaleout_child_demo;HOST=localhost:6873' 
    state_file='c:\\scaleoutdemo\\copynode\\server3.state'; 
  3. 既存のコピーノードをミラーサーバに変換します。次の文を実行します。

    --Convert an existing copy node to the mirror server
    
    ALTER MIRROR SERVER scaleout_child_demo 
    connection_string='SERVER=scaleout_child_demo;HOST=localhost:6873' 
    state_file='c:\\scaleoutdemo\\copynode\\server3.state'; 
  4. ミラーリングシステムの監視サーバになるサーバを起動します。次のコマンドを実行します。

    mkdir c:\scaleoutdemo\arbiter
    dbsrv16 -n scaleout_arbiter_demo -su sql -x "TCPIP(PORT=6870)" -xf "c:\\scaleoutdemo\\arbiter\\arbiter.state" -xa "AUTH=abc;DBN=scaleoutdemo"
  5. ルートノードに接続し、監視サーバを追加します。次の文を実行します。

    dbisql -c "UID=DBA;PWD=sql;SERVER=scaleout_primary_demo"
    CREATE MIRROR SERVER scaleout_arbiter_demo
    AS ARBITER 
    connection_string ='SERVER=scaleout_arbiter_demo;HOST=localhost:6870'; 
  6. 既存のコピーノードをミラーサーバに変換します。次の文を実行します。

    ALTER MIRROR SERVER scaleout_child_demo AS PARTNER state_file='c:\\scaleoutdemo\\copynode\\server3.state'
  7. SYSMIRRORSERVER テーブルの内容を調べて、scaleout_child_demo がミラーサーバであることを確認します。次のコマンドを実行します。

    dbisql -c "UID=DBA;PWD=sql;SERVER=scaleout_primary_demo" "SELECT  server_name, server_type FROM SYSMIRRORSERVER"

    これで、scaleout_child_demo サーバが 2 台目の「パートナ」サーバになります。

  8. クライアントアプリケーション内の接続文字列を更新し、Host 接続パラメータで両方のパートナのアドレスを指定します。次に例を示します。

    dbping -c "UID=DBA;PWD=sql;SERVER=scaleout_primary_demo;HOST=localhost:6871,localhost:6873" 
  9. (省略可) 別のコピーノードを追加します。

    1. プライマリデータベースのバックアップコピーを作成し、ディレクトリ c:\scaleoutdemo\copynode2 に格納します。

    2. 次の文を実行します。

      BACKUP DATABASE DIRECTORY 'c:\\scaleoutdemo\\copynode2';
    3. データベースのバックアップコピーを scaleout_root_demo データベースサーバの子 (コピーノード) として起動します。次のコマンドを実行します。

      dbsrv16 -n scaleout_child2_demo -su sql -x TCPIP(port=6874) "c:\scaleoutdemo\copynode2\scaleoutdemo.db" -xp on

結果

これで、読み込み専用スケールアウトシステムがミラーリングシステムの一部にもなります。

 参照