VirtualBoxにCentOSを自動で100個入れる方法
仮想化ソフトVirtualBoxにCentOSを自動で100個入れる方法の説明です。
最近、不景気でどうにもこうにも世知辛い世の中になっているのでせめて仮想空間だけでも気前よく生きたいってことで、VirtualBoxに自動でCentOSを100個入れてみました。
以下その方法の説明です。
テンプレートとなる仮想マシンをVirtualBoxに作成
まずは一つだけテンプレートとなる仮想マシンを作成しておきます。
今回はネットブートなCentOSをインストールして、「sudo yum update」で最新の状態にしておきました。
ネットブートの方法などはこちらの記事を参考にしてくださいませ。
facebookやmixiで有名なSNSを自前でインストールする方法
コマンドラインで仮想マシンを作成
VirtualBoxは元がLinux系だったらしくコマンドライン(CUI)で制御することが可能です。
$ VBoxManage
テンプレートな仮想マシンの「vdi」ファイルを使いまわして仮想マシンを次々と新規作成していきます。
$ VBoxManage clonevdi --format VDI from.vdi to.vdi
PHPプログラム
自動で仮想マシンを作ってくれるPHPなプログラムは以下になります。
基本的にVBoxManageを使うだけなので、PHP以外な言語でもプログラムを作成できるかと思います。
index.php
<?php $vmArr = array( "vm01", "vm02", "vm03", "vm04", "vm05", "vm06", ); foreach( $vmArr as $vm ){ mkdir( "{$vm}" ); exec( " VBoxManage clonevdi --format VDI template_centos64/entos.vdi {$vm}/{$vm}.vdi " ); exec( " VBoxManage createvm --name {$vm} --ostype RedHat_64 --register " ); exec( " VBoxManage modifyvm {$vm} --memory 512 --vram 8 --hwvirtex on --cpus 1 --scsi on --scsiport1 {$vm}/{$vm}.vdi " ); exec( " VBoxManage startvm {$vm} --type headless " ); } ?>
VBoxManageのオプションとかはちょっと詳しくないのでその辺の詳しい説明は「VBoxManageコマンド | VirtualBox Mania」などをを参照してくださいませ。
実行
ブラウザからファイルを叩いてもいいですが、以下のようにコマンドラインでもOKです。
$ php index.php
だいたい1仮想マシンが10分程度で作成されます。
1台 Core i7 で SSD なマシンを買って研究室でカスタマイズされた仮想マシンを使うといろいろとおもしろいかなぁ〜って思います。
※ffmpegやOpenCVがインストールされたものなど。
MySQLと連携すれば、新しい新入生が来たときに自動で作成することも可能です。
GSessionなどとも連携すれば、スムーズに行くでしょう。
あとごめんさい。CentOS 100個入れてないです。多分メモリ足らないんじゃないかな(汗
参考リンク
参考になる本
はじめてのCentOS5 Linuxサーバ構築編 (TECHNICAL MASTER)
- 作者: ラクス
- 出版社/メーカー: 秀和システム
- 発売日: 2010/04
- メディア: 単行本
- 購入: 1人 クリック: 23回
- この商品を含むブログ (8件) を見る
- 作者: 星野香保子
- 出版社/メーカー: 技術評論社
- 発売日: 2009/12/22
- メディア: 大型本
- 購入: 7人 クリック: 52回
- この商品を含むブログ (7件) を見る