• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

virsh(libvirt)

date: 2021-11-30 excerpt: virshの使い方

tag: linuxvirshlibvirt


virshの使い方

概要

  • CUIで仮想マシンの作成、管理ができる
    • QEMU, VirtualBoxなどがあるが、簡単さの観点で最初の選択肢になる
  • ネットワークの複雑な設定など、dockerでは難しいことができる
  • 実態はlibvirtとqemuのラッパー
  • GUIで更にラップしたものとして、 virt-manager, virt-viewer がある

インストール

ubuntu

$ sudo apt install qemu-kvm libvirt-daemon-system

動作確認

$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
# このようなメッセージが出ればOK 

ユーザグループの追加

$ sudo usermod -aG libvirt $USER
$ sudo usermod -aG kvm $USER
$ sudo systemctl restart libvirtd.service

環境変数の追加

$ export LIBVIRT_DEFAULT_URI=qemu:///system

権限の追加

$ sudo setfacl -m u:libvirt-qemu:x /path/to/dir
$ sudo setfacl -R -m u:libvirt-qemu:rX /path/to/dir/vm

QEMUの権限の設定

$ sudo chmod u+s /usr/lib/qemu/qemu-bridge-helper

各コマンド

  • ゲストの操作
    • virsh list --all - すべてのvmの一覧を表示
    • virsh pool-list - すべてのpoolの一覧を表示
    • virsh dominfo <guest name> - vmの情報を表示
    • virsh start <guest name> - vmの起動
    • virsh reboot <guest name> - vmの再起動
    • virsh shutdown <guest name> - vmのシャットダウン
    • virsh destroy <guest name> - vmの強制終了
    • virsh console <guest name> - vmのコンソールに接続
    • virsh suspend <guest name> - vmの一時停止
    • virsh undefine <guest name> - vmの削除
    • virsh edit <guest name> - vmの設定ファイルを編集(メモリやCPUの割当など)
  • ネットワークの操作
    • virsh net-start <virtual network name> - virtual networkの起動
    • virsh net-list - virtual networkの一覧を表示
    • virsh net-dhcp-leases default - virtual networkのdhcpのリース情報を表示(IPアドレスなど)
    • virsh net-edit <virtual network name> - virtual networkの設定ファイルを編集
  • その他
    • virt-clone - vmのクローン

VMの作成

  • qeumu-imgコマンドを使って、イメージファイルを作成する
  • インストーラーのisoファイルをダウンロードする
$ virt-install \
  --name ubuntu-server \
  --ram 2048 \
  --disk path=./disk.qcow2,size=50 \
  --vcpus 2 \
  --os-type linux \
  --network bridge=virbr0 \
  --graphics none \
  --console pty,target_type=serial \
  --location './ubuntu-22.04.2-live-server-amd64.iso' \
  --extra-args 'console=ttyS0,115200n8 serial'

参考

  • libvirt
  • Run Debian 11 (Bullseye) on KVM using Qcow2 Cloud Image


linuxvirshlibvirt Share Tweet