機械翻訳について

13 Oracle Database Appliance仮想化プラットフォームの管理

Oracle Database Appliance仮想化プラットフォームの概念と手順を確認してください。

これらのトピックでは、Oracle Database Appliance仮想化プラットフォーム・アーキテクチャの概念、およびOracle Database Appliance仮想化プラットフォームのゲスト仮想マシンのデプロイ、可用性の管理、CPUプールの管理、ネットワーク設定方法の手順について説明します。 権限を持つ仮想マシンであるOracle Databaseドメイン(ODA_BASE)のサイズ変更について学んでください。

Oracle Database Appliance仮想化プラットフォームについて

Oracle VMを使用して、データベースとアプリケーションのシステム・リソースの使用を最適化できます。

Oracle Database Applianceで仮想化されたプラットフォームをデプロイできます。 仮想化プラットフォームは、Oracle VMに基づきます。 Oracle Database Appliance仮想化プラットフォームでは、Oracle VMの機能を使用して、同一の物理Oracle Database Appliance上で実行されているデータベースとアプリケーションに効果的にリソースを割り当てることができます。 単に不要なサーバー・コアを無効にするのでなく、他のワークロードをホスティングするために余剰の容量を使用できます。 これによりデータベースとアプリケーションを統合できる一方で、Oracle Database Applianceに関連するデプロイメントと管理は容易なままに保たれます。

Oracle Database Appliance仮想化プラットフォームは、Oracle Database Applianceハードウェアのすべてのバージョン上でサポートされます。 Oracle VMによってサポートされるテンプレートとオペレーティング・システムは、すべてOracle Database Appliance仮想化プラットフォーム上でもサポートされます。 サポートされるオペレーティング・システムは、Linux、Windows、Solaris x86などです。

注意:

現在、新しいシステムは、すべて仮想化されていないISOイメージで工場から出荷されています。

Oracle Database Applianceの仮想化されていないデプロイメントで、Oracle Database Applianceを仮想化されたプラットフォームとして使用する場合は、Oracle Database Appliance仮想化プラットフォームのISOイメージを使用してサーバーのイメージを再作成する必要があります。

なぜ仮想化するのですか?

Oracle Appliance Manager(oakcli)を使用すると、仮想化の専門知識がほとんどなくても、仮想環境を簡単に設定および管理できます。 Virtualized Platformのデプロイメントにより、単一のOracle Database Applianceシステム内に複数層環境全体を統合することができます。

「仮想化プラットフォーム」オプションを使用してOracle Database Applianceをデプロイする利点のいくつかを次に示します:

  • 単一のハードウェア環境にデータベースとアプリケーションをデプロイします。

  • 事前構成されたVMアプリケーション・テンプレートを使用して、データベースとアプリケーションを迅速にデプロイします。

  • ストレージへの直接アクセス(ネイティブ・パフォーマンス用)を使用して、仮想マシン(ODA_BASE)でデータベースを実行します。

  • 必要な数のCPUコア(およびメモリー)でODA_BASEドメインを構成することにより、ライセンスされたCPUを制御します。

  • CPUコア(およびメモリー)を効率的に使用します。 ODA_BASEドメインに割り当てられていないCPUコアは無駄にならず、他のデータベース以外の仮想マシンで使用できます。

  • 異なる仮想マシンに別々のネットワークを提供するには、仮想ローカル・エリア・ネットワーク(VLAN)を使用します。

  • 共有リポジトリを使用して、仮想マシン(VM)リポジトリのストレージを拡張します。

  • スペース使用率を高め、エネルギ消費と冷却コストを削減することで、データセンターの効率を向上させます。

Oracle Database Appliance仮想化プラットフォーム・アーキテクチャ

これらのトピックを確認し、Oracle Database Appliance仮想化プラットフォーム、およびプラットフォームのシステム・リソース使用量の最適化への使用方法を理解します。

Oracle Database Appliance仮想化プラットフォーム・アーキテクチャについて

このトピックを確認し、Oracle Database Appliance仮想化プラットフォームがOracle Database Applianceハードウェアで機能する方法を理解します。

Oracle Database Appliance仮想化プラットフォームが提供する仮想化テクノロジを使用すると、分離された複数のデータベースとアプリケーションが同じ物理サーバーを共有できます。 Oracle Database Appliance仮想化プラットフォームISOイメージは、Oracle Database Applianceハードウェア機能を活用するように特に設計されています。

Oracle Database Appliance仮想化プラットフォーム・アーキテクチャは次の図に示す仮想マシン・コンポーネントを使用します。

図13-1 Oracle Database Appliance仮想化プラットフォーム・アーキテクチャ

図13-1の説明が続いています。
「図13-1 Oracle Database Appliance仮想化プラットフォームのアーキテクチャの説明」
  • Oracle Database Applianceベース・ドメイン(ODA_BASE): 特にデータベース用の、ベア・メタル・デプロイメントに類似したデータベース・パフォーマンスを提供する、特権を持つ仮想マシン・ドメイン。 PCIパススルー・ドライバは、共有ストレージにODA_BASE直接アクセスを提供します。

  • ドメイン0 (Dom0): Oracle Database Appliance仮想化プラットフォームのプロビジョニング・プロセスを開始し、仮想マシン・テンプレートをホスティングするデフォルトのドメイン。 Oracle Database Appliance仮想化プラットフォーム環境でのハードウェア検出業務の大部分は、ドメイン・ゼロ(Dom0)と呼ばれる管理ドメインに渡されます。 x86ベースのサーバーでは、Dom0カーネルは、様々なデバイス、ファイル・システムおよびソフトウェアRAIDとボリューム管理をサポートするフットプリントの小さいLinuxカーネルです。 Oracle Database Appliance仮想化プラットフォームでは、Dom0は、多くのシステム・ハードウェアへのアクセスを提供し、ゲスト・オペレーティング・システムを作成、削除、管理し、これらのゲストに対して共通の仮想ハードウェアを使用可能にします。

  • ゲスト・ドメイン(ドメインU): アプリケーションやミドルウェアなどの、非データベース・ワークロードをホスティングするためにプロビジョニングされる仮想マシン。 各ゲスト・オペレーティング・システムには、ユーザー・ドメインと呼ばれるそのシステムの管理ドメインがあり、ドメインUと省略されます。 このドメインは、ハードウェアまたはデバイス・ドライバに直接アクセスする権限を持たないドメインです。 各ドメインUは、Oracle Database Appliance仮想化プラットフォーム上でDom0が実行された後に開始されます。

仮想マシンとOracle Database Appliance仮想化プラットフォームについて

Oracle Database Appliance仮想化プラットフォームは、仮想マシンを実行、デプロイしてシステム・リソースを管理するように設計されています。

共有リポジトリのリソース(CPUプール、メモリーおよびその他の共有リソース)のアプリケーションによる使用を管理するようにOracle Database Appliance仮想化プラットフォーム上の仮想マシンを構成します。

仮想マシン・テンプレート

仮想マシンは、事前に構成された仮想マシンを含むテンプレートまたはアセンブリから作成できます。 テンプレートからの仮想マシンの作成は、クローニングに基づきます。テンプレートはアーカイブとしてインポートされ、解凍されて、ディスク・イメージを使用して仮想マシン構成ファイルとして格納されます。 これらのディスク・イメージはクローニングされ、仮想マシンの形で新しいインスタンスを作成します。 同様に、既存の仮想マシンは、クローニングされて新しい仮想マシンを作成するか、クローニングされて新しいテンプレートを作成できます。

仮想マシンのアセンブリ

アセンブリは、しばしば仮想マシンのグループのテンプレート(複数の仮想マシン・テンプレートの集まり)と説明されます。 アセンブリは、単一の仮想マシンまたは仮想マシン・テンプレートの集まりを含むことができます。

ドメイン、ゲストおよび仮想マシン

ドメインゲスト,および仮想マシンは、ほぼ同じ意味に使用されていますが、若干の違いがあります。 ドメインは、構成可能な一連のリソースで、メモリー、仮想CPU、仮想マシンを実行するネットワーク・デバイスおよびディスク・デバイスを含みます。 ゲストは、ドメイン内で実行される仮想化されたオペレーティング・システムです。 複数のゲストが、Oracle Database Appliance仮想化プラットフォームの同一インスタンス上、それぞれ自身のドメイン内で実行できます。 仮想マシンには仮想リソースが割り当てられ、独立して起動、停止、再起動ができます。

仮想ディスク

仮想マシンのほかに、共有リポジトリでは仮想ディスクを作成できます。 仮想マシンに追加のブロック記憶域をアタッチすることで、仮想ディスクは仮想マシンに追加の記憶域オプションを提供します。 同様に、追加の領域が不要になった場合は、記憶域をデタッチできます。 記憶域ボリュームを仮想ディスクに拡張するか、または新規ファイル・システムを仮想ディスクに作成することで、仮想ディスクを使用して、既存のファイル・システム記憶域を仮想マシン内に拡張できます。 仮想ディスクは、同じ共有リポジトリ上で実行されている複数の仮想マシンの共有もできます。

ドライバ・ドメインは、特定のハードウェアに対して特別な権限および責務を持つユーザー・ドメインです。 ドライバ・ドメイン・オプションを使用すると、新しく作成された仮想ディスクがODA_BASEから直接ゲスト仮想マシンにマウントされます。 このオプションは、ゲスト仮想マシンがDom0ではなくODA_BASEを使用して仮想ディスクにアクセスできるようにすることで、パフォーマンスを向上させます。 このドライバ・ドメイン・オプションは12.1.2.7.0以降で利用でき、Oracle Linux、WindowsおよびOracle Solaris x86ゲスト・オペレーティング・システムでサポートされます。 ドライバ・ドメイン仮想マシンのライブ・マイグレーションはサポートされていません。

共有リポジトリ

共有リポジトリは、仮想マシンの作成と管理にとって最重要のリソースを格納するための中心的な場所です。 こういったリソースには、仮想マシン・テンプレートおよびアセンブリ、ISOファイル(仮想DVDイメージ)、仮想マシン構成ファイルおよび仮想ディスクがあります。 共有リポジトリは、Oracle Automatic Storage Management Cluster File System (Oracle ACFS)で構成され、その後、それらのリソースへのアクセスが必要なOracle Database Applianceノードに提供されます。 Oracle Database Appliance仮想化プラットフォームは共有リポジトリを使用して、環境で使用可能なディスク・スペースの使用量を最適化し、物理サーバーで障害が発生したときに仮想マシンを簡単に再割当てできるようにします。 仮想マシン・ファイルは共有ディスクに格納できるため、仮想マシンに共有ストレージを提供します。 さらに、CPUプールおよびサイズ変更可能なOracle Databaseドメイン(ODA_BASE)を構成して、仮想マシンでは、互いのCPUコアからまたは割当て済のデータベースCPUコアからサイクルが消費されないようにできます。

  • Oracle Database Appliance仮想化プラットフォーム上の共有ディスクはODA_BASEに直接接続されています。

  • ODA_BASEには、fs1fs2、およびfs3という3つの共有リポジトリが含まれています。

  • 各共有リポジトリは、共有リポジトリの作成時に選択されたOracle Automatic Storage Management (Oracle ASM)ディスク・グループ(DATAまたはRECO)の最上位に作成されたODA_BASEのOracle ACFSです。

  • 共有リポジトリを作成するプロセスでは、プライベート・ネットワークを使用するそれぞれのDom0への共有リポジトリのネットワーク・ファイル・システム(NFS)エクスポートも実行します。

  • エクスポートは、仮想マシン・ファイル用の共有ストレージを有効化します。

図13-2 Oracle Database Appliance仮想化プラットフォーム(共有リポジトリあり)のアーキテクチャの概要

図13-2の説明が続いています。
図13-2 Oracle Database Appliance仮想化プラットフォーム(共有リポジトリあり)のアーキテクチャの概要の説明

図に示された構成を使用すると、次のことができます。

  • 複数のリポジトリを作成します。

  • これらのリポジトリは、仮想マシンを実行する必要のあるノード(図のfs2fs3など)または両方のノード(図のfs1など)にマウントします。

  • 共有リポジトリで、1つ以上の仮想マシンまたは仮想マシン・テンプレートを作成します。

  • OAKCLIコマンドを使用して、共有リポジトリ、仮想ディスクおよびそれらの仮想マシン、および図に示されている基礎アーキテクチャを作成および管理します。

注意:

Oracle Database Applianceの仮想マシン(VM)リポジトリは、ブート・ドライブまたはOracle Database Appliance共有ストレージ・シェルフにのみ存在できます。 外部ストレージは、Oracle Database ApplianceのVM共有リポジトリには使用できません。

Oracle Database Appliance Virtualized Platform上のネットワーク・インフラストラクチャとVLANについて

Oracle Database Appliance Virtualized Platformは、同じネットワーク・ポートまたはボンド上の複数のVLANをサポートします。

仮想ローカル・エリア・ネットワーク(VLAN)は、単一の物理ネットワーク・スイッチ・ポートから作成される複数の論理ネットワークです。 VLANは、共通のネットワークを共有する複数のワークロードに対してネットワーク・セキュリティ分離を提供します。 たとえば、アプリケーション、バックアップ、および管理ネットワーク。 各VLANは、同じ物理接続を介して他のVLANと連動する独立した論理ネットワークとして機能します。 これは、異なるネットワークにデプロイされた仮想マシン(同じOracle VM Serverポートまたはボンドを介して接続)で、異なるVLANにトラフィックを送ることができることを意味します。

デプロイメント時のシステムの物理ポート(銅線または光ファイバ)は、単一ノード・プラットフォームではbtbond0、マルチ・ノード・プラットフォームではbond0として結合されます。 VLANは、bond0またはbtbond0に作成されます。 X7-2 HA上の仮想化プラットフォームでは、eth4インタフェース上にVLANを作成することもできます。

ネットワーク・インタフェースは、Oracle Database Applianceのハードウェアに応じて異なります。 いずれの場合も、ユーザー・ドメインへの接続は、選択したインタフェースを介して行われます。 タグ付きVLANをサポートするスイッチは、VLAN IDを使用して、パケットがどのネットワークに属するかを含めてパケットを識別します。

Oracle Database Applianceの仮想マシン・ローカル・エリア・ネットワークの構成の概要

仮想マシンにアクセスするために使用するネットワークを指定するには、Oracle Database Appliance仮想化プラットフォームのネットワーク・インフラストラクチャ・コンポーネントを使用します。 Oracle Database Appliance仮想化プラットフォームは、すべてのネットワークにブリッジを事前に作成して、上位レベルのネットワーク・インフラストラクチャ・コンポーネントをすべて管理します。 仮想マシンにアクセスするためのフロント・エンド・ポイントは、Dom0に定義されたブリッジの1つになります。

仮想マシンの構成時に、関連ブリッジを指定して、仮想マシンが使用するネットワークを定義します。

たとえば、myvm1という名前の仮想マシンをnet1ネットワークに接続するには、次のコマンドを使用します。

oakcli modify vm myvm1 -addnetwork net1

基本的な仮想マシン・ローカル・エリア・ネットワークの図は、この仮想マシン・ネットワーク構成の結果である標準的なOracle Database Applianceローカル・エリア・ネットワークの構成を示しています。

図13-3 基本的な仮想マシン・ローカル・エリア・ネットワーク

図13-3の説明が続きます
図13-3 基本的な仮想マシン・ローカル・エリア・ネットワークの説明

Oracle Database Appliance Virtualized Platformのインストールおよび構成時に、デフォルトVLANをODA_BASEに割り当てます。 仮想ローカル・エリア・ネットワークを使用するOracle Database Appliance仮想化プラットフォームの図では、VLANを使用した標準的なOracle Database Appliance構成を示します。 図は基本的な仮想マシン・ローカル・エリア・ネットワークと同じ構成を示していますが、バックアップ用(backup)、アプリケーション用(application)および管理用(mgnt)の3つのタグ付きVLANが追加されています。

図13-4 仮想ローカル・エリア・ネットワークを使用するOracle Database Appliance仮想化プラットフォーム

図13-4の説明が続きます
図13-4 仮想ローカル・エリア・ネットワークを使用するOracle Database Appliance仮想化プラットフォームの説明

共有リポジトリの作成と管理方法

これらのトピックでは、Oracle Database Appliance仮想化プラットフォームでOAKCLIを使用して共有リポジトリを作成および管理する方法について説明します。

共有リポジトリの作成

oakcli create repoコマンドを使用して、Oracle Database Appliance仮想化プラットフォームで共有リポジトリを作成します。

oakcli create repoコマンドを実行すると、オプションrepoを使用してリポジトリ名を特定し、オプション-dgを使用してそのストレージ(DATAまたはRECO)に使用するディスクグループを特定し、リポジトリのサイズをギガ・バイト単位で指定しますまたは-sizeオプションを使用してメガバイト(デフォルトのサイズ単位はギガ・バイト)です。

既存のリポジトリを表示および停止(ディスマウント)するコマンドを含め、その他のOracle Appliance Manager共有リポジトリのコマンドは、非共有リポジトリで使用するコマンドに似ています。 デフォルトの永続的なリポジトリとは異なり、アクティブな(マウント済の)仮想マシンがない共有リポジトリは削除できます。

共有リポジトリの作成の例

次のコマンドでは、repo1という名前の共有リポジトリがASM DATAディスク・グループ(data)に30GBの使用可能なストレージで作成されます。

oakcli create repo repo1 -dg data -size 30

共有リポジトリのステータスの表示

oakcli show repoコマンドを使用して、Oracle Database Appliance仮想化プラットフォームで仮想マシンのリポジトリに関する情報を表示します。

すべてのリポジトリを参照するには、リポジトリ名およびノード番号を省略します。 特定の共有リポジトリを参照するには、リポジトリ名およびノード番号を指定します。

例13-1 すべての共有リポジトリのステータスの表示の例

すべての共有リポジトリのステータスを表示するには、oakcli show repoコマンドを使用します。

oakcli show repo
      NAME                      TYPE          NODENUM  FREE SPACE     STATE
      ----                      ----          -------  ---------      -----
      odarepo1                  local          0              N/A     N/A
      odarepo2                  local          1              N/A     N/A
      repo1                     shared         0           68.25%     ONLINE
      repo1                     shared         1           68.25%     ONLINE
      repo2                     shared         0              N/A     OFFLINE
      repo2                     shared         1           89.83%     ONLINE

例13-2 選択した共有リポジトリのステータスの表示の例

共有リポジトリの特定のノードの情報を表示するには、コマンド構文の一部としてリポジトリ名とノード番号を指定します。 次の例では、repo1共有リポジトリの1の情報が表示されます。

oakcli show repo repo1 -node 1

Resource: repo1_1
        AutoStart       :       restore       
        DG              :       DATA          
        Device          :       /dev/asm/repo1-286
        ExpectedState   :       Online        
        FreeSpace       :       87.703125M        
        MountPoint      :       /u01/app/repo1
        Name            :       repo1_0       
        Node            :       all           
        RepoType        :       shared        
        Size            :       30720         
        State           :       Online
        Version         :       2

共有リポジトリの起動

oakcli start repoコマンドを使用して、Oracle Database Appliance仮想化プラットフォームで仮想マシンを起動して、共有リポジトリに割り当てます

共有リポジトリに仮想マシンを割り当てるには、その前にoakcli start repoコマンドを使用してリポジトリを起動し、ストレージを使用可能にします。 oakcli start repoコマンドにより、自動的に起動するように定義したリポジトリに割り当てられている仮想マシンも起動されます。

リポジトリを事前に構成しておく必要があります。 オプションreponameを使用して、起動するリポジトリを識別します。nameはリポジトリ名です。 オプション-node nodenameを使用して、リポジトリがあるノードを識別します。nodenameはリポジトリがあるノードの名前です。

例13-3 共有リポジトリの起動の例

このコマンドでは、ノード1上のrepo1という名前の共有リポジトリを起動します。

oakcli start repo repo1 -node 1

共有リポジトリの停止

oakcli stop repoコマンドを使用して、Oracle Database Appliance仮想化プラットフォームのノード上の共有リポジトリを停止します。

repo reponameオプションを使用して、停止するリポジトリを識別します。reponameは停止するリポジトリの名前です。 -node numberオプションを使用して、停止するリポジトリが実行されているノードを識別します。numberは停止するノード番号です。

注意:

選択したノードのリポジトリで仮想マシンがアクティブなままである間は、oakcli stop repoコマンドを発行しないでください。

例13-4 共有リポジトリの停止の例

次の例では、ノード0上のrepo1という名前の共有リポジトリを停止します。

oakcli stop repo repo1 -node 0

共有リポジトリの削除

oakcli delete repoコマンドを使用して、Oracle Database Appliance仮想化プラットフォームで新規共有リポジトリを削除します。

repo reponameオプションを使用して、削除するリポジトリを識別します。reponameは削除するリポジトリの名前です。

注意:

共有リポジトリの削除を試行するには、その前に両方のノード上でオフライン(停止)にする必要があります。

例13-5 共有リポジトリの削除の例

次のコマンドでは、両方のノード上のrepo1という名前の共有リポジトリを削除します。

oakcli delete repo repo1

共有リポジトリのサイズの増加

oakcli configure repoコマンドを使用して、Oracle Database Appliance仮想化プラットフォームで共有リポジトリのサイズを増やします。

-repo reponameオプションを使用して、拡張するリポジトリを指定します。ここで、reponameは拡張するリポジトリを指定します。 -incsize sizeオプションを使用して、構成する増加のサイズを指定します。ここで、sizeは構成されたサイズに追加するサイズ(GB単位)です。

例13-6 共有リポジトリのサイズの増加の例

次のコマンドは、repo1共有リポジトリのサイズを2GB増やします。

# oakcli configure repo repo1 -incsize 2G

Configured Shared Repo : repo1 with new size 3712.0.

共有リポジトリでの仮想ディスクの管理方法

これらのトピックでは、Oracle Database Appliance仮想化プラットフォームでOAKCLIを使用して仮想ディスクを作成、表示、クローニング、アタッチおよび削除する方法について説明します。

共有リポジトリで使用するための仮想ディスクの作成

oakcli create vdisk コマンドを使用して、Oracle Database Appliance仮想化プラットフォームで共有リポジトリに仮想ディスクを作成します。

oakcli create vdiskコマンドは、仮想ディスクのサイズ、ディスクが作成される共有リポジトリの定義、共有リポジトリ内のそのディスクの一意の名前の定義、およびディスクが1つの仮想マシンで使用されるか、複数の仮想マシンで共有できるかの定義をします。

作成するvdiskの名前は、oakcli create vdisk nameコマンドによって定義されます。ここで、nameは作成するvdiskの名前です。 -repo reponameオプションを使用して、vdiskを作成するリポジトリを指定します。ここで、reponameはvdiskを作成するリポジトリを指定します。 -size sizeGオプションを使用して、vdiskのサイズを指定します(GB単位)。ここで、sizeGは構成されたサイズに追加するサイズ(GB単位)です。 vdiskを共有ディスクとして構成する場合は、-type sharedオプションを使用して、vdiskを共有ディスクとして指定します。

例 13-7 共有仮想ディスクの作成の例

この例では、repo2共有リポジトリにsdisk1という名前の仮想ディスクをサイズ1GBで作成し、複数の仮想マシンが共有できるようにします。

oakcli create vdisk sdisk1 -repo repo2 -size 1G -type shared

仮想ディスクに関する情報の表示

oakcli show vdiskコマンドを使用して、Oracle Database Appliance仮想化プラットフォームで仮想ディスクに関する情報を表示します。

oakcli show vdiskを単独で使用して、構成済のすべての仮想マシンの情報を表示できます。 各仮想マシンの情報を表示するには、oakcli show vdisk diskname -repo reponameコマンドを入力します。ここで、disknameは確認するディスクの名前、reponameは仮想ディスクが配置されている共有リポジトリの名前です。

例13-8 すべてのvdiskの情報の表示の例

この例では、Oracle Database Appliance上に構成されたすべての仮想ディスクに関する情報を表示します。

# oakcli show vdisk

    NAME                         SIZE     TYPE    REPOSITORY
    ----                         ----     ----    ----------
    myvdisk                      10G      local   vdiskrepo
    newv                         1G       local   vdiskrepo

例13-9 単一のvdiskの情報の表示の例

この例では、myvdisk1:という名前の仮想ディスクに関する情報を表示します。

# oakcli show vdisk myvdisk1
Resource: myvdisk_vdiskrepo
        Name         :     myvdisk_vdiskrepo
        RepoName     :     vdiskrepo
        Size         :     10G
        Type         :     local
        VmAttached   :     0

仮想ディスクのクローニング

oakcli clone vdisk コマンドを使用して、Oracle Database Appliance仮想化プラットフォームの仮想ディスクのクローンを作成します。

コマンドoakcli clone vdiskは、仮想ディスクのサイズ、そのディスクが作成される共有リポジトリ、その共有リポジトリ内のそのディスクの一意の名前、ディスクが1台の仮想マシンで使用されるか、または複数の仮想マシンによって共有できるかを定義します。

作成するvdiskの名前は、コマンドoakcli clone vdisk nameによって定義されます。nameは作成するvdiskの名前です。 -repo reponameオプションを使用して、vdiskを作成するリポジトリを識別します。reponameは元のvdiskがあるリポジトリの名前です。 オプション-src sourcevdisknameを使用します。sourcevdisknameはクローニングする仮想ディスクの名前です。 オプション-hを追加して、このコマンドのヘルプを表示します。

注意:

仮想ディスクが仮想マシンにアタッチされると、システム管理者は新しく追加されたストレージをその仮想マシンで使用できるよう、オペレーティング・システムにおいて通常のディスク追加タスクを実行する必要があります。

構文

oakcli clone vdisk name -repo reponame -src sourcevdiskname [-h]

例13-10 仮想ディスクのクローニングの例

この例は、vrepo1というリポジトリに格納されたvdisk1という既存の仮想ディスクからmy_vdisk2という仮想ディスクのクローンを作成します。

oakcli clone vdisk my_vdisk2 -repo vrepo1 -src vdisk1

仮想マシンへの仮想ディスクのアタッチ

oakcli modify vmコマンドを使用して、Oracle Database Appliance仮想化プラットフォームで仮想マシンに仮想ディスクをアタッチします。

oakcli modify vm nameコマンドにより、仮想マシンを変更できます。ここで、nameは変更する仮想マシンの名前です。 ディスクを仮想マシンにアタッチするには、-attachvdisk vdisknameオプションを使用します。ここで、vdisknameは仮想マシンにアタッチする仮想ディスクの名前です。

例13-11 仮想マシンへの仮想ディスクのアタッチの例

この例では、sdisk1という仮想ディスクをmyol6u_testという仮想マシンにアタッチします。

oakcli modify vm myo16u_test -attachvdisk sdisk1

仮想ディスクの削除

oakcli delete vdisk コマンドを使用して、Oracle Database Appliance仮想化プラットフォームで共有リポジトリから仮想ディスクを削除します。

コマンドoakcli delete vdisk vdisknameは仮想ディスクを削除します。ここで、vdisknameは削除する仮想ディスクの名前です。 -repo reponameオプションは、仮想ディスクがある共有リポジトリを示します。ここで、reponameは共有リポジトリの名前です。

例13-12 共有リポジトリからの仮想ディスクの削除の例

この例では、repoprod1という共有リポジトリからt2gという仮想ディスクを削除します。

oakcli delete vdisk t2g -repo repoprod1

仮想マシン・テンプレートの管理方法

これらのトピックでは、OAKCLIを使用して、Oracle Database Appliance仮想化プラットフォームで仮想マシン・テンプレートをインポート、構成、変更およびチェックする方法について説明します。

仮想マシン・テンプレートの管理について

仮想マシン・テンプレートは、Oracle Database Appliance仮想化プラットフォームにデプロイされている仮想マシンのソースとしてインポートして構成します。

共有リポジトリの作成が完了したら、共有リポジトリのいずれかにテンプレートをインポートします。 共有リポジトリを作成していない場合は、いずれかのローカル・ノード上のローカル・リポジトリにテンプレートをインポートします。

また、1つ以上のテンプレートを格納できるアセンブリをインポートできます。 共有リポジトリにテンプレートまたはアセンブリをインポートするときに、操作を実行するノードを選択します。 ノードは慎重に選択して、ノードの過負荷を避けてください。 リポジトリを作成すると、どちらのノードがインポートを実行するかに関係なく、リポジトリが両方のノードで利用できるようになります。

ローカル・ノードにインポートされたテンプレートでは、importコマンドで指定されたリポジトリ名を使用し、インポートを完了してストレージを提供する対象のノードを識別します。 ノード0上のローカル・リポジトリの名前はodarepo1、ノード1上のローカル・リポジトリの名前はodarepo2です。両方のローカル・リポジトリにテンプレートをインポートする場合は、第2ノードにテンプレートをインポートするときに異なるテンプレート名を指定する必要があります。

注意:

Oracle Database Appliance Virtualized Platformでテンプレートを直接作成またはクローン作成することはできません.Oracle Software Deliveryで使用可能なOracle VMテンプレートを使用する必要があります。

複数のテンプレートが格納されたアセンブリをインポートすると、すべてのテンプレート名を一意に保つように、指定したテンプレート名が自動的に変更されます。 最初にインポートするテンプレートは、名前に数字1が追加されます。 2番目のテンプレートには2が追加され、追加されるテンプレートに3、4、5のように順に追加されていきます。

仮想マシン・テンプレートをインポートした後、OAKCLIコマンドを使用してテンプレートをカスタマイズできます。

注意:

次のURLで仮想マシン・テンプレートを探します。

http://edelivery.oracle.com/linux

仮想マシン・テンプレートの一覧表示

oakcli show vmtemplate コマンドを使用して、仮想マシン・テンプレートの詳細を表示します。

oakcli show vmtemplate コマンドは、各仮想マシン・テンプレートの名前およびリポジトリと、テンプレートから作成された仮想マシンにOracle Database Appliance仮想化プラットフォームによって割り当てられるデフォルトのCPUの数およびメモリー容量を表示します。

仮想テンプレートsample1_odarepo1の情報を表示します。

oakcli show vmtemplate sample_odarepo1
Resource: sample1_odarepo1
        CPUPriority     :       100           
        Disks           :       |file:/OVS/Repositories/odarepo1/Te
                                mplates/otml_sample1_odarepo1/Syste
                                m.img,xvda,w||file:/OVS/Repositorie
                                s/odarepo1/Templates/otml_sample1_o
                                darepo1/u01.img,xvdb,w|
        Domain          :       XEN_PVM       
        Keyboard        :       en-us         
        MaxMemory       :       2048          
        MaxVcpu         :       2             
        Memory          :       2048          
        Mouse           :       OS_DEFAULT    
        Name            :       sample1_odarepo1
        Networks        :       |bridge=priv1||bridge=net1||bridge=
                                net2|         
        NodeNum         :       0             
        OS              :       OL_5          
        ProcessorCap    :       100           
        RepoName        :       odarepo1      
        Vcpu            :       2 

仮想マシン・テンプレートのインポート

oakcli import vmtemplateコマンドを使用して、Oracle Database Appliance仮想化プラットフォームで仮想マシン・テンプレートおよびアセンブリをインポートします。

外部テンプレート・リポジトリのアセンブリ・ファイルに格納されている仮想マシン・テンプレートおよびアセンブリがインポートされます。 共有リポジトリの名前を使用し、テンプレートまたはアセンブリをインポートするノードを識別するには-node句を指定します。

仮想マシン・テンプレートおよびアセンブリは、ファイルのソースを特定するURLを使用して、リモート・リポジトリから直接インポートできます。 リモート・コピー・コマンドの使用を選択してリモート・リポジトリからDom0 /OVSディレクトリにファイルをコピーし、ダウンロード済ファイルを特定するパスおよび名前を使用してファイルをインポートします。

注意:

ローカル・リポジトリにテンプレートまたはアセンブリをインポートするときは、-nodeオプションを使用しないでください。 ターゲット・ノードは、リポジトリの名前で暗黙的に決まります。

構文

oakcli import vmtemplate vmtemplatename -files image_files | -assembly assembly_file -repo repo_name [- node 0 | 1 ]

例13-13 外部リポジトリ・アセンブリ・ファイルからの仮想マシン・テンプレートのインポートの例

oakcli import vmteplate vmtemplatename -assembly assembly_file -repo repo_nameコマンドを使用して、外部テンプレート・リポジトリのアセンブリ・ファイルに仮想マシン・テンプレートをインポートします。

この例では、URL 'http://example.com/assemblies/OEL6/OVM_OL6U1_x86_PVHVM.ova'にある外部テンプレート・リポジトリ・アセンブリ・ファイルのテンプレートを、odarepo1という名前の新しいリポジトリ内のOL6U1という名前の新しいテンプレートにインポートします :

oakcli import vmtemplate OL6U1 -assembly 'http://example.com/assemblies/OEL6/OVM_OL6U1_x86_PVHVM.ova' -repo odarepo1

URLを囲む一重引用符に注意してください。

例13-14 Dom0からの仮想マシン・テンプレートのインポート例

このコマンド構文を使用して、仮想マシン・テンプレートをDom0上の/OVSファイル・システムからインポートします。

oakcli import vmtemplate vmtemplatename -files image_files -repo repo_name

この例では、Dom0/OVS からOVM_OL5U7_X86_64_PVM_10GB.tgzという名の仮想マシン・テンプレートをodarepo1リポジトリにインポートします。 テンプレートには、OL5U7という名前が割り当てられます。

oakcli import vmtemplate OL5U7 -files /OVS/OVM_OL5U7_X86_64_PVM_10GB.tgz -repo odarepo1

例13-15 外部リポジトリURLを使用した仮想マシン・テンプレートのインポート例

oakcli import vmtemplate vmtemplatename -files image_files -repo repo_name コマンドを使用して、外部テンプレート・リポジトリから仮想マシン・テンプレート・ファイルをインポートします。

この例では、URL 'http://example.com/assemblies/OEL6/OVM_OL6U1_x86_PVHVM.tgz'にある外部テンプレート・リポジトリからOVM_OL5U7_X86_64_PVM_10GB.tgzという名の仮想マシン・テンプレートをインポートします。URLを囲んでいる一重引用符に注意してください。 テンプレートには名前OL5U7が割り当てられ、odarpo1リポジトリにインポートされます。

oakcli import vmtemplate OL5U7 -files 'http://example.com/assemblies/OEL6/OVM_OL6U1_x86_PVHVM.tgz'-repo odarepo1

仮想マシン・テンプレートの構成

oakcli configure vmtemplateコマンドを使用して、Oracle Database Appliance仮想化プラットフォームで仮想マシン・テンプレートを構成します。

これらの値は、このテンプレートからクローニングされるすべての仮想マシンのデフォルト値になります。 それらはすべて、oakcli configure vmコマンドで後から変更できます。

myol5u7_10gbという名の仮想マシン・テンプレートの値を設定します。

oakcli configure vmtemplate myol5u7_10gb -vcpu 2 -maxvcpu 4 -cpucap 40
-memory 1536M -maxmemory 2G -os OTHER_LINUX
  • -vcpu 2は、仮想マシンの起動時に割り当てられるCPUの数を最大2に設定します。

  • -maxvcpu 4は、仮想マシンに割り当てることができるCPUの最大数を4に設定します。

  • -cpucap 40は、仮想マシンに割り当てられるCPUの容量の最大比率を40%に設定します。

  • -memory 1536Mは、仮想マシンの起動時に割り当てられるメモリー容量を、最高1536MBに設定します。

  • -maxmemory 2Gは、仮想マシンに割り当てることができるメモリーの最大量を2 GBに設定します。

  • -os OTHER_LINUXは、仮想マシンにより使用されるオペレーティング・システムとしてOTHER_LINUXを設定します。

仮想マシン・テンプレートの構成済値の表示

oakcli show vmtemplateコマンドを使用して、仮想マシン・テンプレートの構成可能オプションの値を表示します。

仮想テンプレートsample1_odarepo1の情報を表示します。

oakcli show vmtemplate sample_odarepo1
Resource: sample1_odarepo1
        CPUPriority     :       100           
        Disks           :       |file:/OVS/Repositories/odarepo1/Te
                                mplates/otml_sample1_odarepo1/Syste
                                m.img,xvda,w||file:/OVS/Repositorie
                                s/odarepo1/Templates/otml_sample1_o
                                darepo1/u01.img,xvdb,w|
        Domain          :       XEN_PVM       
        Keyboard        :       en-us         
        MaxMemory       :       2048          
        MaxVcpu         :       2             
        Memory          :       2048          
        Mouse           :       OS_DEFAULT    
        Name            :       sample1_odarepo1
        Networks        :       |bridge=priv1||bridge=net1||bridge=
                                net2|         
        NodeNum         :       0             
        OS              :       OL_5          
        ProcessorCap    :       100           
        RepoName        :       odarepo1      
        Vcpu            :       2 

仮想マシン・テンプレート構成の変更

仮想マシン・テンプレートを変更するには、oakcli modify vmtemplateコマンドを使用します。

記憶域リポジトリに仮想マシン・テンプレートをインポートした後で、oakcli show vmtemplateコマンドでテンプレート構成パラメータを調べます。 特定の要件に合せてテンプレートを再構成する必要がある場合、oakcli configure vmtemplateコマンドを使用します。 これは、単一のテンプレートから同じ特性を持つ複数の仮想マシンをデプロイする場合に使用すると便利です。 仮想マシンを1つしかデプロイしない場合、または異なる特性の複数の仮想マシンをデプロイする場合は、テンプレートをデプロイした後で、oakcli configure vmコマンドを使用して必要な値を仮想マシンに設定します。

仮想マシン・テンプレートの構成に満足したら、oakcli modifyコマンドを使用して、新しいネットワークを仮想マシン・テンプレートに割り当てます。

gc_11g仮想マシン・テンプレートに割り当てられているネットワークをnet1ネットワークに置き換えます。

oakcli modify vmtemplate gc_11g -addnetwork net1

仮想マシン・テンプレートの削除

oakcli delete vmtemplateコマンドを使用して、仮想マシン・テンプレートを削除します。

以前に保存したテンプレートが不要になった場合は、そのテンプレートをリポジトリから削除できます。

myol6u_15gb3という名前の仮想マシン・テンプレートをOracle Database Appliance仮想化プラットフォームから削除します。

oakcli delete vmtemplate my0l6u_15gb3

テンプレートのクローンおよびスナップ・クローンの作成方法

クローンおよびスナップ・クローンの概要、およびそのクローンの作成に使用する手順については、これらのトピックを確認してください。

テンプレートのクローンおよびスナップ・クローンの作成について

Oracle Database Appliance仮想化プラットフォーム上で、インポートされたテンプレート(またはアセンブリ)から、または既存の仮想マシンから仮想マシンを作成するか、cloneを作成できます。

クローンおよびスナップ・クローンは、新しいデータベースをテストおよび開発のシステムにプロビジョニングおよびクローニングする効果的な方法の1つです。 これはRMANスクリプト、またはその他のクローニング方法を使用するより効果的な作成方法です。

テンプレートまたはアセンブリの完全なクローンとして仮想マシンを作成するか、スナップ・クローンとして仮想マシンを作成できます。 スナップ・クローンには仮想マシンで定義したメタデータのみが含まれています。

スナップ・クローンの作成は、テンプレートまたはアセンブリ全体のクローニングと比較して、非常に高速な処理です。 ただし、スナップ・クローンの内容を更新する場合は、記憶域の要件を確認する必要があります。 スナップ・クローンの変更が共有仮想ディスクで行われないかぎり、元の内容と変更された内容の両方を保持するため、クローン用に追加の記憶域が必要になります。

OAKCLIを使用したテンプレートのクローニング

oakcli clone vmコマンドを使用して、Oracle Database Appliance仮想化プラットフォームで仮想ディスクをアタッチしている仮想マシンをクローニングします。

仮想ディスクがアタッチされている仮想マシンをクローニングする場合、仮想マシンのクローンには、ローカルにアタッチされた仮想ディスクの内容が含まれますが、共有モードでアタッチされた仮想ディスクは含まれません。 必要に応じて、別のステップで、クローニングされた仮想マシンに必要な仮想ディスクをクローニングできます。

oakcli clone vmコマンドを使用して、仮想マシン・テンプレートから仮想マシンを作成します。 -repo nameオプションを使用して、共有リポジトリの名前を指定します。ここで、nameはリポジトリの名前です。 -node numberオプションを使用して、クローニング・プロセスを実行するノードを指定するための句を指定します。ここで、numberはノードの番号です。

注意:

-nodeオプションは、クローニング・アクティビティが実行されるノードを指定します。 このノード値は、仮想マシンのデフォルトの起動ノードを割り当てません。 oakcli configure vmコマンドを使用して、起動の割当てを設定します。

例13-16 仮想マシン・テンプレートから仮想マシンのクローンを作成する例

この例では、Node 0repo2という名前の共有リポジトリにあるmyol6u_15gb1という名前の仮想マシン・テンプレートから、myol6u_testという名前の仮想マシンを作成します。

oakcli clone vm myol6u_test -vmtemplate myol6u_15gb1 -repo repo2 -node 0

OAKCLIを使用したテンプレートからのスナップ・クローンの作成

oakcli clone vmコマンドを使用して、Oracle Database Appliance仮想化プラットフォームで、仮想マシン・テンプレートのスナップ・クローンを作成します。

-vmtemplate nameオプションを使用して、クローニングする仮想マシン・テンプレートの名前を指定します。ここで、nameはそのテンプレートの名前です。 -snapオプションを使用して、スナップ・クローンの作成を指定します。

例13-17 仮想マシン・テンプレートからスナップ・クローンを作成する例

この例では、myol15u_snapという名前のスナップ・クローンを、myol5uという名前の仮想マシン・テンプレートから作成します。

oakcli clone vm myol15u_snap -vmtemplate myol5u -snap

OAKCLIを使用した既存の仮想マシンのスナップ・クローンの作成

oakcli clone vmコマンドを使用して、Oracle Database Appliance仮想化プラットフォームで既存の仮想マシンのスナップ・クローンを作成します。

-vm nameオプションを使用して、クローニングする仮想マシンの名前を指定します。ここで、nameは仮想マシンの名前です。 -snapオプションを使用して、スナップ・クローンの作成を指定します。

例13-18 既存の仮想マシンからスナップ・クローンを作成する例

この例では、myol15u_test1という名前のスナップ・クローンを、myol15u_testという名前の仮想マシンから作成します。

oakcli clone vm myol15u_test1 -vm myol15u_test1 -snap

Oracle Database Appliance仮想化プラットフォームでの仮想マシンの管理方法

仮想マシンの概要、および仮想マシンの作成と管理の手順についてこれらのトピックを確認します。

Oracle Database Appliance仮想化プラットフォームでの仮想マシンの管理について

ODA_BASEで稼働しているデータベースとは無関係にその他のワークロードを実行するには、Oracle Database Appliance仮想化プラットフォームに仮想マシンをデプロイします

OAKCLIコマンドを使用して、仮想マシンを作成および管理します(起動、停止、グラフィカル・ユーザー・インタフェース(GUI)用のコンソールのオープンなど)。

注意:

仮想ネットワーク・コンピューティング(VNC)セッションを使用して、仮想マシンのGUIコンソールを開くことができます。

アクティブな仮想マシンを再構成できます。 ただし、仮想マシンを停止して再起動するまで、変更内容は有効になりません。 すべての仮想マシンの概要情報や、単一仮想マシンの構成に関する詳細情報を表示できます。 特定の仮想マシンが不要になった場合は、記憶域を回復するために仮想マシンを削除します。

注意:

ゲスト仮想マシンの次のパラメータのデフォルト設定を変更しないでください:

  • xen_blkfront.max: 最大間接記述子、デフォルト32

  • xen_blkback.max_ring_page_order: 共有リング・ページ順、デフォルトは0

リポジトリ内の仮想マシンの一覧表示

既存のすべての仮想マシンの詳細を表示するか、特定の仮想マシンの詳細を表示するには、oakcli show vmコマンドを使用します。

このコマンドでは、各仮想マシンの名前、リポジトリおよび現在の状態(オンラインまたはオフライン)が表示されます。 出力には、Oracle Database Appliance仮想化プラットフォームによって各仮想マシンに割り当てられるデフォルトのCPUの数およびメモリー容量も含まれます。

  • oakcli show vmコマンドを使用して、すべての仮想マシンの仮想マシン名、メモリーおよびvCPU割り当て、ステータス、仮想ディスク、およびリポジトリ名を表示します。
    oakcli show vm
    
    NAME                    MEMORY          VCPU         STATE           REPOSITORY
    ----                    ------          ----         -----           ----------
    sample5_odarepo1          2048             2         OFFLINE         odarepo1      
    sample6_odarepo1          2048             2         OFFLINE         odarepo2      
    test1_odarepo1            2048             2         OFFLINE         odarepo1      
    test2_odarepo2            2048             2         OFFLINE         odarepo2      
    vm1_odarepo1              4096             4         ONLINE          odarepo1      
    vm2_odarepo2              2048             2         OFFLINE         odarepo2      
    win_vm1                   1500             1         ONLINE          odarepo1
  • 特定の仮想マシンに関する情報を表示するには、oakcli show vm virtual machine nameコマンドを使用します。

    たとえば、次のコマンドを使用して、vm1_odarepo1仮想マシンの詳細を表示します:

    oakcli show vm vm1_odarepo1
    Resource: vm1_odarepo1
            AutoStart       :       restore       
            CPUPriority     :       100           
            Disks           :       |file:/OVS/Repositories/odarepo1/Vi
                                    rtualMachines/vm1_odarepo1/System.i
                                    mg,xvda,w||file:/OVS/Repositories/o
                                    darepo1/VirtualMachines/vm1_odarepo
                                    1/u01.img,xvdb,w|
            Domain          :       XEN_PVM       
            ExpectedState   :       online       
            FailOver        :       false
            IsSharedRepo    :       false
            Keyboard        :       en-us         
            MaxMemory       :       3000           
            MaxVcpu         :       4             
            Memory          :       4096          
            Mouse           :       OS_DEFAULT    
            Name            :       vm1_odarepo1  
            Networks        :       |mac=00:21:F6:00:00:E4|         
            NodeNum         :       0             
            NodeNumStart    :       
            OS              :       OL_5          
            PrivateIP       :       None          
            ProcessorCap    :       100           
            RepoName        :       odarepo1      
            State           :       Online        
            TemplateName    :       otml_sample1_odarepo1
            Vcpu            :       4             
            cpupool         :       twocpu        
            vncport         :       5901              

仮想マシンの作成

インポートされたテンプレートを複製する、構成済みの仮想マシンを含むアセンブリを複製する、または既存の仮想マシンを複製することにより、仮想マシンを作成します。

仮想マシンは、仮想リソースが与えられたコンピュータ・システムのソフトウェア・エミュレーションであり、独立して起動、停止、再起動が可能です。

テンプレートをクローンすると、テンプレートはアーカイブとしてインポートされ、展開され、ディスク・イメージを含む仮想マシン構成ファイルとして保存されます。 ディスク・イメージがクローンされ、仮想マシンの形式で新しいインスタンスが作成されます。

テンプレートまたはアセンブリの完全なクローンを作成する代わりに、仮想マシン用に定義されたメタデータのみを含むスナップ・クローンを作成できます。

仮想マシンの構成

oakcli configure vmコマンドを使用して、Oracle Database Appliance仮想化プラットフォームで仮想マシンを構成します。

デフォルトで仮想マシンを実行するノードを指定するには-prefnode 句を、(起動時またはすでにアクティブであるとき)優先ノードが使用不可能な場合に仮想マシンで他のノードを使用するかどうかを指定するには-failover句を指定します。

現在稼働している仮想マシンを再構成した場合、変更は仮想マシンを停止して再起動するまで有効になりません。

表13-1 仮想マシンの構成に使用できるパラメータ

パラメータ 説明

-vcpu 2

起動時に仮想マシンに割り当てられるCPU数として、2を設定します

-cpuprio 150

CPUアクセスの優先度を150に設定します

-cpucap 20

仮想マシンに割り当てられるCPUの容量の最大比率を20%に設定します

-memory 1G

仮想マシンの起動時に割り当てられるメモリー容量を1GBに設定します

-cpupool linpool

仮想マシンに割り当てられるCPUプールに、linpoolを指定します

-keyboard en-us

仮想マシンにアクセスするために使用されるキーボード・タイプをen-usと定義します

-mouse USB_MOUSE

仮想マシンにアクセスするために使用されるマウス・タイプをUSBマウスと定義します

これらの値は、この仮想マシンの導出元となった仮想マシン・テンプレートの同じパラメータに割り当てられた値に優先します。 仮想マシンは、親テンプレートまたは構成コマンドのいずれにも定義されていないパラメータにデフォルト値を使用します。

注意:

CPU容量は、-cpupoolパラメータまたはdefault_unpinned_pool(仮想マシンが-cpupoolパラメータで構成されていない場合)によって仮想マシンに割り当てられたCPUプールによって制御されます。 -vcpuパラメータと-maxvcpuパラメータの値が割当済のCPUプール内のCPUの数より大きい場合は無視されます。

oakcli configureコマンドとパラメータを使用して、仮想マシンを構成します:

# oakcli modify vm  vmname parameters

例13-19 仮想マシンを構成する例

myol15uという仮想マシン内の特定のリソースの値を設定します:

oakcli configure vm myol5u
-vcpu 2 -cpuprio 150 -cpucap 20 -memory 1G 
-cpupool linpool -keyboard en-us -mouse USB_MOUSE

仮想マシンの起動および停止

oakcli start vmコマンドを使用して、Oracle Database Appliance Virtualized Platformで仮想マシンを開始し、oakcli stop vmコマンドを使用して仮想マシンを停止します。

注意:

現在稼働している仮想マシンを再構成した場合、変更は仮想マシンを停止して再起動するまで有効になりません。

外部での仮想マシンの構成

最初に、仮想マシンにキーと値のペアを渡して、Oracle VM Guest Additionsを使用して、仮想マシン・コンソールに接続しなくても、外部で仮想マシンを構成できます。

oakcli modify vm -sコマンドを使用して、仮想マシンにパラメータを渡します。

# oakcli modify vm  vmname -s 'key1:value1;key2:value2...'

次の例には、2つの値ペアが含まれています。

oakcli modify vm vmo16u3 -s 'com.oracle.linux.network.device.0:eth0;com.oracle.linux.network.ipaddr.0:192.1.2.18'

注意:

  • Oracle VM Guest Additionsの詳細は、「x86版Oracle VMユーティリティ・ガイド」「Oracle VMゲストの追加機能の使用」を参照してください。

  • 詳細は、ホワイトペーパーOracle Database Appliance: 仮想マシンの自動プロビジョニングを参照してください。

仮想マシン用の仮想マシン・コンソールのオープン

アクティブな仮想マシンの仮想マシン・コンソール・ウィンドウを開くには、oakcli show vmconsoleコマンドを使用

コンソールが正しく表示されない場合は、コンソールを閉じ、DISPLAY環境変数をモニターに適した値に設定した後、oakcli show vmconsoleコマンドを再実行します。

グラフィカル・ユーザー・インタフェース(GUI)バーチャル・マシン・コンソールではなく、OAKCLIコマンドラインからのアクセスを許可するように、仮想マシンを構成することもできます(oakcli modify vmコマンドと-sパラメータを使用)。

仮想machine.Openのコンソールを開くには、oakcli show vmconsole vm nameを使用します。aたとえば、次のコマンドを使用して、vm1_odarepo1という仮想マシンのコンソールを開きます:
oakcli show vmconsole vm1_odarepo1

新規仮想マシンのイメージの作成

oakcli clone vmコマンドを使用して、Oracle Database Appliance仮想化プラットフォーム上に、新しい仮想マシンのイメージを作成します。

デフォルトでは、このイメージは、テンプレートまたはクローニングする仮想マシンからコンテンツおよび構成情報を継承し、ソースと同じリポジトリに格納されます。 仮想マシンにローカル・リポジトリを使用している場合を除き、oakcli cloneコマンドに-node句を指定して、クローニング・プロセスを実行する必要があるノードを指定します。 構成メタデータのみを含むスナップ・クローンを作成するには、oakcli cloneコマンドに-snap句を指定します。

IPアドレスを使用した、eth0からのアクセスに対する仮想マシンの設定

仮想マシンのIPアドレスを使用してネットワーク・デバイス(eth0)を構成します。

次のコマンド・セットは、仮想マシンvmol6u3 (ovmdを持つ)をeth0インタフェースのIPアドレス192.168.16.51に構成し、rootパスワードを設定します。

oakcli clone vm vmol6u3 -vmtemplate ol6u3 -repo shrepo -node 0
oakcli modify vm vmol6u3 -addnetwork priv1
oakcli start vm vmol6u3
oakcli modify vm vmol6u3 -s 'com.oracle.linux.network.device.0:eth0'
oakcli modify vm vmol6u3 -s 'com.oracle.linux.network.onboot.0:yes'
oakcli modify vm vmol6u3 -s 'com.oracle.linux.network.bootproto.0:static'
oakcli modify vm vmol6u3 -s 'com.oracle.linux.network.ipaddr.0:192.168.16.51'
oakcli modify vm vmol6u3 -s 'com.oracle.linux.network.netmask.0:255.255.255.0'
oakcli modify vm vmol6u3 -s 'com.oracle.linux.root-password:password'

仮想マシンに対する仮想ディスクの追加または削除

仮想マシンから仮想ディスク(vdisk)を追加または削除するには、oakcli modify vmコマンドを使用します。

使用しないでください -attachvdiskまたは-addnetwork-deletenetwork、または -s key:valueペアのパラメータを使用して-detachvdiskオプションを指定します。

  • 仮想マシンを仮想マシンにアタッチするには、仮想ディスクに名前を付ける-attachvdisk句とともにoakcli modify vm vm_nameコマンドを使用します。
    oakcli modify vm vm_name -attachvdisk vdisk_name
  • 仮想マシンを仮想マシンから切り離すには、仮想ディスクに名前を付ける-detachvdisk句とともにoakcli modify vm vm_nameコマンドを使用します。
    oakcli modify vm vm_name -detachvdisk vdisk_name

仮想マシンの共有リポジトリからの削除

oakcli delete vmコマンドを使用して仮想マシンを削除し、ストレージとリソースを再利用します。

特定の仮想マシンでの使用が終了したら、マシンを削除します。 マシンを削除するときに、仮想マシンを削除するOracle Database Applianceノードを指定できます。 このオプション・パラメータが指定されない場合、両方のノードから仮想マシンが削除されます。

  • ノード1から仮想マシンを削除します。
    たとえば、ノード1からovu22仮想マシンを削除するには、次のコマンドを実行します。
    oakcli delete vm ovu22 -server 1
  • 両方のノードから仮想マシンを削除します。
    たとえば、次のコマンドを実行して、両方のノードからovu22仮想マシンを削除します。
    oakcli delete vm ovu22

Oracle Database Applianceのライブ・マイグレーションの実行

システムがライブ・マイグレーションの要件を満たしている場合は、oakcli migrate vmコマンドを使用して、現在実行中のノードから別のノードに仮想マシンを移行できます。

ライブ・マイグレーションは、仮想マシンで実行しているクライアントやアプリケーションを切断することなく、稼働している仮想マシンを別の物理マシンに移動するプロセスを指します。 仮想マシンのメモリー、記憶域およびネットワーク接続は、元のホスト・マシンから移動先に転送されます。

ライブ・マイグレーションを実行する前に、次の要件を満たすことが必要です。

  • 仮想マシンは共有リポジトリ上にある必要があり、リポジトリは両方のノード上でオンラインである必要があります。

  • 仮想マシンが動作している必要があります。

  • 以降が成功するには、宛先ホストに、必要なリソース(メモリー、CPUなど)がある必要があります。

  • 宛先ホストには、移行する仮想マシンのCPUプールと同名のCPUプールが必要です。

oakcli migrate vm vmnameコマンドを使用して、現在実行中のノードから別のノードに仮想マシンを移行します。vmnameは、移行する仮想マシンの名前です。

このコマンドを実行する場合、仮想マシンがオンラインで、応答している必要があり、共有リポジトリは両方のノード上でオンラインである必要があります。 仮想マシンが移行の過程にある場合、OAKCLIでは仮想マシンの状態がMIGRATINGと表示されます。

例13-20 現在実行しているノードから別のノードへの仮想マシンの移行の例

この例は、myvm1 という名前の仮想マシンを移行します。

# oakcli migrate vm myvm1 

ドライバ・ドメイン仮想マシンを作成する方法

パフォーマンスを向上させるには、ドライバ・ドメイン仮想マシンを使用します。

ドライバ・ドメイン仮想マシンについて

ゲスト仮想マシン(VM)がDom0の代わりにODA_BASEを使用して仮想ディスクにアクセスできるようにすることで、ドライバ・ドメイン仮想マシンを使用してパフォーマンスを向上させます。

ドライバ・ドメインは、特定のハードウェアに対して特別な権限および責務を持つユーザー・ドメインです。 ドライバ・ドメイン・オプションを使用すると、新しく作成された仮想ディスクがODA_BASEから直接ゲスト仮想マシンにマウントされます。 このオプションは、ゲスト仮想マシンがDom0 の代わりにODA_BASEを使用して仮想ディスクにアクセスできるようにすることで、I/Oのパフォーマンスを向上させます。

ドライバ・ドメイン機能は非システム・ディスクに適用されます。 ドライバ・ドメイン・モードで仮想マシンを作成すると、新しいvDiskがドライバ・ドメイン・モードで追加されます。 新しく作成された仮想ディスクがODA_BASEから直接ゲスト仮想マシンにマウントされます。 仮想マシンがドライバ・ドメイン・モードで構成されているかどうかを確認するには、oakcli show vm vmnameコマンドを使用します。 仮想マシンがドライバ・モードの場合、DriverDomain属性の出力はTRUEになります。

仮想ディスクおよびvm.cfgファイルは次のディレクトリに格納されます。

  • Dom0 /Repositories/vm_repo_name/.ACFS/snaps/vm_name/VirtualMachines/vm_name

  • ODA_BASE/app/sharedrepo/vm_repo_name/.ACFS/snaps/vm_name/VirtualMachines/vm_name

ドライバ・ドメインはゲスト仮想マシンに仮想ディスクを追加する場合のみ機能します。 仮想マシンがドライバ・ドメイン・モードの場合、対応する仮想マシン構成ファイルvm.cfgには、次のディスク・エントリがあります:

-driverdomain が指定されると、クローンされた仮想マシンはドライバ・ドメインで構成されます。 対応する仮想マシン構成ファイル、vm.cfgには次のディスク・エントリがあります。

disk = [u'file:/OVS/Repositories/repo5/.ACFS/snaps/vm10/VirtualMachines/

vm10/System.img,xvda,w',

u'file:/u01/app/sharedrepo/repo5/.ACFS/snaps/

vm10/VirtualMachines/vm10/u01.img,xvdb,w,oakDom1']

xvdaブート・ディスクを除き、すべてのディスクにoakDom1からのパス、つまりodabaseがあります。

ドライバ・ドメイン仮想マシンでは、次のゲストOSがサポートされています:

  • 最新のUnbreakable Enterprise Kernel 2 (UEK2)またはUnbreakable Enterprise Kernel 3 (UEK3)を備えたOracle Linux。

  • Microsoft Windows with Oracle VM Windows PV Driver 3.4.1。 Oracle VM Windows PV Driver 3.4.1リリースは、My Oracle Supportでパッチ番号23346086としてダウンロードできます。

  • Oracle Solaris 11.3以降x86。

テンプレートからドライバ・ドメイン仮想マシンを作成

仮想マシン・テンプレートからドライバ・ドメイン仮想マシンを作成します。

いくつかのオプションを使用して、クローンの作成に使用するテンプレートを作成またはインポートできます。 必要な仮想マシン・テンプレート、テンプレートをインポートするメソッド、およびテンプレートの命名規則を決定します。

この例では、 Dom0から仮想マシン・テンプレートをインポートし、そのテンプレートを使用してドライバ・ドメイン仮想マシンを作成します。 仮想マシン・イメージは、仮想マシン・テンプレートmyol6u_15gb1 (OL5U7)からmyol6u_test myol6u_ ol5u7_vm_alphaという名前になります.myol6u_15gb1 (OL5U7)は、ドライバ・ドメイン・モードでノード0のrepo2 (odarepo1)という名前の共有リポジトリに格納されます。

  1. oakcli import vmtemplateコマンドを使用して、仮想マシン・テンプレートをインポートし、テンプレートに名前を付けます。

    たとえば、仮想マシン・テンプレートOVM_OL5U7_X86_64_PVM_10GB.tgzDom0/OVSディレクトリからドライバ・ドメイン・モードのノード0のodarepo1共有リポジトリにインポートし、テンプレート・ファイル OL5U7に名前を付けます。

    oakcli import vmtemplate OL5U7 -files /OVS/OVM_OL5U7_X86_64_PVM_10GB.tgz -repo odarepo1
  2. oakcli clone vmコマンドを使用して、ドライバ・ドメインを使用するクローンを作成します。

    たとえば、ノード0のodarepo1 という共有リポジトリに格納されているOL5U7という名前の仮想マシン・テンプレートからvm1_ol5u7という名前の仮想マシン・イメージを作成します:

    仮想マシンをクローン
    oakcli clone vm vm1_ol5u7 -vmtemplate OL5U7 -repo odarepo1 -node 0 -driverdomain
  3. oakcli show vm コマンドを実行して、仮想マシンがドライバ・ドメイン・モードで構成されていることを確認します。
    仮想マシンがドライバ・モードの場合、DriverDomain属性の出力はTRUEになります。
    oakcli show vm vm1_ol5u7
  4. 仮想マシンを起動するには、oakcli start vmコマンドを使用します。

    たとえば、ノード0で仮想マシンvm1_ol5u7を起動します。

    oakcli start vm vm1_ol5u7 -node 0

仮想マシンからドライバ・ドメイン仮想マシンへの変換

パフォーマンスを向上させるために、ゲスト仮想マシンをドライバ・ドメイン仮想マシンに変換します。

Dom0を使用する既存の仮想マシンを複製して、Dom0の代わりにドライバ・ドメインODA_BASEを使用するクローン仮想マシンを作成することができます。

この例では、仮想マシンvm-dom0_ol5u7はDom0上にあり、ドライバ・ドメイン仮想マシンではありません。 この例では、ドライバ・ドメインODA_BASEを使用するvm-dd1_ol5u7という名前のクローン仮想マシンを作成します。

  1. 仮想マシンをシャットダウンするには、oakcli stopコマンドを使用します。
    たとえば、vm-dom0_ol5u7という名前の仮想マシンを停止します。 仮想マシンをシャットダウンすると、仮想マシン(VM)および仮想ディスク(VDisk)からの一貫性のあるデータが確実に取得されます。
    oakcli stop vm vm2_ol5u7 -force
  2. vm-dom0_ol5u7から仮想ディスク(vdisk)を切り離す
  3. oakcli clone vmコマンドを使用して、新しい仮想マシンを元のものからクローンします。
    vm-dom0_ol5u7という名前の元の仮想マシンから、vm-dd1_ol5u7という名前の新しい仮想マシンを作成します。 ソース仮想マシンのスナップショットを作成するには、-snapオプションを使用します。 元の仮想マシンはドライバ・ドメイン・マシンではないため、-forceおよび-driverdomain オプションを使用して、ドライバ・ドメインを使用するクローン仮想マシンを作成します。
    oakcli clone vm vm-dd1_ol5u7 -vm vm-dom0_ol5u7 -snap -force -driverdomain
  4. ステップ2でソース仮想マシンから切り離した仮想ディスク(vdisk)を新しいドライバ・ドメイン仮想マシンにアタッチします。
    vdiskをアタッチすると、vm.cfgにドライバ・ドメイン機能を持つディスク情報が確実に格納されます。
  5. oakDom1が新しいvm.cfgの仮想ディスクであることを確認します。
  6. oakcli show vmを実行して、新しく作成された仮想マシンがドライバ・ドメイン・モードで構成されていることを確認します。
    仮想マシンvm-dd1_ol5u7がドライバ・ドメイン・モードの場合、DriverDomain属性の出力はTRUEになります。
    oakcli show vm vm-dd1_ol5u7
  7. 仮想マシンを起動するには、oakcli start vmコマンドを使用します。

    たとえば、ノード0で仮想マシンvm-dd1_ol5u7を起動します。

    oakcli start vm vm–dd1_ol5u7 -node 0

ルート・ディスクをドライバ・ドメイン・ディスクに変換

ゲスト仮想マシン(ゲストVM)のルート・ディスクをドライバ・ドメインとして設定し、新しいディスクをブート・ドライバとして作成します。

この例では、既存のゲスト仮想マシンをドライバ・ドメイン・ゲストVMとしてクローンし、OL6U7_x86_64_PVHVMテンプレートを使用してゲストVMを作成し、ブート・ドライバ用の新しいディスクを作成します。

ドライバ・ドメインを使用すると、ゲストVMディスクのIOパフォーマンスが向上します。ただし、ドライバ・ドメインは、ブート・ディスクであるゲストVM仮想ディスクには適用されません。 ブート・ディスクは一般的にルート・ディスクであるため、新しいディスクをブート・ドライバとして作成する必要があります。

ゲスト仮想マシンを作成するには、既存のゲストを複製するか、Dom0の /OVSディレクトリにあるOL6U7_x86_64_PVHVMまたはOVM_OL5U7_X86_64_PVM_10GB.tgzなどのテンプレートのいずれかを使用します。

ドライバ・ドメインを使用するには、少なくともOracle Database Applianceバージョン12.1.2.7.0が必要です。

この例では、元のOL6U7仮想マシン内のディスクのレイアウトを次に示します:

- boot/root disk '/dev/xvda' (echo -e "p" | fdisk /dev/xvda):
Device Boot Start End Blocks Id System
/dev/xvda1 * 2 503 514048 83 Linux
/dev/xvda2 504 11264 11019264 83 Linux
/dev/xvda3 11265 15360 4194304 82 Linux swap / Solaris
- u01 disk '/dev/xvdb' (echo -e "p" | fdisk /dev/xvdb):
Device Boot Start End Blocks Id System
/dev/xvdb1 1 13054 104856223+ 83 Linux

/etc/fstabは次のとおりです:

# cat /etc/fstab
UUID=b072e1e9-05a9-4544-a4dd-b15ba49cea2f / ext4 defaults 1 1
UUID=301e09e2-78e4-47d6-b501-d4f1098b419d /boot ext4 defaults 1 2
UUID=39e5a125-a1d8-48f4-9e81-f9e89b4dd51b swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
UUID=770078eb-c083-4d52-81bf-e026ab3f3fa7 /u01 ext4 defaults 1 2

df -hは次のとおりです:

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda2 11G 814M 8.9G 9% 
/tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/xvda1 479M 51M 399M 12% /boot
/dev/xvdb1 92G 55G 33G 63% /u01
  1. ゲストVMをドライバ・ドメイン・ゲストVMとしてクローンします。
    仮想マシンをクローンするには、次のいずれかのコマンドを使用できます:
    • oakcli clone vm vm_name -vmtemplate template_name -repo repo_name [-node 0|1] [-driverdomain]
    • oakcli clone vm vm_name -vmtemplate src_vmtempl_name -snap [-driverdomain]
    • oakcli clone vm vm_name -vm src_vm_name -snap [-force] [-driverdomain]

    注意:

    スナップショットを作成する前に仮想マシンを停止する必要があります。

    たとえば、OL6U7_x86_64_PVHVMソースVMテンプレートからOL6U7という名前のドライバ・ドメイン・ゲストVMを作成します。 -snapオプションを使用して、ソース仮想マシンのスナップショットを作成することを指定し、-driverdomainオプションを使用して、新しい仮想マシンがドライバ・ドメインを使用することを示します。

    oakcli clone vm OL6U7 -vm OL6U7_x86_64_PVHVM -snap -driverdomain
  2. 新しいブート仮想ディスクを作成します。
    dd if=/dev/zero of=/u01/app/sharedrepo/repo name/.ACFS/snaps/vm_name/VirtualMachines/vm_name/virtual diskfile name.img oflag=direct count=0 bs=1M seek=new size in MB

    たとえば、odarepo1リポジトリにあるOL6U7仮想マシンのnewbootという名前の500 MBのブート仮想ディスクを作成します:

    # dd if=/dev/zero of=/u01/app/sharedrepo/odarepo1/.ACFS/snaps/OL6U7/VirtualMachines/OL6U7/newboot.img oflag=direct count=0 bs=1M seek=500
  3. vm.cfgファイルを編集して、新しいブート・ディスクをゲストVMにアタッチします。
    1. vm.cfgファイルに移動します。
      /u01/app/sharedrepo/vm repo/.ACFS/snaps/vm name/VirtualMachines/vm name/vm.cfg

      たとえば、OL6U7仮想マシンはodarepo1リポジトリにあります:

      /u01/app/sharedrepo/odarepo1/.ACFS/snaps/OL6U7/VirtualMachines/OL6U7/vm.cfg
    2. diskパラメータに新しいディスク・エントリを追加します。
      disk = ['file:virtual disk file path,virtual device,r/w option']

      たとえば、odarepo1リポジトリにあるOL6U7仮想マシン用のnewboot仮想ディスクを追加します。

      disk =
      [u'file:/OVS/Repositories/odarepo1/.ACFS/snaps/OL6U7/VirtualMachines/OL6U7/15f96d92a66c4b808035116ab6348d0d.img,xvda,w',
      u'file:/u01/app/sharedrepo/odarepo1/.ACFS/snaps/oakvdk_ol6u7_u01/VirtualDisks/oakvdk_ol6u7_u01,xvdb,w,oakDom1',
      u'file:/u01/app/sharedrepo/odarepo1/.ACFS/snaps/oakvdk_ol6u7_bootdsk/VirtualDisks/oakvdk_ol6u7_bootdsk,xvdc,w,oakDom1']
      (...)
      

      次の例は、newboot仮想ディスクを示しています:

      disk =
      [u'file:/OVS/Repositories/odarepo1/.ACFS/snaps/OL6U7/VirtualMachines/OL6U7/15f96d92a66c4b808035116ab6348d0d.img,xvda,w',
      u'file:/u01/app/sharedrepo/odarepo1/.ACFS/snaps/oakvdk_ol6u7_u01/VirtualDisks/oakvdk_ol6u7_u01,xvdb,w,oakDom1',
      u'file:/OVS/Repositories/odarepo1/.ACFS/snaps/OL6U7/VirtualMachines/OL6U7/newboot.img,xvdc,w']
      (...)
  4. ゲストVMを停止して再起動します。
    oakcli stop vm vm_name
    oakcli start vm vm_name

    たとえば、OL6U7ゲストを停止して再起動します。

    oakcli stop vm OL6U7oakcli start vm OL6U7

    新しいディスクは、再起動後にゲストVMで使用できます。

  5. 新しいブート・ドライバでディスク・パーティションを作成します。

    新しい空の仮想ディスクが/dev/xvdcデバイスとして表示されます。

    # dmesg |grep xvdc
    blkfront: xvdc: flush diskcache: enabled; persistent grants: enabled; indirect descriptors: enabled;
    xvdc: unknown partition table

    fdiskコマンドを使用してディスクをパーティション化し、パーティションをブート可能にします。

    echo -e "n\np\n1\n\n\nt\n83\na\n1\nw" | fdisk /dev/xvdc
    Device     Boot Start End Blocks Id System
    /dev/xvdc1 *         1  63  506016 83 Linux
  6. 新しいブート・ディスク・パーティション/dev/xvdc1をフォーマットします。
    mkfs.ext4 /dev/xvdc1
  7. 新しいブート・ディスク・パーティションを設定してマウントし、単一のblockIDを取得します。
    mkdir /virtual diskfile namemount /dev/xvdc1 /virtual diskfile name
    1. 新しいブート・ディスクを設定してマウントします。
      mkdir /virtual diskfile namemount /dev/xvdc1 /virtual diskfile name

      たとえば、ディレクトリを作成し、newbootブート・ディスクをマウントします:

      mkdir /newbootmount /dev/xvdc1 /newboot
    2. 単一のblockIDを取得します。
      # blkid /dev/xvdc1/dev/xvdc1: UUID="3d7a177b-0fa0-4212-9c0c-c5554bb1817a" TYPE="ext4"
  8. 元のブート・コンテンツを新しいブート・ディスクにコピーします。
    cp -dpR /boot/* /virtual diskfile name

    たとえば、newbootという名前のディスクの場合:

    cp -dpR /boot/* /newboot
  9. 新しいブート・パーティションをアクティブなブート・パーティションにします
    umount /virtual diskfile nameumount /bootmount /dev/xvdc1 /boot
    umount /newbootumount /bootmount /dev/xvdc1 /boot
  10. 新しいブート・ディスクにGrubを設定します。
    /dev/xvdcが新しいブート・ディスク・デバイスである場合は、grubまたはgrub2コマンドを使用します。
    • Oracle Linux 6U7を使用している場合は、grubを使用します:
      # grub
      grub> device (hd0) /dev/xvdc
      grub> root (hd0,0)
      grub> setup (hd0)
      
    • Oracle Linux 7u2を使用している場合は、grub2を使用します:
      # grub2-mkconfig -o /boot/grub2/grub.cfg 
      # grub2-install /dev/xvdc

    次の例では、grubを使用しています:

    # grub
    Probing devices to guess BIOS drives. This may take a long time.
    GNU GRUB version 0.97 (640K lower / 3072K upper memory)
    [ Minimal BASH-like line editing is supported. For the first word, TAB
    lists possible command completions. Anywhere else TAB lists the possible
    completions of a device/filename.]
    grub> device (hd0) /dev/xvdc
    device (hd0) /dev/xvdc
    grub> root (hd0,0)
    root (hd0,0)
    Filesystem type is ext2fs, partition type 0x83
    grub> setup (hd0)
    setup (hd0)
    Checking if "/boot/grub/stage1" exists... no
    Checking if "/grub/stage1" exists... yes
    Checking if "/grub/stage2" exists... yes
    Checking if "/grub/e2fs_stage1_5" exists... yes
    Running "embed /grub/e2fs_stage1_5 (hd0)"... 27 sectors are embedded.
    succeeded
    Running "install /grub/stage1 (hd0) (hd0)1+27 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
    Done.
    grub> quit
    quit

    次の例では、grub2を使用しています:

    # grub2-mkconfig -o /boot/grub2/grub.cfg 
    Generating grub configuration file ... 
    Found linux image: /boot/vmlinuz-3.10.0-327.3.1.el7.x86_64 
    Found initrd image: /boot/initramfs-3.10.0-327.3.1.el7.x86_64.img 
    Found linux image: /boot/vmlinuz-3.8.13-118.2.1.el7uek.x86_64 
    Found initrd image: /boot/initramfs-3.8.13-118.2.1.el7uek.x86_64.img 
    Found linux image: /boot/vmlinuz-0-rescue-8f9df86c6d4c4640a01315a3aa93790e 
    Found initrd image: /boot/initramfs-0-rescue-8f9df86c6d4c4640a01315a3aa93790e.img 
    done
    
    # grub2-install /dev/xvdc 
    Installing for i386-pc platform. 
    Installation finished. 
    No error reported.
  11. /etc/fstabを新しいブート・デバイスで編集します。
    UUID=b072e1e9-05a9-4544-a4dd-b15ba49cea2f / ext4 defaults 1 1
    #UUID=301e09e2-78e4-47d6-b501-d4f1098b419d /boot ext4 defaults 1 2 <<--- Original boot device
    UUID=3d7a177b-0fa0-4212-9c0c-c5554bb1817a /boot ext4 defaults 1 2
    
    UUID=39e5a125-a1d8-48f4-9e81-f9e89b4dd51b swap swap defaults 0 0
    tmpfs /dev/shm tmpfs defaults 0 0
    devpts /dev/pts devpts gid=5,mode=620 0 0
    sysfs /sys sysfs defaults 0 0
    proc /proc proc defaults 0 0
    
    UUID=770078eb-c083-4d52-81bf-e026ab3f3fa7 /u01 ext4 defaults 1 2
  12. vm.cfgファイルを編集し、新しいブート仮想ディスクをリストの最初のディスクにします。

    注意:

    ドライバ・ドメイン・デバイスは、次のルート・パス/u01/app/sharedrepoを使用します。 ブート・ディスクのルート・パスは/OVS/Repositoriesです。

    vm.cfgファイルのディスク・セクションのエントリは、次のようになります:

    u'file:/OVS/Repositories/rcrepo/.ACFS/snaps/OL6U7/VirtualMachines/OL6U7/15f96d92a66c4b808035116ab6348d0d.img,xvda,w',
    <<-- original boot/root disk
    u'file:/u01/app/sharedrepo/rcrepo/.ACFS/snaps/oakvdk_ol6u7_u01/VirtualDisks/oakvdk_ol6u7_u01,xvdb,w,oakDom1',
    <<-- original u01 disku'file:/OVS/Repositories/rcrepo/.ACFS/snaps/OL6U7/VirtualMachines/OL6U7/newboot.img,xvdc,w'
    <<-- new boot disk

    新しいブート仮想ディスクnewbootをリストの最初のディスクに移動します。

    u'file:/OVS/Repositories/rcrepo/.ACFS/snaps/OL6U7/VirtualMachines/OL6U7/newboot.img,xvda,w'
    <<-- new boot disk
    u'file:/u01/app/sharedrepo/rcrepo/.ACFS/snaps/OL6U7/VirtualMachines/OL6U7/15f96d92a66c4b808035116ab6348d0d.img,xvdb,w,oakDom1
    <<-- original boot/root disku'file:/u01/app/sharedrepo/rcrepo/.ACFS/snaps/oakvdk_ol6u7_u01/VirtualDisks/oakvdk_ol6u7_u01,xvdc,w,oakDom1'
    <<-original u01 disk

    新しいブート・デバイス(xvdc)が最初のデバイス(ドライバ・ドメインではない)になり、xvdaが2番目のドメイン・ドライバ・デバイスになります。

    以下は、編集前のvm.cfgの例です:

    # cat vm.cfg
    vif = ['type=netfront,bridge=net1']
    name = 'OL6U7'
    extra = 'NODENAME=OL6U7'
    builder = 'hvm'
    cpus =
    '24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,6
    vcpus = 2
    memory = 8192
    cpu_cap = 0
    vnc = 1
    serial = 'pty'
    disk =
    [u'file:/OVS/Repositories/rcrepo/.ACFS/snaps/OL6U7/VirtualMachines/OL6U7/15f96d92a66c4b808035116ab6348d0d.img,xvda,w',
    u'file:/u01/app/sharedrepo/rcrepo/.ACFS/snaps/oakvdk_ol6u7_u01/VirtualDisks/oakvdk_ol6u7_u01,xvdb,w,oakDom1',
    u'file:/OVS/Repositories/rcrepo/.ACFS/snaps/OL6U7/VirtualMachines/OL6U7/newboot.img,xvdc,w']
    maxvcpus = 2
    maxmem = 8192

    以下は、新しいブート・デバイス(xvdc)が最初のデバイスであり、xvdaがドライバ・ドメイン・デバイスである編集後のvm.cfgの例です:

    # cat vm.cfg
    vif = ['type=netfront,bridge=net1']
    name = 'OL6U7'
    extra = 'NODENAME=OL6U7'
    builder = 'hvm'
    cpus =
    '24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,6
    vcpus = 2
    memory = 8192
    cpu_cap = 0
    vnc = 1
    serial = 'pty'
    disk =[
    [u'file:/OVS/Repositories/rcrepo/.ACFS/snaps/OL6U7/VirtualMachines/OL6U7/newboot.img,xvda,w',
    u'file:/u01/app/sharedrepo/u'file:/u01/app/sharedrepo/rcrepo/.ACFS/snaps/oakvdk_ol6u7_u01/VirtualDisks/oakvdk_ol6u7_u01,xvdc,w,oakDom1']
    maxvcpus = 2
    maxmem = 8192
  13. ゲストVMを停止して再起動
    oakcli stop vm vm_name
    oakcli start vm vm_name
    oakcli stop vm OL6U7
    oakcli start vm OL6U7
  14. 新しいディスクのレイアウトを確認します。
    レイアウトは次のようになります:
    # df -h
    Filesystem Size Used Avail Use% Mounted on/dev/xvdb2 11G 814M 8.9G 9% /
    tmpfs 3.9G 0 3.9G 0% /dev/shm
    /dev/xvda1 471M 51M 391M 12% /boot
    /dev/xvdc1 92G 55G 33G 63% /u01

    スワップ・デバイスは現在、ドライバ・ドメインの下にあります: /dev/xvdb

    # swapon -s
    Filename    Type      Size    Used Priority
    /dev/xvdb3  partition 4194300 0    -1
  15. (オプション)oakcli仮想マシンのインベントリをvm.cfgファイルと同期させます。

    vm.cfgファイルを編集すると、oakcli show vm vm name出力にディスクに関する誤った情報が表示されます。 仮想マシンの一時的な複製(スナップショット)を作成して出力を修正することができます。

    oakcli stop vm vm_name
    oakcli clone vm tmp_vm_name -vm vm_name -snap -driverdomain
    oakcli delete vm vm_name
    oakcli clone vm vm_name -vm tmp_vm_name -snap -driverdomain
    oakcli delete vm tmp_vm_name

    注意:

    スナップショットを作成する前に仮想マシンを停止します。

    たとえば、-snapおよび-driverdomainオプションを使用して、仮想マシンOL6U7tmp_OL6U7という一時的なクローンを作成します。 仮想マシンOL6U7を削除し、一時クローンを使用して新しいクローンを作成します。 一時仮想マシンを削除します。

    oakcli stop vm OL6U7
    oakcli clone vm tmp_OL6U7 -vm OL6U7 -snap -driverdomain
    oakcli delete vm OL6U7
    oakcli clone vm OL6U7 -vm tmp_OL6U7 -snap -driverdomain
    oakcli delete vm tmp_OL6U7
    

    注意:

    oakcli clone vmコマンドは、ゲストVMにアタッチされているVDiskの複製(スナップショット)を作成します。 孤立したVDiskを除去するには、oakcli delete vdiskコマンドを使用してください。

    oakcli show vm vm_nameコマンドを実行して、oakcli仮想マシンのインベントリがvm.cfgファイルと同期していることを確認します。

    # oakcli show vm OL6U7
    The Resource is : OL6U7
    AutoStart : restore
    CPUPriority : 100
    Disks : |file:/OVS/Repositories/rcrepo/.ACF
    S/snaps/OL6U7/VirtualMachines/OL6U7
    /newboot.img,xvda,w||file:/u01/app/
    sharedrepo/rcrepo/.ACFS/snaps/OL6U7
    /VirtualMachines/OL6U7/15f96d92a66c
    4b808035116ab6348d0d.img,xvdb,w,oak
    Dom1|
    Domain : XEN_PVM
    DriverDomain : True
    ExpectedState : offline
    FailOver : false
    IsSharedRepo : true
    Keyboard : en-us
    MaxMemory : 8192M
    MaxVcpu : 2
    Memory : 8192M
    Mouse : OS_DEFAULT
    Name : OL6U7
    Networks : |type=netfront,bridge=net1|
    NodeNumStart : 0
    OS : OL_5
    PrefNodeNum : 0
    PrivateIP : None
    ProcessorCap : 0
    RepoName : rcrepo
    State : Offline
    TemplateName : tmp_OL6U7
    VDisks : |oakvdk_snap_3_ol6u7_u01_rcrepo|
    Vcpu : 2
    cpupool : default-unpinned-pool

Oracle Database Appliance仮想化プラットフォームで高可用性を管理する方法

oakcli configure vmコマンドを使用して、ご使用の仮想マシンの高可用性を構成します。

1年を通して重要な期間、1日のほとんどの時間および1週間のほとんどの曜日に中断されることのないコンピューティング・サービスを提供するために、可用性の高いシステムが設計されています。 信頼性、リカバリ可能性、タイムリなエラー検出および継続的な操作は、高可用性ソリューションの主な特性です。 高可用性の2つの重要な要素は、自動再起動とフェイルオーバーです。

ローカル・リポジトリを使用している場合を除き、仮想マシンの高可用性オプションを設定できます。 高可用性オプションは、デフォルトで仮想マシンを起動する必要があるノードと、仮想マシンが他のノードにフェイルオーバーする必要があるかどうかを指定します。 フェイルオーバーは、仮想マシンがすでに稼働しているノードに障害が発生した場合や仮想マシンが起動しようとしたときに優先ノードが使用不可能である場合に発生する可能性があります。

高可用性のための自動再起動の構成

仮想マシンは、ハードウェア障害またはソフトウェア障害の後に、またはデータベース・ホスト・コンピュータが再起動されたときに、自動的に再起動されます。 oakcli configure vmコマンドを使用して優先ノードで仮想マシンを起動するには、-prefnodeオプションを使用します。

高可用性のためのフェイルオーバーの構成

不測の失敗の後、手動で介入しなくても仮想マシンを他のノードで起動できるようフェイルオーバーを構成することで、高可用性が実現されます。 コマンドoakcli configure vm-failoverオプションを使用して、あるノードから別のノードへのフェイルオーバーを構成します。

Oracle Database Appliance仮想化プラットフォームでのCPUプールの管理方法

これらのトピックでは、OAKCLIを使用して、Oracle Database Appliance仮想化プラットフォームでCPUプールを作成および管理する方法について説明します。

リソース割当て用のCPUプールの管理について

CPUプールを使用して、Oracle Database Appliance仮想化プラットフォームでの仮想マシンのワークロードに対してリソース割当てをケージングし、管理します。

ワークロードを分離するには、CPUプールを作成して特定のCPUプールに仮想マシンを割り当て(ピン留め)ます。 CPUプールに仮想マシンをピン留めすると、仮想マシンがそのCPUプールのCPUのみを使用するようになります。

Oracle Database Appliance仮想化プラットフォームを初めて構成すると、default-unpinned-poolが各ノードに作成されます。 このプールのサイズは、ハードウェア・モデルによって異なります。

ODA_BASEドメインを作成する場合は、新しいCPUプールが両方のノードに作成されます。 プールはodaBaseCpuPoolという名前になります。 このプールに必要なCPUは、デフォルトの非固定プールから削除されます。 ODA_BASEは、odaBaseCpuPoolのCPUを使用できる唯一のドメインです。 他の仮想マシンを起動すると、仮想マシンはdefault-unpinned-poolに残されたCPUで稼働し、これらの仮想マシンで実行される作業では事実上、ODA_BASEが除外されます。

仮想マシンは、CPUプールを追加作成してグループでケージングすることもできます。 これらの追加プールを使用すると、1つ以上の仮想マシンを独自のCPUプールにピン留めできます。 特定のCPUプールで稼働している仮想マシンは、他のCPUプールで稼働している仮想マシンとCPUサイクルを共有しません。 CPUプールは必要な数だけ定義できます(上限はシステムの使用可能なCPUの数です)。

アプリケーション要件が時間とともに変化する場合は、必要に応じてCPUプールのサイズを変更したり、プールを追加または削除してリソースを最大限に活用することをお薦めします。 ODA_BASEのサイズを変更することもできます。 ただし、ODA_BASEのサイズを変更する場合、Oracle Database Appliance仮想化プラットフォーム・ライセンスの更新も行う特殊なコマンドを使用する必要があります。

例13-21 ノード上のCPUプールの表示例

次のoakcli show cpupoolコマンドでノードごとに示しているように、各ノードのCPUプールは同じサイズでなくてもかまいません(odaBaseCpuPoolを除く)。

oakcli show cpupool -node 0
                 Pool                         Cpu List
default-unpinned-pool   [14, 15, 16, 17, 18, 19, 20, 2
                                            1, 22, 23]
               twocpu                         [12, 13]
       odaBaseCpuPool   [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
                                               10, 11]

oakcli show cpupool -node 1
                 Pool                         Cpu List
default-unpinned-pool   [12, 13, 14, 15, 16, 17, 18, 1
                                    9, 20, 21, 22, 23]
       odaBaseCpuPool   [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
                                                10,11]

オーバーサブスクライブされたCPUプールについて

CPUプールで利用できるリソースよりも多くのCPUリソースをサブスクライブしないように仮想マシンを構成します。

CPUリソースを1つのCPUプールに割り当てることはできますが、1つのCPUプールにしか属せません。 複数の仮想マシンを、同じCPUプールに割り当てることができます。 CPUプールは、プール内のアクティブな仮想マシンがプールに構成された数を超えるCPUを必要とする場合、オーバーサブスクライブになります。 たとえば、CPUプールに4つのCPUがある場合、それぞれ4つのCPUを使用するように定義された2つの仮想マシンを起動できます。 この場合、4つのCPUそれぞれが2つの仮想マシンをサポートしているため、CPUプールはオーバーサブスクライブされます。

これらの仮想マシンのいずれかを停止したとしても、2つのCPUが必要な別の仮想マシンを起動する場合、CPUプールはオーバーサブスクライブされたままになります。 これは、CPUの2つが両方の仮想マシンをサポートしているためです。 CPUプールをオーバーサブスクライブした場合、そのプール内の仮想マシンのパフォーマンスを評価します。 オーバーサブスクライブされたプールの共有によって許容できないレベルまでパフォーマンスが低下している場合は、1つ以上の仮想マシンを異なるCPUプールに再度割り当てます。

Oracle Database Appliance仮想化プラットフォーム・ノードでの新規CPUプールの作成

oakcli create cpupoolコマンドを使用して、CPUプールを作成します。

CPUプールを作成することによってリソースの使用量を管理し、このリソースを仮想マシンに割り当てます。

例13-22 Oracle Database Appliance仮想化プラットフォーム・ノードでの新規CPUプールの作成の例

この例では、4つのCPUが割り当てられているwinpoolという名のCPUプールをノード0上に作成します。

oakcli create cpupool winpool -numcpu 4 -node 0

Oracle Database Appliance仮想化プラットフォームのノードで構成されたCPUプールの表示

oakcli show cpupoolコマンドを使用して、定義済の各CPUプールに割り当てられたCPUを表示します。

oakcli show cpupoolを使用すると、各CPUプールに割り当てられている仮想マシンを表示できます。

例13-23 Oracle Database Appliance仮想化プラットフォーム・ノードで定義済のCPUプールに割り当てられたCPUの数の表示例

このoakcli show cpupoolの例は、ノード0で定義済の各CPUプールに割り当てられたCPUを示しています。

oakcli show cpupool -node 0

Oracle Database Appliance仮想化プラットフォームでのCPUプールに割り当てられるCPUの数の変更

oakcli configure cpupoolコマンドを使用して、CPUプールに割り当てられるCPUの数を変更します。

Oracle VM Serverは、1つの仮想プールにのみ割り当てることができます。 しかし、仮想プールに割り当てられているリソースを変更して、仮想マシンで使用できるCPUリソースを増やすことができます。

例13-24 Oracle Database Appliance仮想化プラットフォームでのCPUプールに割り当てられるCPUの数の変更の例

このoakcli configure cpupoolの例は、ノード1のlinpoolという名前のCPUプールに割り当てられるCPUの数を変更します。 コマンドを実行すると、CPUに割り当てられる新しいCPUリソースの数は6になります。

oakcli configure cpupool linpool -numcpu 6 -node 1

Oracle Database Appliance仮想化プラットフォームでのCPUプールへの仮想マシンの割当て

oakcli configure vmコマンドを使用して、仮想マシンをCPUプールに割り当てます。

Oracle Database Appliance仮想化プラットフォームでの仮想マシンの配置ポリシーの一環として、ノード上のCPUプールの可用性を確認します。

仮想マシンが特定のCPUプールに割り当てられており、フェイルオーバーが可能な場合、この仮想マシンはセカンダリ・ノードで同じCPUプールを使用しようとします。 他のノードにCPUプールが存在してもサイズが異なる場合、仮想マシンがセカンダリ・ノードで稼働すると、その仮想マシンのパフォーマンスに影響することがあります。 割り当てられたCPUプールがセカンダリ・ノードに存在しない場合、仮想マシンはフェイルオーバーできません。

注意:

oakcli cpupoolコマンドを使用してodaBaseCpuPoolを管理しないでください。 かわりに、ODA_BASEのサイズ変更方法で説明されているように、ODA_BASEを構成するコマンドを使用します。

例13-25 Oracle Database Appliance仮想化プラットフォームでのCPUプールへの仮想マシンの割当て例

このoakcli configure vm例では、wintestという名の仮想マシンをwinpoolという名のCPUプールにピン留めする方法を示しています。

oakcli configure vm wintest -cpupool winpool