ヘッダーをスキップ
Oracle VM Serverユーザーズ・ガイド
リリース2.2
B57076-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

9 ストレージ・リポジトリの管理

Oracle VMでは、ストレージ・リポジトリの概念を使用して、Oracle VMリソースが存在する場所を定義します。 リソースには、ゲスト仮想マシン、仮想マシン・テンプレート(ゲスト・シード・イメージ)、ISOイメージ、共有仮想ディスクなどがあります。

ストレージ・リポジトリは、ゲストのライブ移行、高可用性(HA)およびローカル・ストレージに使用されます。

この章では、Oracle VM Serverのストレージ・リポジトリの管理について説明します。 内容は次のとおりです。

9.1 ストレージ・リポジトリのディレクトリ構造

/OVSディレクトリは、デフォルトのパーティション・レイアウトを使用してOracle VM Serverをインストールする場合に作成されるデフォルトのストレージ・リポジトリの場所です。

Oracle VM Managerでサーバー・プールを作成すると、NFS、OCFS2、ext3などのソース・タイプを使用してストレージ・リポジトリが自動的にマウントされます。 また、ストレージ・リポジトリのディレクトリ構造も、ストレージ・リポジトリの/OVSディレクトリ下に自動的に作成されます。 表9-1「/OVSディレクトリの内容」に、これらのディレクトリを示します。

表9-1 /OVSディレクトリの内容

ディレクトリ名 説明

iso_pool

Oracle VM Managerを使用してインポートされたISOファイルが含まれます。

publish_pool

パブリックとして配置されたゲスト仮想マシンが含まれます。

seed_pool

ゲスト仮想マシン・テンプレートが含まれます。

sharedDisk

共有仮想ディスクが含まれます。

running_pool

仮想マシンのイメージおよび構成ファイルが含まれます。


/OVSディレクトリはクラスタ・ルートであり、/var/ovs/mount/uuidディレクトリにマウントされているシンボリック・リンクです。 たとえば、マウント・コマンドは、次のような出力を表示します。

# mount
example.com:/OVS on /var/ovs/mount/F4135C096045458195057412169071E5 type nfs (rw,addr=192.168.2.20)

また、lsコマンドは、次のような出力を表示します。

# ls -l /OVS
lrwxrwxrwx 1 root root 47 Sep 18 16:15 /OVS -> /var/ovs/mount/F4135C096045458195057412169071E5

9.2 ストレージ・リポジトリの管理

ストレージ・リポジトリは、Oracle VM Agentによって管理されます。 ストレージ・リポジトリを作成すると、Oracle VM AgentはOracle VM Agentデータベースに構成情報を保存します。 Oracle VMリソース用に複数のストレージ・リポジトリを保持できます。

Oracle VM Managerを使用してサーバー・プールを作成すると、クラスタ内の他のノード(Oracle VM Server)にストレージ・リポジトリが自動的に伝播されます。

ストレージ・リポジトリは、/opt/ovs-agent-2.3/utils/repos.pyスクリプト使用して管理できます。 repos.pyスクリプトは、サーバー・プール・マスターで実行する必要があります。

この項では、repos.pyスクリプトのオプションについて説明します。 このスクリプトには、次の操作のためのコマンドがあります。

repos.pyスクリプトには、スクリプト・パラメータに関するヘルプを表示する機能も含まれています。 repos.pyスクリプトのオプションの完全なリストを表示するには、次のように入力します。

/opt/ovs-agent-2.3/utils/repos.py [-h | --help]

9.2.1 ストレージ・リポジトリの表示

repos.pyスクリプトを使用して、すべてのストレージ・リポジトリを表示できます。 ストレージ・リポジトリを表示する場合、このスクリプトは次のパラメータを取ります。

/opt/ovs-agent-2.3/utils/repos.py [-l | --list]

[-l | --list]

ストレージ・リポジトリを表示します。

リポジトリの表示に使用される出力形式は、次のとおりです。

[* | Del | New | R] uuid => source

[* | Del | New | R]

ストレージ・リポジトリのステータス。 このステータスは空か、または次のいずれかになります。

  • *: ストレージ・リポジトリのクラスタ・ルート。 クラスタ・ルートは、/OVSディレクトリにリンクされ、Oracle VM Agentとストレージ・リポジトリの主要なメタデータをすべて格納します。

  • Del: ストレージ・リポジトリは削除されています。

  • New: ストレージ・リポジトリは作成されています。

  • R: ストレージ・リポジトリはクラスタ・ルートとして新たに割り当てられていますが、初期化はされていません。

uuid

ストレージ・リポジトリのUUID(ユニバーサル・ユニーク識別子)。

source

ストレージ・リポジトリに使用されるブロック・デバイスまたはファイル・システムへのパス。

たとえば、ストレージ・リポジトリを表示するには、次のように入力します。

# /opt/ovs-agent-2.3/utils/repos.py -l

この例では、出力に2つのストレージ・リポジトリが表示されます。2つ目の出力が、クラスタ・ルートとして設定されるデフォルトのストレージ・リポジトリです。

[   ] e9253250-7955-4773-9e26-5954a5e95e57 => /dev/mpath/mpath1
[ * ] f4135c09-6045-4581-9505-7412169071e5 => example.com:/OVS

9.2.2 ストレージ・リポジトリの追加

repos.pyスクリプトを使用して、ファイル・システムまたは共有仮想ディスクをストレージ・リポジトリとして追加できます。 このスクリプトは、ファイル・システムまたは共有仮想ディスクをストレージ・リポジトリとして識別し、Oracle VM Agentデータベースのストレージ・リポジトリ構成を更新して、識別したストレージ・リポジトリを有効にします。 このコマンドを使用して、1つ以上のストレージ・リポジトリを作成できます。 ストレージ・リポジトリを追加する場合、このスクリプトは次のパラメータを取ります。

/opt/ovs-agent-2.3/utils/repos.py [-n | --new] storage

[-n | --new]

ストレージ・リポジトリを追加します。

storage

追加されるファイル・システムへのブロック・デバイス・パス。

既存のサーバー・プールにさらにストレージ・リポジトリを追加する場合は、そのストレージ・リポジトリのディレクトリを作成し、クラスタ内のすべてのノードにそのストレージ・リポジトリをマウントするために、そのストレージ・リポジトリを初期化する必要があります。 ストレージ・リポジトリを初期化する方法については、第9.2.4項「ストレージ・リポジトリの初期化」を参照してください。

たとえば、ストレージ・リポジトリを作成するには、サーバー・プール・マスターで次のように入力します。

# /opt/ovs-agent-2.3/utils/repos.py -n example.com:/test

この例では、出力に、新規とマークされているストレージ・リポジトリが表示されます。

[ NEW ] af60bcea-c588-4b51-8bec-d89d1a490e2e => example.com:/test

9.2.3 ストレージ・リポジトリの削除

repos.pyスクリプトを使用して、ストレージ・リポジトリを削除できます。 ストレージ・リポジトリがマウントされている場合は、削除される前に自動的にアンマウントされます。 クラスタ・ルートとして設定されているストレージ・リポジトリを削除すると、クラスタ構成が削除されます。 ストレージ・リポジトリを削除する場合、このスクリプトは次のパラメータを取ります。

/opt/ovs-agent-2.3/utils/repos.py [-d | --delete] uuid

[-d | --delete]

ストレージ・リポジトリを削除します。

uuid

ストレージ・リポジトリのUUID(ユニバーサル・ユニーク識別子)。

たとえば、ストレージ・リポジトリを削除するには、サーバー・プール・マスターで次のように入力します。

# /opt/ovs-agent-2.3/utils/repos.py -d af60bcea-c588-4b51-8bec-d89d1a490e2e

この例では、出力に、削除済とマークされているストレージ・リポジトリが表示されます。

[ DEL ] af60bcea-c588-4b51-8bec-d89d1a490e2e => example.com:/test

9.2.4 ストレージ・リポジトリの初期化

1つのサーバー・プール内に複数のストレージ・リポジトリを作成できます。 既存のサーバー・プールにさらにストレージ・リポジトリを追加する場合は、まずそのストレージ・リポジトリを追加し、次にそのストレージ・リポジトリのディレクトリを作成してクラスタ内のすべてのノードにそのストレージ・リポジトリをマウントするために、そのストレージ・リポジトリを初期化する必要があります。 ストレージ・リポジトリを初期化する場合、このスクリプトは次のパラメータを取ります。

/opt/ovs-agent-2.3/utils/repos.py [-i | --init]

[-i | --init]

必要に応じてストレージ・リポジトリのディレクトリを作成してクラスタ内のすべてのノードにマウントすることによって、ストレージ・リポジトリを初期化します。

たとえば、ストレージ・リポジトリを初期化するには、サーバー・プール・マスターで次のように入力します。

# /opt/ovs-agent-2.3/utils/repos.py -i

9.2.5 クラスタ・ルートの設定

サーバー・プール内のクラスタ・ルートとして1つのストレージ・リポジトリを選択できます。 また、サーバー・プール内のOracle VM Serverが1つのみの場合は、ローカル・ディスクをストレージ・リポジトリとして選択し、それをクラスタ・ルートとして設定することもできます。 ストレージ・リポジトリをクラスタ・ルートとして設定する場合、このスクリプトは次のパラメータを取ります。

/opt/ovs-agent-2.3/utils/repos.py [-r | --root] uuid

[-r | --root]

ストレージ・リポジトリをクラスタ・ルートとして設定します。

uuid

ストレージ・リポジトリのUUID(ユニバーサル・ユニーク識別子)。

クラスタ・ルートを設定した後、クラスタ内のすべてのノードにストレージ・リポジトリをマウントするために、そのストレージ・リポジトリを初期化する必要があります。 ストレージ・リポジトリを初期化する方法については、第9.2.4項「ストレージ・リポジトリの初期化」を参照してください。

たとえば、ストレージ・リポジトリをクラスタ・ルートとして設定するには、サーバー・プール・マスターで次のように入力します。

# /opt/ovs-agent-2.3/utils/repos.py -r e9253250-7955-4773-9e26-5954a5e95e57

この例では、出力に、クラスタ・ルートとマークされているストレージ・リポジトリが表示されます。

[ * ] e9253250-7955-4773-9e26-5954a5e95e57 => /dev/mpath/mpath1