仮想機械(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 を利用している製品を先にお読みく…
この記事はopenSUSE Advent Calendar 2024 5日目の記事です。 KVMを使用して仮想マシン(ゲスト)を作成する際、x86_64の場合は、マシンタイプは pc(i440fx)かq35 のどちらかです。 一方、arm・aarch64の場合非常にたくさんのマシンタイプが存在します。
この記事は、Ansible Advent Calendar 2024 の2日目のエントリです。 はじめに Ansibleで、AWS TransferFamily経由でS3にアクセスするためのロールとそれにアタッチするポリシーを作ります。 Transfer Familyの作成もコード化したかったのですが、現時点ではモジュールがありませんでした。 なお、削除するには削除用のPlaybookを用意することになります。例えば、state:absentに変えただけでは削除順番でエラーになるため入れ替えたり、インスタンスプロファイルが残るので削除するためのモジュールを追加することになるかと思います。 まぁ…
1.はじめに CML2のライセンスが切れた! 私は毎年、Cyber MondayのセールでCMLを購入しています。 昨年は11/27、一昨年は11/29といった感じで11月末の恒例行事でした。 今年は若干ズレて12/3の深夜です。ちょっと間が空いてしまいます。 今買うの得策ではない!だが、検証はしたい! 運の良いことに最近無償版のCMLが提供されました。これを使えば良いということで早速試してみます。 https://learningnetwork.cisco.com/s/question/0D56e0000E3OcmbCQC/cml-28-free-tier 1.はじめに 2.実行環境 3.準…
これは、なにをしたくて書いたもの? 最近、手元のOSをUbuntu Linux 22.04 LTSから24.04 LTSにアップグレードしました。今後はこのブログで扱うOSもUbuntu Linux 24.04 LTSに 切り替えていこうと思います。 今回はVagrantで使っているBoxの日本語化です。 こちらのエントリーの24.04 LTS版を書いていこうと思います。 Vagrantで使っているUbuntu Linux 22.04 LTSを日本語化する - CLOVER🍀 Vagrantで使っているUbuntu Linux 20.04を日本語化する - CLOVER🍀 使用するBoxは、ふ…
はじめに Linuxで仮想マシンを構築できるKVM。最近はVMwareのあれこれで注目度も上がっている気がする。 そんなKVMにも、Ansibleのダイナミックインベントリ用プラグインが公開されている。 今回はそのプラグインを使ってKVMのVMをダイナミックインベントリで読み込み接続するまでをやる。 私がKVMのダイナミックインベントリを使えるようにするまでに経験したエラーとその対処方は最後に説明する。 はじめに VMの構築 VM側の手順 qemu-guest-agentのインストール エージェントの起動 Ansible側の設定、準備 community.libvirtのインストール ライブラ…
Fedoraの変更点シリーズ 過去リリース分の記事は、以下のリンクを参照してください。 Fedoraの変更点シリーズ お伝えしたいこと Fedora 41のリリースノートを読んで、個人的に気になった項目をまとめます。 Fedoraの変更点シリーズ お伝えしたいこと 公式情報の見方 Release Notes & Changes DNF5がデフォルトに NetworkManagerのifcfg形式設定ファイルの提供終了 network-scriptsの提供終了 Kubernetestの複数バージョンがRPMリポジトリで提供されるようになった fedora-repoqueryコマンド (参考) f…
linuxに備わっている仮想化機能を使ってwindows10をゲストOSとして使っていきたいと思います。今回はChatGPTで試行錯誤しながら進めていった結果を解説しながら書いていきたいと思います。こんかいのKVMはPCIパススルーは使用しませんでした。virtio-gpuを用いた方法になります。 ※実際にはゲストOS内であまり3Dアクセラレーションがうまく効いてなかったので改善が必要かと思います。 前提 ・MESAドライバの「libdrm-2.4.121.tar.xz 2024-06-01 17:36 470K 」以降が必要 適切にGPUドライバを最新にしてください ・事前に依存パッケージを…
先週、ビルの保守点検のための停電があって、いくつかのインフラがその影響を受けたのですが、個人的な雑多な検証のために使っていたLinux KVMサーバーのホストOSも起動しなくなってしまいました。 そこで、社内で使っているLinux KVMサーバーを更新することにしました。 古いサーバーの方はお願いしてUbuntuをライブブートしてストレージをマウントしてもらって、そこからqemuファイルと/etc/libvirt/qemuのあたりにあるxmlファイルを新しいサーバーにコピーし、Linuxブリッジも作成して さあ起動だと思ったら、ほとんどのVMはそれだけで済んだものの、一つのVMだけ起動せずにエ…
今年も参加したので(2回目) 去年のブログ⇩ momoka0122y.hatenablog.com 楽しかった 発表たち JVM は Web フロントエンド開発の夢を見るか? GPUの実行モデルを理解してうまく使いたい トヨタにおけるシステムソフトウェア開発の取り組み [スポンサー] なぜオープンソースソフトウェアにコントリビュートすべきなのか[招待講演] リーガルテックにおける検索・推薦技術[スポンサー] 係り受け解析を用いた法律文書中の略称規定の解析についての報告 Kubernetesって何? -大規模なKubernetesを運用するKubernetes as a Serviceチームの話…
テスト用に aarch64 な環境が欲しいが手元に aarch64 ネイティブな環境がなかったため、QEMU のエミュレーションを用いた仮想マシンで cloud-init を使って自動で環境を構築したときのメモ 依存パッケージのインストール virsh や virt-install、cloud-localds を利用するため必要なパッケージをインストールしておく。 sudo apt install virtinst libvirt-system-daemon qemu-system-aarch64 cloud-image-utils cloud-init による自動インストール SSH サーバ…
Libvirt上のWindows 11 ProでLinux上のファイルシステムに少ないオーバーヘッドでアクセスできる、ファイルシステムパススルーをやってみました。思ってたより良さげです。 Libvirtの設定変更 まずはLibvirtの設定を変更します。下記のような記述をLibvirtのドメイン定義ファイルに追記します。この設定の場合、Linux側の /work というディレクトリを work というマウントタグで定義します。address については適当に変更してください。 <domain type='kvm'> <devices> ... <filesystem type='mount' …
概要 目的 手元で自由に遊べる環境が欲しくて久しぶりにKVMでVMを適当に作りたくなったけど、以前やったのがだいぶ昔だったし全然思い出せなかったので再度脳内を整理する やること Ubuntu Server(GUIなしのやつ) にKVMをセットアップする 触れないこと LVM周り とりあえず virt-installでVMを起動するところまで 前提情報 HW構成 CPU: Ryzen9 7900 OS: UbuntuServer24.04 ホストもゲストも同じ メモリ: 32GB ストレージ: SSD 1TB NW構成 サブネット: 192.168.11.0/24 ホストOS: 192.168.…
Red Hatでソリューションアーキテクトをしている田中司恩(@tnk4on)です。 この連載はvSphere環境上にOpenShift Container Platform(以下、OpenShift)およびOpenShift Virtualizationの環境を構築する方法を解説するシリーズです。 第4回はOpenShift Virtualizationのインストールと実行方法について解説します。今後の連載予定は下記の通りです。 第1回:OpenShiftのインストール 第2回:OpenShiftインストール後の作業 第3回:共有ストレージの作成(NFS CSIドライバーの構築) 第4回:O…
夏といえば……(ボーナスによる)鯖のリプレースですよね!いってみよう! フェリーラ鯖2024 備忘録 minecraft 1.21が出て月を跨ぎました。皆さま如何お過ごしでしょうか。 ちょっと思ったより面白くて時間が消し飛んでいます。よくねえ…… 物理環境 と、いうわけで。 よく考えるとおといろはではなくない? 鯖が物理的にめっちゃめちゃ新しくなりました!すげえ! M/B:GIGABYTE GA-Z87X-OC → MSI PRO Z790-A WIFI DDR4 CPU:core i7 4770K → core i7 14700 mem:DDR3(たぶん) 32GB(8*4) → DDR4 …
Raspberry Pi でKVMの練習をする。 Server World 様を参考にさせていただきました。 led-mirage/Raspi4-XrdpGuide 様を参考にさせていただきました。 ありがとうございました。 令和6年6月現在、下記手順を検証済みです。無駄な手順は極力省きました。 所要時間1時間です(愚者の試行錯誤の時間は除く)。 手順 (1) ラズパイ4の 4GB 版を使った。 ぜひUSB3.0から起動してください。そうでないと時間がかかって死にました。 (2) RASPBERRY PI OS (64-BIT)をセットアップする。SSHは有効にしておく。 (3) アップデート…