こんにちは、ADN事業部のt_oookaです。 スマートフォン向けアドネットワークサービスnend(ネンド)のインフラを担当 させていただいています。
今回は、初回ということで検証作業等でいつもお世話になっているKVMについて 触れてみようと思います。
仮想マシンの作成
さしあたりサーバ(物理)に「CentOS6.3」がインストールされており、仮想化関連の パッケージがインストール済みの状態を前提に進めていきます。
# virsh list --all
Id Name State
現時点では、仮想マシンが作成されていない状態ですので、最初にテンプレート となる仮想マシンを作成します。
# virt-install \
--name centos63 \
--hvm \
--os-type=Linux \
--os-variant=rhel6 \
--ram 1024 \
--vcpu=1 \
--graphics none \
--disk=/var/lib/libvirt/images/centos63,format=qcow2,size=5 \
--network bridge=virbr0 \
--location http://ftp.riken.jp/Linux/centos/6.3/os/x86_64/ \
--extra-args='console=tty0 console=ttyS0,115200n8'
この後、テキストモードでのOSインストールとなるので、適宜設定を
行います。
・ホスト名の設定 centos63
・ネットワークの設定 eth0 ipaddress : 192.168.122.2 netmask : 255.255.255.0 default gateway : 192.168.122.1
# virsh list --all
Id Name State
1 centos63 running
ホストから仮想マシンのコンソールへ接続する場合は以下のようにします。
virsh console centos63
また、sshで接続する場合は、以下の通りです。
ssh 192.168.122.2
仮想マシンの複製
ここまでで、一旦はテンプレートなる仮想マシンの作成が完了したので、 今度は、この仮想マシン(centos63)をテンプレートとして仮想マシンを 複製してみます。
まず、複製する前に複製元となる仮想マシンを停止します。
virsh shutdown centos63
仮想マシンが停止していることを確認します。
# virsh list --all
Id Name State
- centos63 shut off
仮想マシンが停止していることが確認できたので、次は、仮想マシンを複製します。
# virt-clone \
--original centos63 \
--name guest01 \
--file /var/lib/libvirt/images/guest01
仮想マシンの複製が行われたかどうかを確認します。
# virsh list --all
Id Name State
- centos63 shut off - guest01 shut off
仮想マシンの複製が行われているようなので、さっそく複製を行った 仮想マシンを起動します。
virsh start guest01
複製を行った仮想マシンの起動を確認します。
# virsh list --all
Id Name State
2 guest01 running - centos63 shut off
なお、このままでは複製を行った仮想マシンについて
・ホスト名が「centos63」となっている ・eth0が認識されない
状況なので、複製を行った仮想マシンへコンソール接続を 行い、以下のファイルを修正します。
・ホスト名の修正 /etc/hosts /etc/sysconfig/network
・ネットワークインタフェース(eth0)の修正 /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/udev/rules.d/70-persistent-net.rules
virsh console guest01
※ 以下は、複製を行った仮想マシンでの操作となります。
vi /etc/hosts
vi /etc/sysconfig/network
vi /etc/sysconfig/network-scripts/ifcfg-eth0
vi /etc/udev/rules.d/70-persistent-net.rules
※ 設定の変更を反映させるため、一旦再起動します。
shutdown -r now
ホスト名の確認
hostname
ネットワークインタフェース(eth0)の確認
ifconfig eth0
今回は、仮想マシンの作成及び複製について簡単に手順を記載 いたしました。
コマンドでの操作となりますが、かなり容易に仮想マシンの 作成・複製が行えます。
ただ、複製する仮想マシンが多くなると、複製した仮想マシンに 都度コンソール接続して設定を変更する方法では時間ばかりが かかってしまいますので、このあたりの操作を効率化する方法を 検討してみたいと思います。