背景
Linuxの世界に入って以来、私はこれらが存在することに気づきました
(私がそれを呼ぶのが好きなように)私が自分自身を入れることができる様々な「ウサギの穴」。私
これらの「うさぎの穴」を、養子縁組に時間を費やす期間として定義します
ワークフローに特定のテクノロジーを取り入れます。これらのワークフローのほとんどは時々です
非常にまれです。たとえば、私の最初の「ウサギの穴」の1つは、
タイル型ウィンドウマネージャー。使用する人の割合はすでに多くありません
デスクトップ上のLinuxは、タイル型ウィンドウマネージャーを設定することは言うまでもありません。の一つ
私が最近入った「うさぎの穴」–したがってこのタイトル
記事–VirtualBoxからvirt-managerに切り替えています。私はすでに見ていました
このQEMU/KVMに関する多くのビデオや記事はすでにあります。だからそれは
私が最終的にこれを拾うことは予測可能です。
はじめに
以前のブログでは、gnome-boxesについて説明しました。ただし、
非常に人気のある別の仮想マシンマネージャーも
virt-manager。非常に使いやすいですが、gnome-boxes
virt-manager
と比較して、大量の構成を提供していません 。
さらに、virt-manager
また、より良いパフォーマンスを提供します
KVMを利用しているため、VirtualBoxと比較して。この記事では、私は願っています
私の経験のいくつかと私がこれから学んだことを共有するために
うさぎの穴。
ただし、その前に、いくつかのことを明確にしておきたいと思います。
- ハイパーバイザー :ハイパーバイザーは、実行と実行を可能にするソフトウェアです。
1台のマシンで複数の異なるオペレーティングシステムを管理します。タイプ1
タイプ2ハイパーバイザーが実行されている間、ハイパーバイザーはハードウェア上で直接実行されます
ハードウェアにインストールされているオペレーティングシステムの最上位。 - KVM –これは翻訳を担当する低レベルのカーネルモジュールです
ゲストオペレーティングシステムのCPU命令を、ホストが
カーネルは理解できます。これは基本的にLinuxカーネルが機能することを可能にするものです
(タイプ1)ハイパーバイザーとして[1]。 - QEMU –QEMUはQuickEmulatorの略です。さまざまなハードウェアとCPUをエミュレートします
アーキテクチャ。 QEMUはできます KVMで動作しますが、単独で使用することもできます
[2]。ただし、エミュレーションが行われると、さまざまなパフォーマンスの問題が発生します。
完全にソフトウェアを介して。現在、KVM自体も多くのエミュレートできません
ハードウェア。したがって、QEMU+KVMスタックはハイパーバイザーとして最も一般的に使用されます。 - libvirt – libvirtは、QEMUを介して仮想マシンを管理するために使用できるAPIです。
libvirtd
というデーモンがありますvirsh
と呼ばれるコマンドラインユーティリティ [3]。
ただし、virsh
の使用には慣れていません。 それは私にとってもう一つのうさぎの穴です。 - virt-manager –最後に、これは仮想マシンを管理するためのGUIプログラムです。それは使用しています
libvirt
仮想化スタックの下位レベルのコンポーネントと対話するため。
主にユーザーとしてこれを操作します。
virt-managerのインストール
通常、virt-managerをインストールしようとすると、libvirtコンポーネントが自動的にプルされます。
依存関係。ただし、qemu
はオプションの依存関係であるため、明示的に指定する必要があります。
Arch Linuxでは、次の2つのパッケージのみが必要でした:
上記のスクリーンショットに示されている必要なパッケージを必ず確認してください
システムへのインストール中に引き込まれます。
virt-managerの使用
virt-managerはGUIプログラムです。そのため、そのユーザーインターフェースは、実際には多くの説明を必要としないはずです。
注意すべき点の1つは、libvirtd
が必要であるということです。 virt-managerを使用するために実行されているサービス。
# systemctl start libvirtd
ちょっとしたメモとして、libvirt
を開始します 他にもいくつかのサービスを開始するので、次のサービスを実行します
VMの使用が終了したときのコマンド:
# systemctl stop "libvirt*" "virt*"
仮想ディスク
virt-managerはqcow2
を使用します 仮想ディスクのストレージ形式。これから
記事はvirt-managerへの移行についてです、おそらくいくつかの仮想があります
ディスクが実装されているマシン。幸い、qemu-img
があります ユーティリティ。
たとえば、vdi
から画像を変換するには qcow2
にフォーマットします :
qemu-img convert -O qcow2 -f vdi <image.vdi> <output_file.qcow2>
以下を呼び出すことで表示できる他の形式もサポートされています。
qemu-img --help
VirtualBoxイメージもova
で提供されます フォーマット。そして、あなたはそのフォーマットを見つけることができません
前のコマンドのヘルプ出力にリストされています。
ただし、ova
の検査では ファイル:
これは明らかに単なるtarアーカイブであり、tar
を使用して簡単に抽出できます。 :
vmdk
があります qcow2
に簡単に変換できる仮想ディスク 。
VMへのSSH
VirtualBoxで仮想マシンを作成するときはいつでも、ブリッジされるように構成します
アダプタ。そうすれば、VMも自宅のLAN上にあり、他のようにSSHで接続できます。
他のマシン。ただし、デフォルトでは、virt-managerのVMはに接続されます
仮想ネットワーク(NAT)。 IPは、ハイパーバイザーによって内部的に割り当てられます。
ホームルーターは知りません。したがって、ssh
を実行しようとすると そのIPを使用してVMに、
ゲートウェイにはそのIPが何であるかがわからないため、機能しません。
ルーターに仮想マシンにもIPを割り当てることができた方法
最初にネットワークブリッジを作成してから、のネットワーク構成を編集します。
スクリーンショットに示されているVMは、ブリッジソースのものであり、VMが起動したときのものです。
LAN上の他のデバイスからアクセス可能なIPを取得します。
ネットワークブリッジの設定は、ArchWiki[4]などのサイトで十分に文書化されています。
私はNetworkManagerを使用しており、手順はいくつか入力するだけで簡単でした。
コマンド。ブリッジ名はbr0
です。 それにスレーブとして割り当てられたインターフェース
ブリッジはeth0
。
nmcli connection add type bridge ifname br0 stp no
nmcli connection add type bridge-slave ifname eth0 master br0
nmcli connection down eth0
nmcli connection up bridge-br0
このようにして、VMとの間で貼り付けを簡単にコピーできます。
VMと私のホストの両方を使用しているときにキーボード/マウスを絶えずエスケープする
同時に。
そのすべてを理解した後、私はついにvirt-managerをプライマリとして使用できるようになりました
仮想マシンマネージャー。今のところ以上です。この記事がお役に立てば幸いです。
参考資料
- カーネルベースの仮想マシン
- KVMとQEMU
- Libvirt FAQ
- ネットワークブリッジ| Arch Wiki