Sun Cluster 2.2 ソフトウェアのインストール

Sun Cluster HA for Sybase の構成と管理

この章では、Sun Cluster ノード上で Sun Cluster HA for Sybase データサービスを構成、管理する方法について説明します。

この章で説明する手順は次のとおりです。

Sun Cluster HA for Sybase のインストールの準備

この節の説明に従って、Sun Cluster ノードに Sun Cluster HA for Sybase をインストールする準備をしてください。

Sun Cluster HA for Sybase のインストール場所の選択

Sybase のバイナリは、物理ホストのローカルディスクにインストールすることも、あるいは共有多重ホストディスク (論理ホスト) にインストールすることもできます。インストール場所を決定するには、表 6-1 を参考にしてください。

表 6-1 Sybase のインストール場所の比較

インストール場所 

長所 

短所 

多重ホストディスク 

  • コピーを 1 つだけ保守すればよいため管理が容易。

  • 冗長性が犠牲になる。

  • 場合によっては、可用性が犠牲になることもある。

  • スイッチオーバーが発生した場合、あるいは Sybase のバイナリを誤って削除した場合、サーバーが使用できなくなる。

  • ミラー化が必要なため、2 倍のディスク空間が必要になる。

ローカルディスク 

  • すべてのノードにコピーが存在するため冗長性が向上する。

  • 複数のコピーを保守する必要があるため、管理上のオーバーヘッドが大きくなる。

多重ホストディスクに Sybase のサーバーをインストールする場合は、すべてのノードの /var/opt/sybase に Sybase クライアントをインストールする必要があります。ローカルディスクに Sybase のサーバーをインストールする場合、Sybase クライアントをインストールする必要はありません。

/etc/nsswitch.conf ファイルの設定

スイッチオーバーやフェイルオーバーの場合にデータサービスを正しく起動および停止するには、/etc/nsswitch.conf ファイルを次のように設定する必要があります。

Sun Cluster HA for Sybase を実行する論理ホストをマスターできる各ノードにおいて、/etc/nsswitch.conf ファイルの group には次のエントリの 1 つが必要です。

group:
 group:		 	files
 group:		 	files [NOTFOUND=return] nis
 group:		 	files [NOTFOUND=return] nisplus

Sun Cluster HA for Sybase は、データベースサーバーを起動および停止するときに su user コマンドを使用します。

この設定により、パブリックネットワークの障害のためにクラスタノード上でネットワーク情報ネームサービスが利用できなくなったときに、su user コマンドは NIS や NIS+ を参照しなくなります。

Sun Cluster HA for Sybase 用の多重ホストディスクの構成

Solstice DiskSuite を使用している場合は、Sun Cluster HA for Sybase が UFS ロギングあるいはミラー化 raw メタデバイスを使用するように構成できます。メタデバイスの構成についての詳細は、付録 B 「Solstice DiskSuite の構成」 を参照してください。

Sun StorEdge Volume Manager を使用している場合は、Sun Cluster HA for Sybase が VxFS ロギングあるいは raw デバイスを使用するように構成できます。詳細は、Sun StorEdge Volume Manager のマニュアルを参照してください。

Sun Cluster HA for Sybase のインストール

Sun Cluster ノードの準備と Sybase ソフトウェアのインストール、Sybase データベースの作成、Sun Cluster HA for Sybase の構成は、この節の手順に従って行なってください。

Sun Cluster HA for Sybase を構成する前に、第 3 章「Sun Cluster ソフトウェアのインストールと構成」で説明している手順に従って、各ノード上で Sun Cluster ソフトウェアを構成しておく必要があります。

Sun Cluster ノードを準備して、Sybase ソフトウェアをインストールするには

Sun Cluster ノードに Sybase ソフトウェアをインストールする準備をして、実際に Sybase ソフトウェアをインストールするための主な作業は、次のとおりです。


注意 - 注意 -

すべての Sun Cluster ノードに対して、この節で説明しているすべての手順を実行してください。


この手順を行う前に、Sybase のマニュアルを参照してください。

Sun Cluster ノードの準備をして、Sybase ソフトウェアをインストールする詳細な手順は、次のとおりです。

  1. Sybase ソフトウェアをインストールする準備をします。

    ローカルディスクまたは多重ホストディスク (論理ホスト) から $SYBASE ディレクトリの作成場所を選択します。


    注 -

    物理ホストのローカルディスクに Sybase のバイナリをインストールする場合は、できるかぎり、専用のディスク上に 1 つのファイルシステムとして Sybase ソフトウェアをマウントします。そうすることにより、オペレーティング環境を再インストールした場合でも、Sybase のバイナリが上書きされなくなります。


  2. 各ノードで、/etc/group ファイルにデータベース管理者グループ用のエントリを作成します。

    通常、このグループの名前は dba です。root および sybase がこの dba グループのメンバーになっていることを確認してください。たとえば、次のようになります。

    dba:*:520:root,sybase 

    NIS あるいは NIS+ などのネットワークネームサービス内にネームサービスのエントリを作成して、Sun Cluster HA for Sybase クライアントからその情報を利用できるようにすることができますが、ローカルの /etc ファイルにもエントリを作成して、ネットワークネームサービスに依存しないようにしてください。ネームサービスのエントリはすべてのノードで同じである必要があります。


    注 -

    すべてのノードで、この情報の複製を作成する必要があります。


  3. 各ノードで、/etc/passwd ファイルに Sybase ログイン ID 用のエントリを作成します。

    通常、このログイン ID は sybase です。Sybase のインストールディレクトリをこのエントリ用のホームディレクトリにします。たとえば、次のようにします。

    # useradd -u 120 -g dba -d /Sybase directory sybase
    
  4. Sybase のディレクトリが sybase によって所有され、dba グループに含まれていることを確認します。

    # chown sybase /sybase_directory
     # chgrp dba /sybase_directory
    

    Sybase のホームディレクトリがシンボリックリンクの場合は、次のコマンドを使用します。

    # chown sybase /sybase_directory
     # chgrp dba /sybase_directory
    # chown -h sybase /sybase_directory
    # chgrp -h dba /sybase_directory
    
  5. Sybase のインストール条件を確認します。

    Sybase のバイナリは、物理ホストのローカルディスクにインストールすることも、あるいは多重ホストディスク (論理ホスト) にインストールすることもできます。詳細は、「Sun Cluster HA for Sybase のインストール場所の選択」を参照してください。

    多重ホストディスクに Sybase ソフトウェアをインストールする場合は、まず、Sun Cluster を起動して、論理ホストの所有権を取得する必要があります。詳細は、「Sybase SQL Server の作成と Sun Cluster HA for Sybase の構成」を参照してください。

  6. Sybase ソフトウェアをインストールします。

    この手順を行う前に sybase でログインして、ディレクトリ全体の所有権を確保してください。Sybase ソフトウェアのインストール方法に関する詳細は、 Sybase のマニュアルを参照してください。

    Sybase のバイナリを多重ホストディスクにインストールする場合は、/var/opt/sybase の下に Sybase Open Client (DB-Library) をインストールします。


    注 -

    Sun Cluster HA for Sybase の障害監視機能を使用するには、$SYBASE/locales/us_english/iso_1 ディレクトリ内に ctlib.loc ファイルが存在する必要があります。このファイルは、Open Client (DB-Library) などの Sybase の接続ツールをインストールすることによって入手できます。


Sybase SQL Server の作成と Sun Cluster HA for Sybase の構成

この節で説明する 2 つの手順を使用して、Sun Cluster 構成内に初期 Sybase SQL Server およびデータベースを作成、構成してください。データベースを追加、構成する場合は、「Sybase SQL Server とデータベースを作成するには」で説明している手順だけ実行します。

多重ホストディスクに Sybase SQL Server とデータベースを作成する準備をするには

  1. Sun Cluster が起動していて、使用ノードがディスクグループを所有していることを確認します。

    必要に応じ、スーパーユーザーで scadmin(1M) コマンドを使用してください。

    # scadmin startcluster
    

    このコマンドを実行することによって、ノードがディスクグループの所有権を取得します。

  2. ボリュームマネージャがディスクデバイスを使用できるように構成します。


    注意 - 注意 -

    Sybase は raw 物理デバイスと raw メタデバイス (ミラー化を問わず) の両方に対する raw 入出力をサポートしていますが、Sun Cluster は、ミラー化 raw ボリュームまたはメタデバイスに対する Sybase の raw 入出力のみサポートしています。このため、Sun Cluster 上で /dev/rdsk/c1t1d1s2 などのデバイスを使用して、Sybase のデータを格納することはできません。


    Solstice DiskSuite を使用して、ミラー化 raw デバイスを設定する場合は、次の作業を行います。

    1. すべてのミラー化 raw メタデバイスの所有者とグループ、モードを変更します (ミラー化 raw メタデバイスを使用しない場合、この手順は省略してください)。

      このマニュアルの付録 B 「Solstice DiskSuite の構成」 では、ミラー化メタデバイスの作成方法を説明しています。

    2. メタデバイスごとに次のコマンドを使用します。

      # chown sybase_id /dev/md/disk_group/rdsk/dn
       # chgrp dba_id /dev/md/disk_group/rdsk/dn
       # chmod 600 /dev/md/disk_group/rdsk/dn
      

      SSVM を使用している場合は、このマニュアルの付録 C 「Sun StorEdge Volume Manager と Cluster Volume Manager の構成」 と SSVM のマニュアルのディスクデバイスの設定に関する説明を参照してください。

Sybase SQL Server とデータベースを作成するには

Sybase SQL Server とデータベースを作成するための主な作業は、次のとおりです。

Sybase SQL Server とデータベースを作成する詳細な手順は、次のとおりです。

  1. sybase でログインします。

    Sybase のコマンドを実行するには、sybase ユーザーとして定義されている必要があります。

  2. csh から次のコマンドを使用して Sybase 環境の準備をします。

    # setenv SYBASE base_dir
    
  3. データベース構成ファイルの準備をします。この準備は、ローカルディスクまたは多重ホストディスクのどちらにも行うことができます。

    Sybase のインストールディレクトリをローカルディスク上に置く場合は、次の手順に従います。

    1. sybinit コマンドを使用して、Sybase のインストールディレクトリに RUN_sqlserver ファイルと RUN_backupserver ファイル (省略可能) を作成します。

    2. ローカルディスク上に Sybase のインストールディレクトリを置きます。

    3. rcp(1) コマンドを使用して、マスターになる可能性のある他のすべての論理ホストに RUN_ ファイルをコピーします。

    4. 新しいサーバー用のエントリの情報に基づいて、マスターになる可能性のある論理ホスト上の $SYBASE/interfaces ファイルを更新します。

    5. トランザクションログ、データベース、server.cfg ファイル、server.krg ファイル、errorlog ファイルのすべてをローカルディスク上に置きます。

    6. rcp(1) コマンドを使用して、手順 e の全ファイルをマスターになる可能性のある他のすべての論理ホストにコピーします。

    7. sp_configure を使用して、構成の設定値を変更するか、直接、構成ファイルを編集した場合は、rcp(1) を使用して、server.cfg ファイルを、マスターになる可能性のある他のすべての論理ホストにコピーします。

      Sybase のインストールディレクトリを多重ホストディスク (論理ホスト) 上に置く場合は、次の手順に従います。

  1. sybinit コマンドを使用して、Sybase のインストールディレクトリに RUN_sqlserver ファイルと RUN_backupserver ファイル (省略可能) を作成します。

  2. 多重ホストディスク上に Sybase のインストールディレクトリを置きます。

  3. トランザクションログ、データベース、server.cfg ファイル、server.krg ファイル、errorlog ファイルのすべてを多重ホストディスク上に置きます。

  4. rcp(1) を使用して、マスターになる可能性のある他のすべての論理ホストの /var/opt/sybase/interfaces に Sybase の interfaces ファイルをコピーします。

  5. sybinit コマンドを使用して、Sybase SQL Server を構成します。


    注 -

    Sun Cluster では、1 つのバックアップサーバーに対して複数の SQL Server が存在することはできません。


    データベースデバイスを定義するときは、論理ホスト名を使用する必要があります。後で、マスターになる可能性がある他の論理ホストに Sybase をインストールするときに、sybinit を使用して、interfaces ファイルに同じ行を追加してください。

  6. データベースを作成して、論理ホスト上に置きます。

  7. sysservers データベースにバックアップサーバー名を追加します。

    デフォルトの SYB_BACKUP 以外のバックアップサーバー名を使用する場合は、次のコマンドを使用して、そのバックアップサーバー名を sysservers データベースに追加する必要があります。

    # sp_addserver <backup_server_name>
    

    sysservers データベースにバックアップサーバー名を追加しなかった場合は、バックアップサーバー名として SYB_BACKUP を使用する必要があります。

Sun Cluster HA for Sybase を構成するには

Sun Cluster HA for Sybase を構成するための主な作業は、次のとおりです。

Sun Cluster HA for Sybase を構成する詳細な手順は、次のとおりです。

  1. すべての SQL Server に対するエントリを作成します。

    Sun Cluster HA for Sybase を実行するすべてのノード上の /var/opt/sybase/sybtab ファイルに、データベースに関連付けられているサーバー名を含める必要があります。フェイルオーバーが成功するには、Sun Cluster HA for Sybase を実行するすべてのノード上で、このファイルを最新に保つ必要があります。 SQL Server を追加あるいは削除した場合は、手動でファイルを更新してください。

    /var/opt/sybase/sybtab 内のエントリの形式は、次のとおりです。

    sql_server:sybase_directory
    

    注 -

    Sun Cluster HA for Sybase の障害モニターは、バックアップサーバーを監視しません。このため、/var/opt/sybase/sybtab ファイル内にバックアップサーバー用のエントリを作成しないでください。


  2. RUN_sqlserver ファイルのユーザーID を使用してログインします。

    SQL Server をまだ起動していない場合は、次のコマンドを使用して SQL Server を起動します。

    # startserver -f $SYBASE/install/RUN_sqlserver
    
  3. (省略可能) 障害監視に使用するログイン名とパスワードを作成します。

    サーバーを起動、停止するには、sa_role を使用して、Sybase のログイン名「new_login_name」を作成します。


    注 -

    障害監視に sa ログインを使用する場合は、この手順を省略してください。


    # isql -Usa -P -S sql_server_name
    	>sp_addlogin new_login_name, password
    	>go
     	>sp_role "grant", "sa_role", new_login_name
     	>go
     	>exit
  4. $SYBASE/interfaces ファイルを確認します。

    Sybase をローカルディスクにインストールした場合は、$SYBASE/interfaces が物理ホストではなく論理ホストを参照していることを確認します。Sybase を多重ホストディスクにインストールした場合は、すべてのローカルディスク上の /var/opt/sybase の下に interfaces ファイルが存在していて、その内容が多重ホストディスク上の $SYBASE/interfaces ファイルと同じであることを確認します。


    注 -

    多重ホストディスクに (論理ホスト) Sybase のサーバーをインストールした場合は、ディスクをマスターできるすべてのノード上の /var/opt/sybase ディレクトリに Sybase クライアントをインストールする必要があります。ローカルディスクに Sybase の SQL Server をインストールした場合、Sybase クライアントをインストールする必要はありません。


  5. すべてのノードに Sun Cluster およびクラスタデーモンがインストールされ、動作していることを確認します。

    # hastat
    

    まだ起動していない場合は、scadmin startnode コマンドを使用して起動してください。

  6. hareg(1M) コマンドを使用して、Sun Cluster HA for Sybase を登録し、起動します。

    1 つのノード上でだけ hareg(1M) コマンドを実行してください。

    Sybase データサービスをまだ登録していない場合は、hareg(1M) コマンドを使用して登録してください。論理ホスト上でだけデータサービスを登録するには、-h オプションを使用して、論理ホスト名を指定します。

    # hareg -s -r sybase [-h logicalhost]

    クラスタをすでに起動している場合は、次の hareg(1M) コマンドを使用して、Sybase データサービスを起動します。

    # hareg -y sybase
    
  7. 次のコマンドを使用して、Sybase を Sun Cluster HA for Sybase の制御下に置きます。


    # hasybase insert sqlserver logicalhost 60 10 120 300 user/password ¥
     $SYBASE/install/RUN_sqlserver backupserver $SYBASE/install/RUN_backupserver
    

    このコマンド行に含まれている要素の意味は、次のとおりです。

    • hasybase insert - コマンドとサブコマンド

    • sqlserver - SQL Server の名前

    • logicalhost - sql_server にサービスを提供する論理ホスト (物理ホストではない)

    • -60 -10 -120 -300 - 検証サイクル時間 60 秒、接続検証サイクル数 10 回、検証タイムアウト 120 秒、再起動遅延時間 300 秒を指定したパラメータ

    • user/password - 障害監視に使用するログイン名 (手順 3 で作成) とパスワード

    • $SYBASE/install/RUN_sqlserver - SQL Server の起動に使用されるファイル

    • backupserver (省略可能) - バックアップサーバー名

    • $SYBASE/install/RUN_backupserver (省略可能) - バックアップサーバーの起動に使用されるファイル

    hasybase(1M) のオプションについての詳細は、hasybase(1M) のマニュアルページを参照してください。

  8. Sybase Server の運用を開始します。

    hasybase(1M) コマンドを実行して、SQL Server の運用を開始してください。SQL Server に対する監視が自動的に開始されます。詳細は、hasybase(1M) のマニュアルページを参照してください。

    # hasybase start sql_server
    

    注 -

    Sybase SQL Server が起動していない状態で hasybase(1M) コマンドが実行された場合は、Sun Cluster によって SQL Server が自動的に起動されます。


Sun Cluster HA for Sybase クライアントの構成

クライアントは、常に、物理ホスト名ではなく、論理ホスト名を使用して Sybase データベースを参照する必要があります。論理ホストがネットワーク上で応答している場合は、起動中を除いて、常にデータベースを利用できるようにします。


注 -

Sun Cluster HA for Sybase のスイッチオーバーが発生すると、Sybase のクライアントサーバー接続が切断されます。このため、クライアントアプリケーションは、必要に応じて、切断と再接続、あるいは回復に対処する必要があります。トランザクションモニターによって、アプリケーションの処置が簡単になることがあります。Sun Cluster HA for Sybase サーバーの回復時間は、アプリケーションに依存します。


アプリケーションが RDBMS 動的リンクライブラリの機能を使用する場合は、フェイルオーバーが発生したときでも、それらのライブラリが利用できる必要があります。 このためには、次のいずれかを行います。

Sun Cluster HA for Sybase のインストールの確認

次の検査テストを行なって、Sun Cluster HA for Sybase のインストールが正しく行われたことを確認してください。

これらの妥当性検査の目的は、Sun Cluster HA for Sybase を実行するすべてのノードが Sybase SQL Server を起動することができ、構成内のすべてのノードが互いに SQL Server に正しくアクセスできることを確認することにあります。

Sun Cluster HA for Sybase のインストールを確認するには

  1. 論理ホストをマスターしている Sun Cluster ノードにログインして、SYBASE の環境変数を設定します。

    論理ホストをマスターしているノードに sybase でログインし、SYBASE 環境変数が interfaces ファイルの存在するディレクトリを指し示すように設定してください。

    1. 使用ホストから SQL Server を起動できることを確認します。

    2. 使用ホストから Sybase SQL Server に接続できることを確認します。

    3. SQL Server を停止します。

  2. 論理ホストをクラスタ内の別の Sun Cluster ノードに転送します。

    haswitch(1M) コマンドを使用して、SQL Server を含む論理ホストをクラスタ内の別の Sun Cluster ノードに転送してください。

  3. 新たに論理ホストをマスターしている Sun Cluster ノードにログインして、手順 1 で行なった検査を繰り返します。

    新しいマスターノードに sybase でログインし、SQL Server と対話できることを確認します。