この章では、Oracle VMのサーバー・プール用に、共有ストレージとして共有仮想ディスクを作成する方法、およびクラスタを作成する方法について説明します。 共有ストレージは、高可用性(HA)フェイルオーバーおよびドメインのライブ移行に必要となります。
この章の構成は次のとおりです。
共有ストレージは、次のいずれかを使用して設定できます。
iSCSI(インターネットSCSI)ネットワーク・プロトコルを使用したOracle Cluster File System(OCFS2)
SAN(ストレージ・エリア・ネットワーク)を使用したOCFS2
NFS(ネットワーク・ファイル・システム)
パーティション(マルチパス・デバイス)
HAまたはライブ移行を有効にするには、サーバー・プール内のすべてのOracle VM Serverに対して次のことを確認する必要があります。
ストレージ・リポジトリで同じ共有ストレージを使用していること。
Oracle VM Serverの同じクラスタ内に存在していること。
インストール時にデフォルトの/OVSパーティションを使用した場合、サーバー・プールに存在するOracle VM Serverが1つのみであれば、共有ストレージを作成する必要はありません。 サーバー・プールにOracle VM Serverをさらに追加する場合は、共有ストレージを作成する必要があります。
Oracle VM Managerを使用して、サーバー・プールとゲストのHAおよびドメインのライブ移行を管理できます。 Oracle VM Managerを使用したHAおよびライブ移行の管理の詳細は、『Oracle VM Managerユーザーズ・ガイド』を参照してください。
HAを有効にする場合または他の同等のコンピュータへのドメインのライブ移行を実行する場合は、共有ストレージとして使用する共有仮想ディスクを作成してから、クラスタを作成する必要があります。
ストレージ・リポジトリとクラスタを作成すると、サーバー・プール(クラスタ)内の各Oracle VM Serverに共有ストレージが自動的にマウントされます。 同様に、サーバー・プール内のOracle VM Serverが再起動されると、共有ストレージが自動的にマウントされます。 Oracle VM Serverが再起動されると共有ストレージが自動的にマウントされるように、サーバー・プール内のOracle VM Serverで共有ストレージを使用できることを確認してください。
この項では次を説明します。
共有ストレージを作成または追加してから、クラスタを作成します。 クラスタの作成方法の詳細は、第8.2項「クラスタの作成」を参照してください。
iSCSIのOCFS2を使用して共有ストレージとして共有仮想ディスクを作成する手順は、次のとおりです。
iSCSIサービスを起動します。
# service iscsi start
iSCSIターゲットの検出を実行します。 この例のターゲットは、10.1.1.1です。
# iscsiadm -m discovery -t sendtargets -p 10.1.1.1
このコマンドは、次のような出力を返します。
10.1.1.1:3260,5 iqn.1992-04.com.emc:cx.apm00070202838.a2 10.1.1.1:3260,6 iqn.1992-04.com.emc:cx.apm00070202838.a3 10.2.1.250:3260,4 iqn.1992-04.com.emc:cx.apm00070202838.b1 10.1.0.249:3260,1 iqn.1992-04.com.emc:cx.apm00070202838.a0 10.1.1.249:3260,2 iqn.1992-04.com.emc:cx.apm00070202838.a1 10.2.0.250:3260,3 iqn.1992-04.com.emc:cx.apm00070202838.b0
次のように、使用しないエントリを削除します。
# iscsiadm -m node -p 10.2.0.250:3260,3 -T iqn.1992-04.com.emc:cx.apm00070202838.b0 -o delete # iscsiadm -m node -p 10.1.0.249:3260,1 -T iqn.1992-04.com.emc:cx.apm00070202838.a0 -o delete # iscsiadm -m node -p 10.2.1.250:3260,4 -T iqn.1992-04.com.emc:cx.apm00070202838.b1 -o delete # iscsiadm -m node -p 10.1.1.249:3260,2 -T iqn.1992-04.com.emc:cx.apm00070202838.a1 -o delete # iscsiadm -m node -p 10.0.1.249:3260,5 -T iqn.1992-04.com.emc:cx.apm00070202838.a2 -o delete
サーバー・プールに使用するiSCSIターゲットのみが表示されていることを確認します。
# iscsiadm -m node
/proc/partitionsで、パーティションを確認します。
# cat /proc/partitions major minor #blocks name 8 0 71687372 sda 8 1 104391 sda1 8 2 71577607 sda2 253 0 70516736 dm-0 253 1 1048576 dm-1
iSCSIサービスを再起動します。
# service iscsi restart
/proc/partitionsで、パーティションを確認します。 新しいデバイスがリストに表示されます。
# cat /proc/partitions major minor #blocks name 8 0 71687372 sda 8 1 104391 sda1 8 2 71577607 sda2 253 0 70516736 dm-0 253 1 1048576 dm-1 8 16 1048576 sdb
これで、新しいデバイスを使用できます。
# fdisk -l /dev/sdb
次のようなコマンドで、1MB以上のクラスタ・サイズを使用して、クラスタ内の任意のOracle VM Serverから共有仮想ディスクをフォーマットします。
# mkfs.ocfs2 -Tdatafiles -N8 /dev/sdb1
-Tdatafiles
パラメータによって、mkfs.ocfs2でより大きなクラスタ・サイズが使用されるようになります。 選択されるサイズは、デバイス・サイズによって異なります。 この選択した値を後で変更することはできません。
ローカル・ボリュームを使用している場合は、さらにパラメータ--fs-features=local
を追加します。
ローカル・ボリュームの場合でも、(-N8
パラメータを使用して)8個以上のスロットを割り当てます。 クラスタにノードが9個以上存在している場合(または今後9個以上存在することになる場合)は、スロットの数を9個以上に増やします。
OCFS2の使用方法の詳細は、次のURLからオンラインでOCFS2のドキュメントを参照してください。
http://oss.oracle.com/projects/ocfs2/documentation/v1.4/
共有ストレージを追加してから、クラスタを作成します。 クラスタの作成方法の詳細は、第8.2項「クラスタの作成」を参照してください。
SANのOCFS2を使用して共有ストレージとして共有仮想ディスクを作成する手順は、次のとおりです。
/proc/partitionsで、パーティションを確認します。
# cat /proc/partitions major minor #blocks name 8 0 71687372 sda 8 1 104391 sda1 8 2 71577607 sda2 253 0 70516736 dm-0 253 1 1048576 dm-1 8 16 1048576 sdb
使用する共有ディスク・ボリュームを決めます。
次のようなコマンドで、1MB以上のクラスタ・サイズを使用して、クラスタ内の任意のOracle VM Serverから共有仮想ディスクをフォーマットします。
# mkfs.ocfs2 -Tdatafiles -N8 /dev/sdb1
-Tdatafiles
パラメータによって、mkfs.ocfs2でより大きなクラスタ・サイズが使用されるようになります。 選択されるサイズは、デバイス・サイズによって異なります。 この選択した値を後で変更することはできません。
ローカル・ボリュームを使用している場合は、さらにパラメータ--fs-features=local
を追加します。
ローカル・ボリュームの場合でも、(-N8
パラメータを使用して)8個以上のスロットを割り当てます。 クラスタにノードが9個以上存在している場合(または今後9個以上存在することになる場合)は、スロットの数を9個以上に増やします。
OCFS2の使用方法の詳細は、次のURLからオンラインでOCFS2のドキュメントを参照してください。
http://oss.oracle.com/projects/ocfs2/documentation/v1.4/
共有ストレージを追加してから、クラスタを作成します。 クラスタの作成方法の詳細は、第8.2項「クラスタの作成」を参照してください。
パーティション(マルチパス・デバイス)から共有ストレージとして共有仮想ディスクを作成するには、サーバー・プール内の各Oracle VM Serverでマルチパス・デバイスを手動で構成してから、クラスタを作成する必要があります。 マルチパス・デバイスを共有仮想ディスクとして使用する場合に前提条件となる手順は、次のとおりです。
サーバー・プール内の各Oracle VM Serverにあるマルチパス・デバイスに対して、SAN接続を手動で設定します。
サーバー・プール内の各Oracle VM Serverにあるマルチパス・デバイスを手動で設定します。
マルチパス・デバイスのデバイス識別子とデバイス・パスが、サーバー・プール内の各Oracle VM Serverで同じであることを確認します。 たとえば、デバイス識別子がmpath-36090a028301ffd14fca5a48246976baaのマルチパス・デバイスを使用する場合、サーバー・プール内の各Oracle VM Serverで、このマルチパス・デバイスに同じデバイス・パス名(/dev/mpath/mpath1など)が指定されている必要があります。
データ破損の可能性を回避するために、このマルチパス・デバイスが他の目的(FTPサーバーとしてマウントするためなど)に使用されていないことを確認します。
共有ストレージを追加してから、クラスタを作成します。 クラスタの作成方法の詳細は、第8.2項「クラスタの作成」を参照してください。
NFSを使用して共有仮想ディスクを共有ストレージとして追加するには、使用するNFSマウント・ポイントを検索します。 この例では次のマウント・ポイントを使用します。
mycomputer:/vol/vol1/data/ovs
共有ストレージとして使用するNFSマウント・ポイントを取得してから、クラスタを作成します。 クラスタの作成方法の詳細は、第8.2項「クラスタの作成」を参照してください。
HAおよびライブ移行用に共有ストレージを作成するのみでなく、Oracle VM Serverクラスタも作成して、ゲスト・データの安全性を確保し、到達不能な障害ノードにならないようにする必要があります。 クラスタ化されたOracle VM Serverには、クラスタ化されていないOracle VM Serverより厳しいルールと制限が組み込まれます。たとえば、定数が必要とされたり、まれに、クラスタを維持するために1台以上のOracle VM Serverを再起動する必要がある場合などがあります。
クラスタは、NFSベース、OCFS2ベースまたはパーティション・ベース(ext3)の共有ストレージを使用して作成できます。 クラスタを作成する前に、共有ストレージを作成して使用できる状態にしておく必要があります。 共有ストレージを作成する方法については、第8.1項「共有ストレージの作成」を参照してください。
クラスタを作成する前に、サーバー・プール内のすべてのOracle VM Serverのホスト名を、それぞれのパブリックIPアドレスを使用して正しく構成する必要があります。 ホスト名が正しく設定されていることを確認するには、サーバー・プール内のすべてのOracle VM Serverのホスト名をpingして、それらのパブリックIPアドレスを表示します。
クラスタを作成するには、次の手順を実行します。
サーバー・プール・マスターで、次のスクリプトを使用してストレージ・リポジトリを作成します。
/opt/ovs-agent-2.3/utils/repos.py -n
たとえば、NFS設定の場合は、次のようなコマンドを使用します。
# /opt/ovs-agent-2.3/utils/repos.py -n mycomputer:/vol/vol1/data/ovs
また、OCFS2設定の場合は、次のようなコマンドを使用します。
# /opt/ovs-agent-2.3/utils/repos.py -n /dev/sdb
また、パーティション・ベースの設定の場合は、次のようなコマンドを使用します。
# /opt/ovs-agent-2.3/utils/repos.py -n /dev/mpath/mpath1
ストレージ・リポジトリのUUIDを表示します。 これは、次の手順でクラスタ・ルートを設定する際に必要となります。 次のコマンドを使用して、ストレージ・リポジトリのUUIDを取得します。
# /opt/ovs-agent-2.3/utils/repos.py --list
このコマンドによって、ストレージ・リポジトリおよび各ストレージ・リポジトリのUUIDが表示されます。 クラスタ・ルートとして使用するストレージ・リポジトリのUUIDをコピーします。
ストレージ・リポジトリのUUIDを貼り付け、それを使用して次のコマンドでクラスタ・ルートを設定します。
# /opt/ovs-agent-2.3/utils/repos.py --root UUID
共有ストレージ、ストレージ・リポジトリおよびクラスタが構成され、使用できる状態になります。 Oracle VM Managerにログインし、サーバー・プールを作成します。 その後、共有ストレージ構成がサーバー・プール内のすべての仮想マシン・サーバーに伝播されます。