17 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)を使用すると、仮想化の専門知識がほとんどない場合でも、仮想化環境を容易に設定および管理できます。仮想化プラットフォームのデプロイメントでは、単一の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仮想化プラットフォーム・アーキテクチャは次の図に示す仮想マシン・コンポーネントを使用します。

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

図17-1の説明が続きます
「図17-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)エクスポートも実行します。

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

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

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

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

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

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

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

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

ノート:

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

Oracle Database Appliance仮想化プラットフォームのネットワーク・インフラストラクチャおよびVLANについて

Oracle Database Appliance仮想化プラットフォームでは、同じネットワーク・ポートまたはボンドの複数のVLANがサポートされます。

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

デプロイメント時のシステムの物理ポート(銅線またはファイバー)は、bond0からbond5までとして結合されます。VLANは、bond0/net1からbond5/net6に作成されます(使用可能な場合)。

ネットワーク・インタフェースは、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ローカル・エリア・ネットワークの構成を示しています。

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

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

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

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

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

仮想化プラットフォームでの追加ネットワークの構成

oakcli configure additionalnetコマンドを使用して、追加のネットワークを作成します。

oakcli configure additionalnetコマンドは、インタフェース名、DHCP [Y/N]、IPアドレスおよびネットマスクを指定する必要がある対話型スクリプトを実行します。

追加ネットワークの作成の例

Dom0上でコマンドを実行する場合、要求されるインタフェース名はネット名です。Dom1上でコマンドを実行する場合、要求されるインタフェース名はethの名前です。

# oakcli configure additionalnet

仮想化プラットフォームへのネットワーク・インタフェースの追加

仮想化プラットフォームにネットワーク・インタフェースを追加する方法を理解します。

この手順では、Oracle Database Appliance X8-2にネットワーク・インタフェース・カードを追加する方法について説明します。
  1. アプライアンスの電源をオフにします。
  2. ネットワーク・インタフェース・カードを追加します。
  3. アプライアンスの電源をオンにします。
  4. ネットワーク・ブリッジが自動的に作成されます。
  5. コマンドoakcli configure oda_baseoakcli modify vmおよびoakcli modify vmtemplateを実行して、ネットワーク・インタフェースをODA_BASE、VMおよびVM_Templateにアタッチします。
    [root@oak ~]# oakcli configure oda_base
    Core Licensing Options:
            1. 2 CPU Cores
            2. 4 CPU Cores
            3. 6 CPU Cores
            4. 8 CPU Cores
            5. 10 CPU Cores
            6. 12 CPU Cores
            7. 14 CPU Cores
            8. 16 CPU Cores
            9. 18 CPU Cores
            10. 20 CPU Cores
            11. 22 CPU Cores
            12. 24 CPU Cores
            13. 26 CPU Cores
            14. 28 CPU Cores
            15. 30 CPU Cores
            16. 32 CPU Cores
            Current CPU Cores       :28
            Selection[1 .. 16](default 32 CPU Cores)        : 14
            ODA base domain memory in GB(min 16, max 362)(Current Memory 200G)[default 362] : 200
    
    Additional vlan networks to be assigned to oda_base ? (y/n) [n]:
    Vlan network to be removed from oda_base ? (y/n) [n]:
    Additional networks to be assigned to oda_base ? (y/n) [n]: y
    Select the network to assign (net3): net3
    Additional networks to be assigned to oda_base ? (y/n) [n]: y
    INFO: No networks to add !
    Network to be removed from oda_base ? (y/n) [n]:
    INFO: Node 0:Configured oda base pool
    INFO: Node 1:Configured oda base pool
    INFO: Node 0:ODA Base configured with new memory
    INFO: Node 0:ODA Base configured with new vcpus
    INFO: Node 0:New vlans added in ODA Base
    INFO: Changes will be incorporated after the domain is restarted on Node 0.
    INFO: Node 1:ODA Base configured with new memory
    INFO: Node 1:ODA Base configured with new vcpus
    INFO: Node 1:New vlans added in ODA Base
    INFO: Changes will be incorporated after the domain is restarted on Node 1.
    INFO: Updating /etc/sysctl.conf in oda_base domain with parameter "vm.nr_hugepages=53776"
    INFO: Updating /etc/security/limits.conf in oda_base domain with new memlock value 150000000
  6. 各仮想マシンに割り当てられているブリッジを特定します。
    [root@oak ~]# oakcli show oda_base
    
    ODA base domain
    ODA base CPU cores      :28
    ODA base domain memory  :200
    ODA base template       :/OVS/templateBuild-2019-09-16-03-34.tar.gz
    ODA base vlans          :['priv1', 'net1', 'net4', 'vlan10', 'net3']
    ODA base current status :Running
    
    [root@oak ~]# oakcli restart oda_base
    
    INFO: Stopping ODA base domain...
    INFO: Stopping all the shared repos 
    ODA_BASEで、次のコマンドを実行します。
    [root@oak ~]# ls -l /sys/class/net/
    
    total 0
    lrwxrwxrwx 1 root root 0 Oct 17 11:41 eth0 -> ../../devices/vif-0/net/eth0
    lrwxrwxrwx 1 root root 0 Oct 17 11:41 eth1 -> ../../devices/vif-1/net/eth1
    lrwxrwxrwx 1 root root 0 Oct 17 11:41 eth2 -> ../../devices/vif-2/net/eth2
    lrwxrwxrwx 1 root root 0 Oct 17 11:41 eth3 -> ../../devices/vif-3/net/eth3
    lrwxrwxrwx 1 root root 0 Oct 17 11:41 lo -> ../../devices/virtual/net/lo 
  7. ODA_BASEを再起動し、新しいネットワーク・インタフェースがODA_BASEに表示されることを確認します。
    # oakcli restart oda_base
    # ls -l /sys/class/net/
    total 0
    lrwxrwxrwx 1 root root 0 Oct 17 12:15 eth0 -> ../../devices/vif-0/net/eth0
    lrwxrwxrwx 1 root root 0 Oct 17 12:15 eth1 -> ../../devices/vif-1/net/eth1
    lrwxrwxrwx 1 root root 0 Oct 17 12:15 eth2 -> ../../devices/vif-2/net/eth2
    lrwxrwxrwx 1 root root 0 Oct 17 12:15 eth3 -> ../../devices/vif-3/net/eth3
    lrwxrwxrwx 1 root root 0 Oct 17 12:15 eth4 -> ../../devices/vif-4/net/eth4
    lrwxrwxrwx 1 root root 0 Oct 17 12:15 lo -> ../../devices/virtual/net/lo

仮想化プラットフォームのネットワークの削除

仮想化プラットフォームで構成したネットワークを削除する方法を理解します。

この手順では、Oracle Database Appliance X8-2仮想化プラットフォームのネットワークを削除する方法について説明します。
  1. ネットワークを削除します。
    [root@oak ~]# brctl show
    bridge name     bridge id               STP enabled     interfaces
    
    net1            8000.b02628321ca0       no              bond0
                                                            vif1.1
    net4            8000.3cfdfe7a0e33       no              bond3
    net7            8000.0010e0dd9c2a       no              eth2
    priv1           8000.b0262831f3b0       no              icbond0
                                                            vif1.0
    vlan10          8000.b02628321ca0       no              bond0.10
                                                            vif1.3
    
    [root@oak ~]# oakcli delete network bond3
    Network bond3 has been deleted successfully
  2. ネットワーク・インタフェースおよび対応するブリッジが削除されていることを確認します。
    [root@oak ~]# brctl show
    
    bridge name     bridge id               STP enabled     interfaces
    net1            8000.b02628321ca0       no              bond0
                                                            vif1.1
    net3            8000.3cfdfe7a0e30       no              bond2
                                                            vif1.2
    net7            8000.0010e0dd9c2a       no              eth2
    priv1           8000.b0262831f3b0       no              icbond0
                                                            vif1.0
    vlan10          8000.b02628321ca0       no              bond0.10

仮想化プラットフォームでのネットワーク・インタフェースの削除

仮想化プラットフォームで構成したネットワーク・インタフェースを削除する方法を理解します。

この手順では、Oracle Database Appliance X8-2のネットワーク・インタフェース・カードを削除する方法について説明します。
  1. ODA_BASE、VMおよびVMテンプレートを含む、仮想化プラットフォームからネットワーク・インタフェース・カードをデタッチします。
    [root@oak ~]# ls -l /sys/class/net/
    
    total 0
    lrwxrwxrwx 1 root root 0 Oct 14 22:36 eth0 -> ../../devices/vif-0/net/eth0
    lrwxrwxrwx 1 root root 0 Oct 14 22:36 eth1 -> ../../devices/vif-1/net/eth1
    lrwxrwxrwx 1 root root 0 Oct 14 22:36 eth2 -> ../../devices/vif-2/net/eth2
    lrwxrwxrwx 1 root root 0 Oct 14 22:36 eth3 -> ../../devices/vif-3/net/eth3
    lrwxrwxrwx 1 root root 0 Oct 14 22:35 lo -> ../../devices/virtual/net/lo
    
    [root@oak ~]# oakcli configure oda_base
    
    Core Licensing Options:
            1. 2 CPU Cores
            2. 4 CPU Cores
            3. 6 CPU Cores
            4. 8 CPU Cores
            5. 10 CPU Cores
            6. 12 CPU Cores
            7. 14 CPU Cores
            8. 16 CPU Cores
            9. 18 CPU Cores
            10. 20 CPU Cores
            11. 22 CPU Cores
            12. 24 CPU Cores
            13. 26 CPU Cores
            14. 28 CPU Cores
            15. 30 CPU Cores
            16. 32 CPU Cores
            Current CPU Cores       :28
            Selection[1 .. 16](default 32 CPU Cores)        : 14
            ODA base domain memory in GB(min 16, max 362)(Current Memory 200G)[default 362] : 200
    Additional vlan networks to be assigned to oda_base ? (y/n) [n]:
    Vlan network to be removed from oda_base ? (y/n) [n]:
    Additional networks to be assigned to oda_base ? (y/n) [n]: y
    INFO: No networks to add !
    Network to be removed from oda_base ? (y/n) [n]: y
    Select the network to remove (net1,net3,net4): net3
    Network to be removed from oda_base ? (y/n) [n]:
    INFO: Node 0:Configured oda base pool
    INFO: Node 1:Configured oda base pool
    INFO: Node 0:ODA Base configured with new memory
    INFO: Node 0:ODA Base configured with new vcpus
    INFO: Node 0:Vlans removed from ODA Base
    INFO: Changes will be incorporated after the domain is restarted on Node 0.
    INFO: Node 1:ODA Base configured with new memory
    INFO: Node 1:ODA Base configured with new vcpus
    INFO: Node 1:Vlans removed from ODA Base
    INFO: Changes will be incorporated after the domain is restarted on Node 1.
    INFO: Updating /etc/sysctl.conf in oda_base domain with parameter "vm.nr_hugepages=53776"
    INFO: Updating /etc/security/limits.conf in oda_base domain with new memlock value 150000000
    
    [root@oak ~]# oakcli show oda_base
    ODA base domain
    ODA base CPU cores      :28
    ODA base domain memory  :200
    ODA base template       :/OVS/templateBuild-2019-09-16-03-34.tar.gz
    ODA base vlans          :['priv1', 'net1', 'net4', 'vlan10']
    ODA base current status :Running
    
    [root@oak ~]# oakcli modify vmtemplate vmtemp1 -deletenetwork net3
    Modify Network succeeded
    
    [root@oak ~]# oakcli modify vmtemplate vmtemp1 -deletenetwork net3
    Modify Network succeeded 
  2. アプライアンスの電源をオフにします。
  3. ネットワーク・インタフェース・カードを取り外します。
  4. アプライアンスの電源をオンにします。
  5. コマンドoakcli delete network network_nameを実行して、ネットワーク・インタフェースおよび対応するブリッジを削除します。
    oakcli delete network network_name
    
    [root@oak ~]# oakcli delete-network bond2
    Network bond2 has been deleted successfully
  6. ネットワーク・インタフェースおよび対応するブリッジが削除されていることを確認します。
    [root@oak ~]# brctl show
    
    bridge name     bridge id               STP enabled     interfaces
    
    net1            8000.b02628321ca0       no              bond0
                                                            vif1.1
    net3            8000.3cfdfe7a0e30       no              bond2
                                                            vif1.2
    net7            8000.0010e0dd9c2a       no              eth2
    priv1           8000.b0262831f3b0       no              icbond0
                                                            vif1.0
    vlan10          8000.b02628321ca0       no              bond0.10

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

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

共有リポジトリの作成

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

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

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

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

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

# oakcli create repo repo1 -dg data -size 30

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

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

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

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

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

# oakcli show repo
NAME     TYPE   NODENUM  FREE SPACE STATE  SIZE

odarepo1 local  0        N/A        N/A    N/A

odarepo2 local  1        N/A        N/A    N/A

srepo1   shared 0        76.24%     ONLINE 1024000.0M

srepo1   shared 1        76.24%     ONLINE 1024000.0M

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

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

# oakcli show repo srepo1 -node 0
The Resource is : srepo1_0
      AutoStart : restore 
      DG : RECO 
      Device : /dev/asm/srepo1-402
      ExpectedState : Online 
      FreeSpace : 780688.2M 
      MountPoint : /u01/app/sharedrepo/srepo1
      Name : srepo1_0 
      PFreeSpace : 76.24% 
      RepoType : shared 
      Size : 1024000.0M 
      State : Online 
      Version : 2 

共有リポジトリの起動

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

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

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

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

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

# oakcli start repo repo1 -node 1

共有リポジトリの停止

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

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

ノート:

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

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

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

# oakcli stop repo repo1 -node 0

共有リポジトリの削除

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

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

ノート:

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

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

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

# oakcli delete repo repo1

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

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

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

例17-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を共有ディスクとして指定します。

例 17-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は仮想ディスクが配置されている共有リポジトリの名前です。disknameを指定する場合は、reponameを指定する必要があります。

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

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

# oakcli show vdisk
        NAME      SIZE TYPE REPOSITORY
       ddomssdvd1 100G local srepo1 
       ddomssdvd2 10G  local srepo1 
       vd11       10G  local srepo1 

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

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

# oakcli show vdisk vd11 -repo srepo1
  The Resource is : vd11_srepo1
             Name : vd11_srepo1 
         RepoName : srepo1 
             Size : 10G 
             Type : local 
       VmAttached : 1 

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

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]

例17-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は仮想マシンにアタッチする仮想ディスクの名前です。

例17-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は共有リポジトリの名前です。

例17-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仮想化プラットフォームで直接作成することもクローニングすることもできません。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 ]

例17-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を囲む一重引用符に注意してください。

例17-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

例17-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仮想化プラットフォーム上の既存の仮想マシンから仮想マシンを作成(クローニング)できます。

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

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

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

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

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

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

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

ノート:

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

例17-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オプションを使用して、スナップ・クローンの作成を指定します。

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

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

# oakcli clone vm myol15u_snap -vmtemplate myol5u -snap

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

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

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

例17-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  NODENUM MEMORY VCPU  STATE  REPOSITORY
            vm1   0       8192M   4    ONLINE srepo1
            vm2   0       8192M   4    ONLINE srepo1
  • 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句を指定します。

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

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

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

# oakcli modify vm  vmname parameters

例17-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仮想化プラットフォームで仮想マシンを起動し、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の詳細は、http://docs.oracle.com/cd/E35328_01/E35333/html/vmutl-guestadd.htmlにあるOracle VMユーティリティ(for x86)に関するガイドOracle VM Guest Additionsの使用方法を参照してください。

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

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

oakcli show vmconsoleコマンドを使用して、アクティブな仮想マシンの仮想マシン・コンソール・ウィンドウを開きます

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

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

oakcli show vmconsole vm nameを使用して、仮想マシンのコンソールを開きます。たとえば、次のコマンドを使用して、vm1_odarepo1という名前の仮想マシンのコンソールを開きます。
# oakcli show vmconsole vm1_odarepo1

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

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

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

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

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

次の一連のコマンドは、eth0インタフェースにIPアドレス192.168.16.51を設定して仮想マシンvmol6u3 (ovmdあり)を構成し、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'

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

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

-attachvdiskまたは-detachvdiskオプションは、-addnetwork-deletenetworkまたは-sのキー/値ペアのパラメータとともに使用しないでください。

  • 仮想マシンに仮想ディスクをアタッチするには、oakcli modify vm vm_nameコマンドを使用して、仮想ディスクを指定する-attachvdisk句を指定します。
    # oakcli modify vm vm_name -attachvdisk vdisk_name
  • 仮想マシンから仮想ディスクをデタッチするには、oakcli modify vm vm_nameコマンドを使用して、仮想ディスクを指定する-detachvdisk句を指定します。
    # 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」と表示されます。

例17-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があります。

ドライバ・ドメイン仮想マシンでは、次のゲスト・オペレーティング・システムがサポートされています。

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

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

  • Oracle Solaris 11.3以降x86。

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

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

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

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

  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のvdiskであることを確認します。
  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_PVHVMOVM_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 = ['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を設定します。
    grubまたはgrub2コマンドを使用します(/dev/xvdcは新しい起動ディスク・デバイス)。
    • 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

    編集後のvm.cfgの例を次に示します。ここで、新しい起動デバイス(xvdc)は最初のデバイス、xvdaはドライバ・ドメイン・デバイスです。

    # 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の複製(スナップショット)を作成します。oakcli delete vdiskコマンドを使用して、孤立した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は、default-unpinned-poolから削除されます。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仮想化プラットフォーム・ライセンスの更新も行う特殊なコマンドを使用する必要があります。

例17-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プールを作成することによってリソースの使用量を管理し、このリソースを仮想マシンに割り当てます。

例17-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プールに割り当てられている仮想マシンを表示できます。

例17-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リソースを増やすことができます。

例17-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を構成するコマンドを使用します。

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

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

# oakcli configure vm wintest -cpupool winpool