KVM : 仮想マシンを作成する
2020/06/02 |
ゲスト OS をインストールして仮想マシンを作成します。当例ではホスト OS と同じ Ubuntu 20.04 をインストールします。
|
|
[1] | 当例ではネットワーク経由のテキストモードでインストールします。 直接コンソールからでも、リモートから Putty 等のエミュレータ経由からでも実行可能です。 また、デフォルトでは仮想マシンのイメージの保管場所(ストレージプール)は [/var/lib/libvirt/images] となっていますが、 当例では別の場所に新たにストレージプールを作成して進めます。 |
# ストレージプールとするディレクトリ作成 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-type linux \ --os-variant ubuntu20.04 \ --network bridge=br0 \ --graphics none \ --console pty,target_type=serial \ --location 'http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/' \ --extra-args 'console=ttyS0,115200n8 serial'
Starting install... # インストールが開始される # インストール終了直後、一旦ホスト側に戻り、ゲストをシャットダウン root@dlp:~# virsh shutdown ubuntu2004 Domain template is being shutdown # ゲスト領域をマウントしてサービスを有効にする root@dlp:~# guestmount -d ubuntu2004 -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 ubuntu2004 --console Ubuntu 20.04 LTS ubuntu ttyS0 ubuntu login: |
上で指定しているオプションの意味です。その他多数のオプションは [man virt-install] で確認可能です。
--name
仮想マシンの名前を指定
--ram
仮想マシンのメモリ容量を指定 (単位は M)
--disk path=xxx ,size=xxx
[path=] で仮想マシンのディスクの保管場所を指定 (デフォルトは [/var/lib/libvirt/images] 配下)
--vcpus[size=] で仮想マシンのディスク容量を指定 (単位は G)
仮想マシンの仮想 CPU 数を指定
--os-type
ゲスト OS の OS タイプを指定
--os-variant
ゲスト OS の種類を指定
--network# osinfo-query os で指定可能な種類を確認可能
仮想マシンのネットワークタイプを指定
当例ではゲスト OS にブリッジ接続させたいため、[--network bridge=br0] としている。
[br0] はインストールの項の [3] で設定したブリッジインターフェースを指定している。
物理マシンが NIC を複数枚搭載しており、且つ ブリッジインターフェースを複数設定しており、仮想マシンからも同様に複数の
ネットワークインターフェースを使いたい場合は、改行して複数指定する。
--graphics
グラフィクスを指定 ([none] 指定でグラフィックスを使用しない)
--console
コンソールタイプを指定
--location
インストール元を指定
--extra-args
インストール時にカーネルに渡すパラメータを指定
|
[2] | ゲスト OS 側からホスト OS 側へのコンソールの切り替えは Ctrl + ] キーです。 ホスト OS 側からゲスト OS 側へのコンソールの切り替えは [virsh console (ゲストの名前)] とコマンドを入力します。 |
focal@ubuntu:~$ # Ctrl + ] キー root@dlp:~# # ホスト側のコンソールに切り替わった # ゲストOS [ubuntu2004] のコンソールに切り替え root@dlp:~# virsh console ubuntu2004 Connected to domain template Escape character is ^] # Enterキー focal@ubuntu:~$ # ゲスト側のコンソールに切り替わった |
[3] | 作成した仮想マシンは容易に複製可能です。
|
# ホスト側のコンソール root@dlp:~# virt-clone --original ubuntu2004 --name ubuntu2004_org --file /var/kvm/images/ubuntu2004_org.img Allocating 'ubuntu2004_org.img' | 20 GB 00:09 Clone 'ubuntu2004_org' created successfully. # ディスクイメージ root@dlp:~# ll /var/kvm/images/ubuntu2004_org.img -rw------- 1 root root 3040804864 Jun 2 19:38 /var/kvm/images/ubuntu2004_org.img # 定義ファイル root@dlp:~# ll /etc/libvirt/qemu/ubuntu2004_org.xml -rw------- 1 root root 5061 Jun 2 19:38 /etc/libvirt/qemu/ubuntu2004_org.xml |