Ubuntu 21.04
Sponsored Link

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

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

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

# インストールが開始される
================================================================================
  Welcome!                                                            [ Help ]
================================================================================

  As the installer is running on a serial console, it has started in basic
  mode, using only the ASCII character set and black and white colours.

  If you are connecting from a terminal emulator such as gnome-terminal that
  supports unicode and rich colours you can switch to "rich mode" which uses
  unicode, colours and supports many languages.

  You can also connect to the installer over the network via SSH, which will
  allow use of rich mode.

                          [ Switch to rich mode      ]
                          [ View SSH instructions    ]
                          [ Continue in basic mode < ]

# [Continue in basic mode] を選択
# この後は通常のインストール手順と同じ
上例で指定しているオプションの意味です。その他多数のオプションは [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 21.04 localhost ttyS0

localhost login: ubuntu
Password:
Welcome to Ubuntu 21.04 (GNU/Linux 5.11.0-16-generic x86_64)

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

  System information as of Mon May 10 04:56:41 UTC 2021

  System load: 0.06               Memory usage: 4%   Processes:       130
  Usage of /:  33.1% of 18.57GB   Swap usage:   0%   Users logged in: 0

  => There were exceptions while processing one or more plugins. See
     /var/log/landscape/sysinfo.log for more information.


10 updates can be installed immediately.
0 of these updates are security updates.
To see these additional updates run: apt list --upgradable

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

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

Connected to domain 'ubuntu2104'
Escape character is ^]    
# Enter キー押下
ubuntu@localhost:~$    
# ゲスト側のコンソールに切り替わった
[4] 作成した仮想マシンは容易に複製可能です。
root@dlp:~#
virt-clone --original ubuntu2104 --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
関連コンテンツ