ちょっとしたことが、大きな価値だったりする ー UCS ManagerにおけるProfile

仮想化環境のようなインフラ環境を構築する場合、同一モデル・同一構成のサーバを多数並べて使用する場合が多くあります。たとえばVMware vSphereを用いて仮想インフラ環境を構築する場合には、ESXiホストが仮想マシンの実行環境となりますが、基本的にはCPUモデルや搭載メモリ量、ネットワーク構成などが同一である方が様々な面で使い勝手がよいですし、多くの機能が「ESXiホスト間で構成に整合性があること」を前提としています。

単にESXiのHypervisorとしての構成における整合性だけであれば、vCenter Serverによって一元管理され、たとえばHost Profileなどの機能によって構成に差異がないことを確認することができます。しかし、最近のx86/64サーバでは多くの機能がハードウェアオフロードされたりハードウェア仕様に依存するようになってきており、特にCPU仮想化支援機能と呼ばれる、Intel VTやAMD-Vなどの機能、BIOSレベルにおける各種ブースト機能や、Power Managementなどのいわゆるキャッピング機能などの構成についても正しく構成されていたり、共通の設定となっていることが必要となります。

しかし多くのサーバベンダーの製品では、BIOSレベルの構成はBIOS自体で構成することが一般的です。また、OS上に導入するサーバ管理ソフトウェアや、OSに依存しないリモート管理アダプター側からはBIOSレベルの詳細な情報までは取得できないこともありますし、なによりもパラメータの確認はできても構成はできないことがよくあります。

後発サーバベンダーであるCiscoのサーバ "UCS" は、各社のサーバ製品を研究し、x86/64という汎用プラットフォームという共通性を持ちながらも、多くの差別化要素が盛り込まれています。そうした要素の1つとも言えるサーバの統合管理機能 UCS Manager では「サーバに対してProfileを割り当てることができる」という機能が備わっており、Profileの中にはBIOSに対する構成定義もポリシーとして含まれています。このため、BIOS構成を定義したProfileを適用したサーバにおいては、BIOS設定がProfileに含まれるBIOSポリシーに従って構成されていることが基本的に保証されています。

Profileの構成要素であるBIOSポリシーはサーバモデルを超えて共有することができますので、同じポリシーを含むProfileを適用した全サーバで同じ構成となっています。また、事前に構成しておくことができますので、サーバ導入作業のドタバタの中で設定を間違えたりすることもありません。これはちょっとした違いですし、サーバを導入する際にしか関係ないと思われるかもしれませんが、このちょっとした違いが大きな価値であるといえるのです。

BIOSレベルのちょっとした設定の違いによって「機能としては動作していてもパフォーマンスに影響を与える」項目もありますので、導入が完了し運用が開始された後に「なぜか特定のサーバだけパフォーマンスが出ない」などの問題が発生し、原因を切り分けていった結果としてBIOS設定がその1台だけ違っていた、なんてことがあり得るわけですが、UCSにおいては必要な構成が定義されたBIOS設定ポリシーを含めたProfileさえ適用されているかどうかを確認すれば、BIOS設定が正しく構成されているかどうか判断することができます。

こうした機能がなかった場合、たとえばESXiホストであればまだvMotionなどで待避した上でBIOSのチェックを行うことができるかもしれませんが、それであっても1台1台、人が確認していくとなれば作業負荷はかなりのものとなりますし、たとえサービスが停止しないとはいえども与えるインパクトは小さくはありません。さらにシングルサーバ構成のWindowsLinuxが導入されたサーバであったとしたらサービスの停止に繋がってしまいます。

Profileは適用しておしまいではありません。構成情報がサーバ自体からは分離されて管理されている価値は、このBIOS構成に限らず、色々とあるかと思います。