Ubuntu 20.04
Sponsored Link

KVM : 仮想マシンを作成する
2020/06/02
 
ゲスト OS をインストールして仮想マシンを作成します。
当例ではホスト OS と同じ Ubuntu 20.04 をインストールします。
[1] 当例では、事前に Ubuntu 20.04 インストール用 ISO ファイルを適当なディレクトリにダウンロードして (下例では [/home] 配下)、ISO ファイルからテキストモードでインストールします。
直接コンソールからでも、リモートから Putty 等のエミュレータ経由からでも実行可能です。
また、デフォルトでは仮想マシンのイメージの保管場所 (ストレージプール) は [/var/lib/libvirt/images] となっていますが、 当例では別パスにストレージプールを作成して進めます。(自身が覚えやすいパスで OK)
# ストレージプールとするディレクトリ作成

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

root@dlp:~# virt-install \
--name ubuntu2004 \
--ram 4096 \
--disk path=/var/kvm/images/ubuntu2004.img,size=20 \
--vcpus 2 \
--os-variant ubuntu20.04 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location /home/ubuntu-20.04-live-server-amd64.iso,kernel=casper/vmlinuz,initrd=casper/initrd \
--extra-args 'console=ttyS0,115200n8 serial' 

# インストールが開始される
Welcome to Ubuntu 20.04 LTS!

[   15.909170] systemd[1]: Set hostname to <ubuntu-server>.
[   15.913462] systemd[1]: Initializing machine ID from KVM UUID.
.....
.....

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

[2] インストーラー起動後はテキストモードでインストール作業を進めます。テキストモードも基本は GUI と同様のため、インストール過程は割愛します。 インストールが完了すると、通常通り一旦システムが再起動し、以下のようにターミナル上にゲスト OS のログインプロンプトが表示されます。インストール中に設定したユーザーでログインできればインストール完了です。
Ubuntu 20.04 LTS localhost ttyS0

localhost login: ubuntu
Password:
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-73-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Tue 11 May 2021 01:05:51 AM UTC

  System load:  0.58               Processes:               130
  Usage of /:   31.5% of 19.56GB   Users logged in:         0
  Memory usage: 4%                 IPv4 address for enp1s0: 10.0.0.241
  Swap usage:   0%

.....
.....

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ubuntu@localhost:~$
[3] ゲスト OS 側からホスト OS 側へのコンソールの切り替えは Ctrl + ] キーです。
ホスト OS 側からゲスト OS 側へのコンソールの切り替えは [virsh console (仮想マシン名)] とコマンドを入力します。
ubuntu@localhost:~$      # Ctrl + ] キー
root@dlp:~#              # ホスト側のコンソールに切り替わった
root@dlp:~# virsh console ubuntu2004      # ゲストOS のコンソールに切り替え
Connected to domain 'ubuntu2004'

Escape character is ^]   # Enter キー押下
ubuntu@localhost:~$      # ゲスト側のコンソールに切り替わった
[4] 作成した仮想マシンは容易に複製可能です。
root@dlp:~#
virt-clone --original ubuntu2004 --name template --file /var/kvm/images/template.img

Allocating 'template.img'                                  |  20 GB  00:00:04

Clone 'template' created successfully.

# ディスクイメージ

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

-rw------- 1 root root 3140485120 May 10 05:03 /var/kvm/images/template.img
# 定義ファイル

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

-rw------- 1 root root 5260 May 10 05:03 /etc/libvirt/qemu/template.xml
関連コンテンツ