仮想機械(virtual machine)を管理するための抽象化ライブラリ。 抽象化しているため、さまざまな仮想機械を制御できるAPIを提供している。現在は、XenとQEMUおよびKVMを制御することが出来る。 また、ライセンスとしては、LGPLで配布される。このため、Xenのパッケージに含まれるソースコードがすべてGPLになっているのにくらべ使いやすい。 また、コマンドラインとしては、virshも同梱されている。これは、Xenのパッケージでは、xmコマンドに相当する。
やりたいこと 対象 インストール 0. KVM の インストールと設定 LINUX Kernel の設定 1. 環境確認 2. kernel パラメータの調整 (IOMMU を有効化) 参考: オプションの種類を確認する方法 3. kernel モジュールのロード設定 4. grub へ反映 5. 再起動 KVM の設定 6. KVM の hook 設定 VM の設定と起動 7. UEFI 起動を可能にする 8. 対象の VM を設定する 9. GPU を VM に設定する 10. 対象のVMを起動する 参考文献 やりたいこと libvirt で仮想マシンを立てているが、GPU を使いたい 対…
1. Qemuを生で起動 1.1 libvirtからの起動を模擬したい場合 マスターキー Qemuモニター 仮想ネットワーク 1.2 とにかくQemuが使いたい場合 2. Qemuモニター 2.1 HMP (readline) 2.2 QMP (control) 2.3 libvirt配下のQemuに対するモニターコマンド 3. リモートからのvirt-manager 3.1 リモートでvirt-managerを動かす 3.2 リモートvirt-managerを使って、音声を聞く 4. ディスクイメージ操作 4.1 guestfish 4.2 LIO/tcmu-runner 5. その他小ネタ…
引用元:linux-kvm.org 前の記事 本記事では、KVMの初期設定が完了していることを前提としています。 初期設定手順に興味のある方は、以下の記事もご参照ください。 endy-tech.hatenablog.jp virt-manager、Cockpitのセットアップについては、以下の記事をご参照ください。 endy-tech.hatenablog.jp endy-tech.hatenablog.jp お伝えしたいこと KVMの基本操作をケース別に紹介します。 基本はCLIの手順紹介がメインです。 virt-managerとCockpitのスクリーンショットも載せていますが、今後画面の…
libvirtに備わっているネットワークフィルタ機能 (nwfilter) をVMに適用してみる。 libvirtの公式ドキュメントを参考に作業を進める。 nwfilterは(バックエンドがnftablesであっても)iptablesを使ってフィルタリングを行うので、まずはnwfilter未設定時のiptables設定を確認する。 # iptables -nvL Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 161 14807 LIBVIRT…
KVMでLVMベースのストレージプールを作ってデフォルトにしてみる。 LVMベースのストレージプールは、基本的に(通常の方法では)シンプロビジョニングは使えないが、性能面では有利らしい。 一番最初に、LVMベースのストレージプールに対応しているか確認。 $ export LIBVIRT_DEFAULT_URI='qemu:///system' $ virsh pool-capabilities | grep "'logical' supported='yes'" <pool type='logical' supported='yes'> 次に、現在定義されているストレージプールを確認。 $ v…
KVMで稼働中のVMにディスクをオンラインで追加してみる。 ディスクのイメージファイルを作成してVMにアタッチする。 host$ dd if=/dev/zero of=vdb.img bs=1M seek=2048 count=0 host$ virsh attach-disk kvmdom --source $PWD/vdb.img --target vdb VM側でディスク追加を確認する。 host$ virsh console kvmdom kvmdom# fdisk -l /dev/vdb Disk /dev/vdb: 2 GiB, 2147483648 bytes, 4194304 …
KVMで最初のディスクドライブ以外からブートさせてみる。 libvirtのドキュメントを参考に、 対象VM(ここではkvmdom)のXMLファイルを書き換える。 $ virsh edit kvmdom <os> <type arch='x86_64' machine='pc-q35-4.2'>hvm</type> - <boot dev='hd'/> </os> ... <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='.../vdb.img'/> <target dev='vdb…
Internal error:Failed to initialize a valid firewall backend というエラーで仮想NATが起動しませんでした 前まではebtablesを入れることで治りましたが 最近公式リポジトリからebtablesが消滅したのでiptables-nftを入れてください sudo pacman -S --needed iptables-nft dnsmasq libvirtdを再起動してください sudo systemctl restart libvirtd https://superuser.com/questions/1063240/libvirt…
前の記事 KVMとlibvirtの初期設定、及びlibvirt CLI (virt-install, libvirt) について基本操作を紹介しました。 endy-tech.hatenablog.jp お伝えしたいこと Cockpit から QEMU+KVM を操作するための初期設定を紹介しつつ、イメージが湧きそうなスクリーンショットを貼りたいと思います。 Cockpit はわかりやすい画面構成なので、細かい使い方については説明不要かなと思います。 使い方で迷った場合は、libvirtの基本として前の記事を参照してみてください。 前の記事 お伝えしたいこと 前提 Cockpit のインストール…
引用元:linux-kvm.org 前の記事 前回はKVM, QEMU, libvirt の概要について紹介しました。 endy-tech.hatenablog.jp お伝えしたいこと 本記事では、KVM+QEMUによる仮想化システムのインストール手順と、libvirt CLI (virt-install, virsh) によるVM作成手順を紹介します。 その後、KVMが本当に正しく構成されているのかを確認する手順と、正しく構成されていなかった場合の対処法について紹介します。 libvirtベースのCLI/GUIツールの概要については、前の記事のlibvirt を利用している製品を先にお読みく…