仮想化自動化

仮想化自動化

私がやろうとしていることの基本的な考え方: 作業中の Web サイトに仮想ステージング クラスターをセットアップしたいと考えています。理想的には、変更を加えて起動し、仮想ステージング クラスターに展開し、実稼働環境からサンプル データを取得して、実稼働ロールアウトの前に徹底的にテストできるようにしたいと考えています。仮想ステージング クラスターでのテストが完了したら、クラスターを終了したいと思います (つまり、VM を削除して、新規インストールからテストできるようにします)。

私の最終的な目標: 私の目標は、仮想クラスター全体のセットアップと解体のプロセスを自動化することです。たとえば、VM をホストしているサーバー上でスクリプトを実行して、すべての VM を作成または削除するなどです。既存の仮想化ソリューションでこれが実行できるかどうか知っている人はいませんか? 皆さんや皆さんの組織がこれをどのように実行しているかについての議論やヒントも歓迎します。

参考までに、ここまで到達できれば、仮想サーバーは PXE と Debians FAI を使用して新たにブートストラップできるはずで、その後 Puppet がセットアップ ジョブを完了します。

答え1

VMWare は、あなたがやりたいことに役立つかもしれないいくつかの製品を提供しています。

答え2

VMware Server と VirtualBox には、それぞれ vmrun と VBoxManage というコマンドライン ツールがあります。どちらの製品でも、マシンの作成、起動、停止、削除 (およびその他) を行うスクリプトを作成できます。

たとえば(VBox の場合):

$ VBoxManage startvm "Windows"

上記により、Windows という VM が起動します。

Virtual Box の場合は次の点を確認します。 VBoxManage を使用して仮想マシンを制御する

VMware の場合: vmrun コマンド <- 警告、pdf

答え3

はい、最近ではほとんどの仮想化ソリューションはスクリプト化可能です。

Xen、xen-tools、FAI を使用すると、PXE がなくても実行できる可能性があります (xen-tools との統合については FAI wiki を参照してください)。

しかし、libvirt (使用されている仮想化テクノロジーを分離するために、とにかく使用することをお勧めします) と KVM/XEN/QEMU/... でも同様のことが可能であるはずです。

私はFAI自体のテストのようなものをやろうと思っていましたが、そのためにはクルーシブルテストフレームワークを使うつもりです。そのようなタスクには魅力的に思えます。http://sourceforge.net/projects/crucible/

また、ganeti も調べてみるといいでしょう。これは xen、kvm でも動作し、おそらく libvirt も実装されています。1 台のマシンで処理できる数よりも多くの VM が必要な場合、これは非常に興味深いものです。ファイルの展開や仮想システムでのコマンドの実行などにも役立つからです。

答え4

どのような仮想化プラットフォームを使用していますか? VMware の Lab Manager 製品は、私の職場でテスト クラスターと顧客環境のセットアップに非常に役立っています。

関連情報