Ubuntu 18.04
Sponsored Link

KVM : 仮想マシン作成#12018/05/17

 
ゲストOSをインストールして仮想マシンを作成します。当例ではホストOSと同じ Ubuntu 18.04 をインストールします。
[1] 当例ではネットワーク経由のテキストモードでインストールします。 直接コンソールからでも、リモートから Putty 等のエミュレータ経由からでも実行可能です。
また、デフォルトでは仮想マシンのイメージの保管場所(ストレージプール)は [/var/lib/libvirt/images] となっていますが、 ここでは別の場所に新たにストレージプールを作成して進めます。
# ストレージプールとするディレクトリ作成

root@dlp:~#
mkdir -p /var/kvm/images

root@dlp:~#
virt-install \
--name ubuntu1804 \
--ram 4096 \
--disk path=/var/kvm/images/ubuntu1804.img,size=30 \
--vcpus 2 \
--os-type linux \
--os-variant ubuntu18.04 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'http://jp.archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/' \
--extra-args 'console=ttyS0,115200n8 serial'
Starting install...    
# インストールが開始される


# インストール終了直後、一旦ホスト側に戻り、ゲストをシャットダウン

root@dlp:~#
virsh shutdown ubuntu1804

Domain template is being shutdown
# ゲスト領域をマウントしてサービスを有効にする

root@dlp:~#
guestmount -d ubuntu1804 -i /mnt

root@dlp:~#
ln -s /mnt/lib/systemd/system/getty@.service /mnt/etc/systemd/system/getty.target.wants/getty@ttyS0.service

root@dlp:~#
umount /mnt
# 再度起動し、コンソールに接続できればインストール完了

root@dlp:~#
virsh start ubuntu1804 --console


Ubuntu 18.04 LTS ubuntu ttyS0

ubuntu login:
 
上で指定しているオプションの意味です。その他多数のオプションは [man virt-install] で確認可能です。
--name
仮想マシンの名前を指定
--ram
仮想マシンのメモリ容量を指定。単位は M
--disk path=xxx ,size=xxx
[path=] で仮想マシンのディスクの保管場所を指定 ( デフォルトは [/var/lib/libvirt/images] 配下 )
[size=] で仮想マシンのディスク容量を指定。単位は G
--vcpus
仮想マシンの仮想CPU数を指定
--os-type
ゲストOSのOSタイプを指定
--os-variant
ゲストOSの種類を指定
# osinfo-query os で指定可能な種類を確認可能
--network
仮想マシンのネットワークタイプを指定。 ここではゲストOSにブリッジ接続させたいため、[--network bridge=br0] としている。 br0 はインストールの項の [3] で設定したブリッジインターフェースを指定している。 物理マシンがNICを複数枚もっていて、且つブリッジインターフェースを複数設定しており、仮想マシンからも同様に複数の ネットワークインターフェースを使いたい場合は、改行して複数指定する。
--graphics
グラフィクスを指定。[none] 指定でグラフィックスは使わない
--console
コンソールタイプを指定
--location
インストール元を指定
--extra-args
インストール時にカーネルに渡すパラメータを指定

[2] ゲスト OS 側からホスト OS 側へのコンソールの切り替えは Ctrl + ] キーです。
ホスト OS 側からゲスト OS 側へのコンソールの切り替えは [virsh console (ゲストの名前)] とコマンドを入力します。
bionic@ubuntu:~$    
# Ctrl + ] キー

root@dlp:~#    
# ホスト側のコンソールに切り替わった
# ゲストOS [ubuntu1804] のコンソールに切り替え

root@dlp:~#
virsh console ubuntu1804

Connected to domain template
Escape character is ^]    
# Enterキー
bionic@ubuntu:~$    
# ゲスト側のコンソールに切り替わった
[3] 作成した仮想マシンは容易に複製可能です。
# ホスト側のコンソール

root@dlp:~#
virt-clone --original ubuntu1804 --name ubuntu1804_org --file /var/kvm/images/ubuntu1804_org.img

Allocating 'ubuntu1804_org.img'                |  30 GB  00:05

Clone 'ubuntu1804_org' created successfully.

# ディスクイメージ

root@dlp:~#
ll /var/kvm/images/ubuntu1804_org.img

-rw------- 1 root root 2611806208 May 16 20:46 /var/kvm/images/ubuntu1804_org.img
# 定義ファイル

root@dlp:~#
ll /etc/libvirt/qemu/ubuntu1804_org.xml

-rw------- 1 root root 2853 May 16 20:46 /etc/libvirt/qemu/ubuntu1804_org.xml
関連コンテンツ