株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

コーソル検証環境ではOracle VMを積極的に活用しています

弊社コーソルでは主にOracle VM Server for x86(以下単にOracle VMと表記)を使用して検証環境を構築しています。

ハイパーバイザー型の仮想化製品にはVMware, Hyper-V, Cytrix Xen Server, Oracle VMなどがありますが、
コーソル検証環境では、以下の4点の理由からOracle VMを使用しています。


  • 無料である
  • Oracle製品導入済みのOracle VMテンプレートが用意されている
  • 安価で容易に入手可能なx86系サーバへ簡単に導入できる
  • Oracle DatabaseをはじめとするOracle製品がCertifyされている

Oracle VMはLinux/Xenベースの仮想化環境であり、XenにManager - Agent構成のVM管理ソフトウェア(Oracle VM ManagerとOracle VM Agent)がAdd-onされた構成になっています。

Oracle VM ManagerはWebベースの管理コンソールを提供するWebアプリケーションで、VMを稼動させるOracle VM Server用マシンとは別のLinuxマシンにインストールする必要があります。
Oracle VM Managerを使用すると、VMの管理をWebブラウザのGUIで行うことができます。また、VMを稼動させるOracle VM Server用マシンでは、Oracle VM Agentと呼ばれる常駐エージェントが動作します。
Oracle DatabaseにおけるOracle Enterprise Managerの位置づけに似ているといえばわかりやすいでしょうか。

oraclevmmanager01.jpg

Oracle VMの最新バージョンは現時点でOracle VM 3.1.1です。コーソル検証環境は、Oracle VM 2.xからOracle VM 3.xへの移行の検討を進めている状況で、現時点ではOracle VM 2.xと3.xを併用しています。

検証環境に仮想化環境を使用する利点

コーソルでは、検証環境としてVMを積極的に活用しています。その理由は以下のとおりです。


  • 少ないハードウェアで、様々な構成のOracle RAC環境を用意できる
  • 環境を容易に復旧できる
  • 皆がいろいろなことを気軽に試すことができる

少ないハードウェアで、様々な構成のOracle RAC環境を用意できる

ご存知かとは思いますが、物理環境(すなわち普通の方法なわけですが)で、Oracle RAC環境を構築しようとした場合、以下のハードウェアが必要となります。


  • DBサーバ用のマシン (最低2台)
  • 共有ストレージ装置または、NFSサーバ (場合によっては、スイッチなども必要)

しかし、このようなハードウェアを用意しても、1つの環境に導入できるOracle Clusterware (or Oracle Grid Infrastructure)は、原則的に1つのバージョンに限定されます。
(inittabを細工する、マルチブートにするなどの方法を用いて、1つのハードウェア構成に対して、複数のバージョンのOracle Clusterware (or Oracle Grid Infrastructure)をインストールすることもできますが、いくつかの制約が生じるため、今回の議論の対象から外しています。)

コーソルではOracle Databaseのサポート業務を行っており、問い合わせ対応のためにお客様の環境と同じ(または類似した)環境が必要となるため、この制約は非常に厳しいものです。
一方で、問い合わせいただいたお客様の環境に対応した環境をゼロから構築することは作業と時間がかなりかかる作業です。ネットワークやストレージなど、Oracle Database以外の技術分野における構築作業が必要となる場合もあります。したがって、お客様の環境とまったく同じとはいかないまでも類似した環境をあらかじめ用意しておくことが、円滑な問い合わせ対応に非常に有効です。

仮想化環境を用いてOracle RAC環境を構築すれば、少ないハードウエアで、様々なバージョン、システム構成のOracle RAC環境を用意しておくことができますので、問い合わせ対応にかかる作業と時間を大幅に削減することができます。

環境を容易に復旧できる


検証環境という位置づけから、検証環境では通常の運用ではあまりおこなわれないような作業が実行される場合があります。このため、検証環境はどうしても破損しやすい傾向にあります。
日々トラブルシュートを業務として行っているサポートエンジニアといえども、さまざまな原因によって破損した環境を正常な状態に復旧するには、どうしても時間とスキルが必要となります。

仮想化環境でのVMのバックアップとリストアは、単なるファイルのバックアップとリストアで実現できますので、環境が破損した場合でもあまり作業コストをかけることなく簡単に以前の正常な状態に戻すことができます。
多忙なサポート現場では、環境のメンテナンスに人的リソースを割くことが難しいため、これは非常にありがたい利点です。

また、必ずも状況が明確になっていないトラブル調査では、試行錯誤しながら環境を変えていったり、いくつかの環境で問題が発生するかどうかを確認することが有効だったりします。構成変更した環境を、すぐに元の状態に戻すことができると、作業効率が大幅に向上します。

皆がいろいろなことを気軽に試すことができる


上記の「環境を容易に復旧できる」ことから得られる利点ですが、エンジニアが環境を使用するときの心理的な障壁を小さくできます。

万が一誤ったオペレーションを行ってしまった場合でも、簡単に環境を復旧できるとわかっていれば、皆が気軽にいろいろなことを試すことができます。特に経験の少ないエンジニアの場合、実行する作業が環境にどのような影響をもたらすものかを把握しきることは難しいため、意図せず環境を破損してしまうことがあります。でも、やらなければ、仕事は片付きませんし、スキルもつきません。

また、多様な構成を用意しておきやすいため、いちいち環境を構築することなく、さまざまな構成、バージョンの環境を使用することできる場合もでてきます。

仮想化環境は、エンジニアにとって優しい環境であるといえます。

物理環境が必要となる状況


このように便利なOracle VMの仮想化環境ですが、以下の制約があるため、物理環境も併用しています。


  • 商用UNIXを中心とした非x86系プラットフォームでの動作検証ができない
  • ネットワーク障害を中心とした物理的な障害の検証ができない場合がある

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ