読者です 読者をやめる 読者になる 読者になる

最初からシリアルコンソールに入れる状態のVMを作る

自宅サーバ

先日自宅サーバVMを新たに作りたくなったのがだ、スケルトンとして用意しておいたVMにインストールされていたのがdebian squeezeだった。そのため、あらたにdebian wheezyがインスールされたスケルトンを作ろうと思い立った。

VMを作った後には普通OSをインストールするわけだが、従来はVNCでノートPCからサーバに接続して作業を行なっていた。しかし、これがシリアルコンソールでできると楽である。そもそも何か障害が起きた際には、シリアルコンソールがあると便利だ。

そんなわけでウェブ上の情報を漁っていたところ、VMを作成するときに最初からシリアルコンソール接続できるようにする方法があることが分かった。以下がそのVM作成スクリプトである。

#!/bin/sh

# 作成するVMイメージのパス
DISK_IMAGE="/opt/kvm/skeleton/skeleton.qcow2"

# インストールに用いるisoファイルのパス
INSTALL_ISO="/opt/kvm/iso/debian-7.7.0-amd64-netinst.iso"

LC_ALL=C LANG=C \
virt-install \
--name=skeleton \
--ram=512 \
--vcpus=1 \
--os-type=linux \
--os-variant=debianwheezy \
--disk="${DISK_IMAGE}",format=qcow2 \
--network=bridge:br0 \
--hvm \
--virt-type=kvm \
--keymap=ja \
--accelerate \
--location http://ftp.jp.debian.org/debian/dists/stable/main/installer-amd64 \
--extra-args='console=tty0 console=ttyS0,115200n8'

ここで、--locationでdebianミラーサイトを指定し、--extra-argsでシリアルコンソールに関する設定を行なっている。今後はこのスケルトンをcloneすればいつでもVMが作れる。VMをcloneするためのコマンドも載せておく。

virt-clone -o [クローン元VM名] -n [新しいVM名] -f [新しいVMのイメージファイルへのPATH(拡張子はqcow2)]

参考:
KVMで仮想マシンをクローンする。 - Qiita