金曜日, 12月 18, 2009

Oracle VM 基礎 (第2回、サーバの追加)

[概要]
Oracle VMのサーバ・プールへサーバを追加する方法を説明します。
OVM 2.xについて説明しています。OVM 3.xについては、こちらをご覧ください。

[詳細]
Oracle VMでは、サーバ間のVMイメージなどの共有に、NFS, ocfs2が使用可能です。
今回はデフォルトで共有ファイルシステムとして設定されるocfs2を使った場合のサーバの追加方法について説明します。

[初期ノードの設定]

  1. 仮想マシンの停止
    動作している仮想マシンがある場合には、すべて停止します。
  2. /etc/hostsの変更
    "/etc/hosts"にある自ホスト名のIPアドレスをループバック(127.0.0.1)から実際のIPアドレスへ変更します。
    なお、今回の説明では、初期ノードをvm-host03、追加ノードをvm-host02としています。

    127.0.0.1 vm-host03 localhost local.doamin
    127.0.0.1 localhost local.doamin
    192.168.3.153 vm-host03

  3. ocfs2ファイルシステムをクラスタ・モードへ変更
    /OVSをアンマウントし、ファイルシステムをクラスタ・モードに変更します。

    [root@vm-host03 ~]# /etc/init.d/ocfs2 stop
    Stopping Oracle Cluster File System (OCFS2) [ OK ]
    [root@vm-host03 ~]# /etc/init.d/o2cb force-offline cluster
    Unloading module "ocfs2": OK
    [root@vm-host03 ~]# /etc/init.d/o2cb enable
    Writing O2CB configuration: OK
    Loading filesystem "configfs": OK
    Mounting configfs filesystem at /sys/kernel/config: OK
    Loading filesystem "ocfs2_dlmfs": OK
    Mounting ocfs2_dlmfs filesystem at /dlm: OK
    Starting O2CB cluster ocfs2: Failed
    o2cb_ctl: Cluster "ocfs2" does not exist
    Stopping O2CB cluster ocfs2: Failed
    o2cb_ctl: Cluster "ocfs2" does not exist

    [root@vm-host03 ~]# tunefs.ocfs2 -M cluster -N 最大ノード数 デバイス・ファイル

    イタリック体の部分を変更します。
    • -N 最大ノード数 : このファイルシステムの接続する最大のノード数を設定します。最大値:255。
    • デバイス・ファイル : 共有ディスクのデバイスを指定します。
    実行例:
    [root@vm-host03 ~]# tunefs.ocfs2 -M cluster -N 4 /dev/sdc1
  4. クラスタの作成
    クラスタを作成します。

    [root@vm-host03 ~]# o2cb_ctl -C -n クラスタ名 -t cluster -i

    実行例:
    [root@vm-host03 ~]# o2cb_ctl -C -n ocfs2 -t cluster -i
    Cluster ocfs2 created

    クラスタ名各ノードからクラスタを認識するための名前

  5. 初期ノードのクラスタへの登録
    初期ノードをクラスタに追加します。
    [root@vm-host03 ~]# o2cb_ctl -C -n 初期ノード・ホスト名 -t node -i -a cluster=クラスタ名 -a number=0 -a ip_address=初期のノード・IPアドレス -a ip_port=ポート番号

    初期ノード・ホスト名初期ノードのホスト名を
    ノード番号初期ノードはnumber=0とします。
    ポート番号初期値は7777です。全ノードで同じポート番号を使用します。

    実行例:
    [root@vm-host03 ~]# o2cb_ctl -C -n vm-host03 -t node -i -a cluster=ocfs2 -a number=0 -a ip_address=192.168.3.153 -a ip_port=7777

    Node vm-host03 created
  6. 追加ノードのクラスタへの登録
    クラスタを作成し、初期ノードと追加ノードをクラスタに追加します。
    [root@vm-host03 ~]# o2cb_ctl -C -n 追加ノード・ホスト名 -t node -i -a cluster=クラスタ名 -a number=1 -a ip_address=追加ノード・IPアドレス -a ip_port=ポート番号。

    追加ノードは、number=1とします。同じポート番号は初期ノードと同じものを指定します。

    実行例:
    [root@vm-host03 ~]# o2cb_ctl -C -n vm-host02 -t node -i -a cluster=ocfs2 -a number=1 -a ip_address=192.168.3.152 -a ip_port=7777
    Node vm-host02 created

  7. クラスタの設定
    クラスタの動作の設定を行います。クラスタ名以外の場所は、デフォルトで問題なく動作します。設定の詳細を知りたい場合にはOCFS2のマニュアルを参照してください。

    [root@vm-host03 ~]# /etc/init.d/o2cb configure
    Configuring the O2CB driver.

    This will configure the on-boot properties of the O2CB driver.
    The following questions will determine whether the driver is loaded on
    boot. The current values will be shown in brackets ('[]'). Hitting
    without typing an answer will keep that current value. Ctrl-C
    will abort.

    Load O2CB driver on boot (y/n) [y]:
    Cluster stack backing O2CB [o2cb]:
    Cluster to start on boot (Enter "none" to clear) [ocfs2]:クラスタ名
    Specify heartbeat dead threshold (>=7) [31]:
    Specify network idle timeout in ms (>=5000) [30000]:
    Specify network keepalive delay in ms (>=1000) [2000]:
    Specify network reconnect delay in ms (>=2000) [2000]:
    Writing O2CB configuration: OK
    Starting O2CB cluster ocfs2: OK

  8. リブート
    変更を反映させるためノードをリブートします。
  9. マウント状態の確認
    共有パーティションが、クラスタモードで動作しているかを確認します。
    共有バーティションが、下記のように"type ocfs2 (rw,_netdev,heartbeat=local)"となっていれば、クラスタモードで動作しています。
    [root@vm-host03 ~]# mount
    <略>
    /dev/sdc1 on /var/ovs/mount/A53BAF6548A344568D709BB62B2EC7B4 type ocfs2 (rw,_netdev,heartbeat=local)

    シングルモードの時には、下記のようになっています。
    [root@vm-host03 ~]# mount
    <略>
    /dev/sdc1 on /var/ovs/mount/A53BAF6548A344568D709BB62B2EC7B4 type ocfs2 (rw,heartbeat=none)
[追加ノードの設定]
  1. /etc/hostsの変更
    "/etc/hosts"にある自ホスト名のIPアドレスをループバック(127.0.0.1)から実際のIPアドレスへ変更します。
    127.0.0.1 vm-host02 localhost local.doamin
    127.0.0.1 localhost local.doamin
    192.168.3.152 vm-host02

  2. クラスタ設定ファイルのコピー
    初期ノードからクラスタ設定ファイル("/etc/ocfs2/cluster.conf")をコピーします。

    [root@vm-host03 ~]# rsync -av /etc/ocfs2 vm-host02:/etc
    root@vm-host02's password:
    building file list ... done
    ocfs2/
    ocfs2/cluster.conf

    sent 364 bytes received 48 bytes 274.67 bytes/sec
    total size is 240 speedup is 0.58

  3. クラスタの設定
    追加ノードでもクラスタの動作の設定を行います。ブート時にO2CBドライバをロードするように設定し、クラスタ名を環境に合わせて設定してください。
    その他の設定の詳細を知りたい場合にはOCFS2のマニュアルを参照してください。

    [root@vm-host02 ~]# /etc/init.d/o2cb configure
    Configuring the O2CB driver.

    This will configure the on-boot properties of the O2CB driver.
    The following questions will determine whether the driver is loaded on
    boot. The current values will be shown in brackets ('[]'). Hitting
    without typing an answer will keep that current value. Ctrl-C
    will abort.

    Load O2CB driver on boot (y/n) [n]: y
    Cluster stack backing O2CB [o2cb]:
    Cluster to start on boot (Enter "none" to clear) [ocfs2]:クラスタ名
    Specify heartbeat dead threshold (>=7) [31]:
    Specify network idle timeout in ms (>=5000) [30000]:
    Specify network keepalive delay in ms (>=1000) [2000]:
    Specify network reconnect delay in ms (>=2000) [2000]:
    Writing O2CB configuration: OK
    Loading filesystem "configfs": OK
    Mounting configfs filesystem at /sys/kernel/config: OK
    Loading filesystem "ocfs2_dlmfs": OK
    Creating directory '/dlm': OK
    Mounting ocfs2_dlmfs filesystem at /dlm: OK
    Starting O2CB cluster ocfs2: OK


  4. Oracle VM Managerでのサーバの追加
    1. OVM Managerにて、Serverのタブに移動し"Add Server"を押します。


    2. 追加サーバの必要情報を入力します。


      • Server Host/IP (必須)
      • Server Name (必須)
      • Server Type (必須)
        Utility Server,Virtual Machine Server
      • Server Pool Name (必須)
      • Location
      • Description
    3. "Test Connection"を押して接続テストを行い、エラーがなければ"Add"を押します。



    4. "OK"を押してサーバ(ノード)を追加します。
      しばらくしたら、"Refresh"を押し、ステータスがAddingからActiveに変わればノード追加完了です。

  5. 共有ディスクのマウントの確認
    OVM Managerにて、ノードを追加すると共有ディスクがマウントされるようになります。
    共有ディスクが正しくマウントされているかどうかを、mountコマンドで確認します。

    [root@vm-host02 ~]# mount
    <略>
    /dev/sdc1 on /var/ovs/mount/A53BAF6548A344568D709BB62B2EC7B4 type ocfs2 (rw,_netdev,heartbeat=local)

    初期ノードのときと同様に、"type ocfs2 (rw,_netdev,heartbeat=local)"となっていれば、クラスタモードで動作しています。
    また、"A53BAF6548A344568D709BB62B2EC7B4"部分は、ファイルシステムのUUIDです。初期ノードと同じであることを確認してください。
[3台目以降のサーバの追加]
  1. /etc/hostsの変更
    "/etc/hosts"にある自ホスト名のIPアドレスをループバック(127.0.0.1)から実際のIPアドレスへ変更します。
    なお、今回の説明では、初期ノードをvm-host03、追加ノードをvm-host02としています。

    127.0.0.1 vm-host03 localhost local.doamin
    127.0.0.1 localhost local.doamin
    192.168.3.154 vm-host04

  2. クラスタへのノードの追加
    既存ノードすべてで、下記のコマンドを用いて、クラスタにノードを追加します。
    [root@vm-host03 ~]# o2cb_ctl -C -n ホスト名 -t node -i -a cluster=クラスタ名 -a number=ノード番号 -a ip_address=IPアドレス -a ip_port=ポート番号

  3. クラスタ設定ファイルのコピー
    任意の既存ノードから、クラスタ設定ファイル("/etc/ocfs2/cluster.conf")を追加ノードへコピーします。

    [root@vm-host03 ~]# rsync -av /etc/ocfs2 vm-host02:/etc
    root@vm-host02's password:
    building file list ... done
    ocfs2/
    ocfs2/cluster.conf

    sent 364 bytes received 48 bytes 274.67 bytes/sec
    total size is 240 speedup is 0.58

    これ以降は追加ノードで行った作業の繰り返しです。こちらに戻って、手続きを続けてください。

以上で、OVMへのサーバの追加の説明は終了です。

0 件のコメント: