GNU/Linux >> Linux の 問題 >  >> Linux

Manjaro/ArchlinuxにKVM/QEMUをインストールする方法

このページについて

  1. QEMUとは何ですか?
  • 前提条件
  • システムアーキテクチャとCPU仮想化サポートの確認
  • QEMUおよびVirt-Managerパッケージのインストール
  • root以外のユーザーにKVM/QEMU仮想化の使用を許可する
  • virt-managerを使用してQEMU/KVMのインストールを確認する
  • virt-managerを使用して新しい仮想マシンを作成する
  • 結論
  • KVM カーネルベースの仮想マシンの頭字語です。 、Linuxカーネルモジュールに基づく仮想化のためのテクノロジーソリューションです。 KVMは、ハードウェア仮想化拡張機能IntelVTまたはAMD-VをサポートするLinuxx86マシンで実行されるオープンソースソフトウェアソリューションです。 。 KVMカーネルモジュールはバージョン2.6.20以降Linuxカーネルに出荷されており、FreeBSDやIllumosなどの他のオペレーティングシステムにロード可能なカーネルモジュールとして移植されています。

    KVMテクノロジーは、Linuxマシンをホストマシンと呼ばれるハイパーバイザー仮想化に変えます。ホストマシンでは、仮想マシン(VM)と呼ばれる複数の分離されたシステムを作成できます。各仮想マシンにはシステム(Linux、Windows、またはBSDのいずれか)があり、メモリ、CPU、ネットワークカード、ディスク、グラフィックなどのプライベート仮想化ハードウェアもあります。

    QEMUとは何ですか?

    QEMU またはクイックエミュレータ は、ハードウェア仮想化用のオープンソースシステムエミュレーターおよびバーチャライザーです。通常、仮想マシンを実行するためのKVMカーネルモジュールで仮想化ツールとして使用されます。ゲストマシン/仮想マシンで優れたパフォーマンスを実現するために、IntelVTやAMD-Vなどのハードウェア仮想化拡張機能を利用します。 QEMU / KVM仮想化は、主にデータセンターのハイパーバイザーとして使用されます。

    このガイドでは、Manjaro/ArchlinuxマシンでKVM/QEMU仮想化をセットアップする方法を学習します。また、GUIアプリケーション「virt-manager」(仮想マシンを管理するためのデスクトップユーザーインターフェイス)を使用して最初の仮想マシンを作成する方法についても学習します。

    前提条件
    • x86または64ビットアーキテクチャを備えたManjaro/Archlinux。
    • 仮想化をサポートするCPU/プロセッサ(Intel VTまたはAMD-V)。
    • sudoroot権限を持つroot以外のユーザー。
    システムアーキテクチャとCPU仮想化サポートの確認

    まず、IntelCPU用の仮想化アクセラレーションIntelVTおよびAMDCPU用のAMD-vのマシンアーキテクチャとハードウェアサポートを確認します。

    1.次のコマンドを実行して、システムのシステムアーキテクチャを確認します。

    uname -m

    次の出力が得られます。

    Linux machine1 5.4.134-1 #1 SMP PREEMPT Tue Jul 06 08:10:03 UTC 2021 x86_64 GNU/Linux

    ご覧のとおり、現在、「 x86_64」を備えたLinuxシステムを使用しています。 "または"64ビット 「アーキテクチャとカーネルバージョン」5.4 "。

    2.次に、次のコマンドを実行して、ハードウェア仮想化のサポートを確認します。

    sudo lscpu | grep Virtualization

    Intelプロセッサの場合、以下のような出力が表示されます。

    Virtualization:                  VT-x

    また、AMDプロセッサの場合、以下は同様の出力です。

    Virtualization:                  AMD-V

    3.オプションで、次のコマンドを使用して、マシンでネストされた仮想化を有効にできます。

    sudo modprobe -r kvm_intel
    sudo modprobe kvm_intel nested=1

    その後、次のコマンドを実行して、ネストされた仮想化を確認します。

    cat /sys/module/kvm_intel/parameters/nested

    "Y"のような出力が得られた場合 または"1" 、これは、機能のネストされた仮想化が有効になっていることを意味します。それ以外の場合は、「そのようなファイルまたはディレクトリはありません」というエラーメッセージが表示されます。 。

    QEMUおよびVirt-Managerパッケージのインストール

    1. qemuおよびvirt-managerパッケージをインストールするには、以下のコマンドを実行します。

    sudo pacman -S qemu virt-manager libvirt virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat ebtables libguestfs

    manjaroシステムの場合、「 iptables」間でパッケージの競合が発生します "と"ebtables "。「y」と入力します "デフォルトのiptablesパッケージを削除し、" ebtables に置き換えます "と"nftables "。

    以下は、知っておく必要のある重要なパッケージです。

    • qemu:オープンソースのマシンエミュレーターおよびバーチャライザー。
    • virt-manager;仮想マシンを管理するためのGUIアプリケーション。
    • libvirt:KVM、QEMUなどの仮想化エンジンを制御するためのAPI
    • dnsmasq:軽量のDNSフォワーダーとDHCPサーバー。
    • bridge-utils:Linuxイーサネットブリッジを構成するためのユーティリティ。
    • libguestfs:仮想マシン(VM)ディスクイメージを変更するためのツールのセット。

    2.次に、次のコマンドを使用してlibvirtdサービスを開始して有効にします。

    sudo systemctl enable --now libvirtd

    以下のような出力が得られます。

    Created symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service → /usr/lib/systemd/system/libvirtd.service.
    Created symlink /etc/systemd/system/sockets.target.wants/virtlockd.socket → /usr/lib/systemd/system/virtlockd.socket.
    Created symlink /etc/systemd/system/sockets.target.wants/virtlogd.socket → /usr/lib/systemd/system/virtlogd.socket.
    Created symlink /etc/systemd/system/sockets.target.wants/libvirtd.socket → /usr/lib/systemd/system/libvirtd.socket.
    Created symlink /etc/systemd/system/sockets.target.wants/libvirtd-ro.socket → /usr/lib/systemd/system/libvirtd-ro.socket.

    3.その後、次のコマンドを実行して、libvirtdサービスのステータスを確認します。

    sudo systemctl status libvirtd

    そして、以下のような出力が表示されるはずです。ご覧のとおり、libvritdサービスはアクティブで実行中です。

    ? libvirtd.service - Virtualization daemon
         Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: disabled)
         Active: active (running) since Fri 2021-07-23 10:33:25 UTC; 6s ago
    TriggeredBy: ? libvirtd-ro.socket
                 ? libvirtd.socket
                 ? libvirtd-admin.socket
           Docs: man:libvirtd(8)
                 https://libvirt.org
       Main PID: 16828 (libvirtd)
          Tasks: 19 (limit: 32768)
         Memory: 16.4M
            CPU: 226ms
         CGroup: /system.slice/libvirtd.service
                 ??16828 /usr/bin/libvirtd --timeout 120
    > 非rootユーザーにKVM/QEMU仮想化の使用を許可する

    デフォルトでは、ユーザー「root」のみが仮想マシンを作成および管理できます。ルート以外のユーザーが仮想マシンを作成および管理できるようにするには、以下のlibvirtd構成に従う必要があります。

    1.次のコマンドを実行して、libvirtd構成を編集します。

    sudo nano /etc/libvirt/libvirtd.conf

    オプション「unix_sock_group」のコメントを解除します "と入力し、グループ名を" libvirt "。

    # Set the UNIX domain socket group ownership. This can be used to
    # allow a 'trusted' set of users access to management capabilities
    # without becoming root.
    #
    # This setting is not required or honoured if using systemd socket
    # activation.
    #
    # This is restricted to 'root' by default.
    unix_sock_group = "libvirt"

    その後、オプション「 unix_sock_rw_perms」のコメントを解除します "そして権限をデフォルトのままにします"0770 "。

    # Set the UNIX socket permissions for the R/W socket. This is used
    # for full management of VMs
    #
    # This setting is not required or honoured if using systemd socket
    # activation.
    #
    # Default allows only root. If PolicyKit is enabled on the socket,
    # the default will change to allow everyone (eg, 0777)
    #
    # If not using PolicyKit and setting group ownership for access
    # control, then you may want to relax this too.
    unix_sock_rw_perms = "0770"

    Ctrl + x を押して、構成を保存します ボタンを押してyと入力します 、次に入力

    2.次に、ユーザーをグループ「 libvirt」に追加します "次のコマンドを使用します。

    sudo usermod -a -G libvirt username

    3.その後、libvirtdサービスを再起動して、新しい構成を適用します。

    sudo systemctl restart libvirtd

    これで、グループ「libvirt」内のすべてのユーザーが仮想マシンを作成および構成できるようになります。

    virt-managerを使用してQEMU/KVMのインストールを確認する

    次に、アプリケーション「 virt-manager 」を開きます 「アプリケーションメニューから。

    1.メニュー[編集]->[接続の詳細]をクリックします "virt-managerアプリケーションで。

    2.[概要]タブ 「virt-managerが自動的に「qemu:/// system」に接続するのがわかります "。

    3.[仮想ネットワーク]タブに移動します "と表示されます"デフォルト 「ネットワーク構成。

    • インターフェース:virbr0
    • 起動時の自動起動:はい
    • IPアドレス:192.168.122.0/24
    • 範囲DHCPIPアドレス:192.168.122.2-192.168.122.254
    • タイプネットワーク:NAT

    4.次に、[ストレージ]タブに移動します 」、「デフォルト」が表示されます 「プールストレージ構成。

    • タイプ:ファイルシステムディレクトリ
    • サイズ:ディスクによって異なります
    • 場所:/ var / lib / libvirt / images
    • 起動時の自動起動:はい

    すべての仮想マシンイメージは、このデフォルトのストレージであるディレクトリ " / var / lib / libvirt / imagesで利用できます。 "。

    5.次に、[ +]ボタンをクリックします "ISOイメージファイル用の新しいプールストレージを作成します。すべてのISOファイルオペレーティングシステムがこのプールで利用可能になります。

    以下のようにストレージ構成に従います:

    • 名前:ISO
    • タイプ:dir:ファイルシステムディレクトリ
    • ターゲットパス:/ path / directory / to / your / iso /

    [完了]をクリックします []ボタンをクリックしてプロセスを完了します。その後、新しい仮想マシンを作成する準備が整います。

    virt-managerを使用して新しい仮想マシンを作成する

    1. virt-managerアプリケーションで、[ +]ボタンをクリックします "新しい仮想マシンを作成します。

    2.[ローカルインストールメディア]を選択します 「」をクリックして、インストールにISOイメージを使用し、「転送」をクリックします。 「続行するにはボタンを押してください。

    3.[参照]をクリックします 「」ボタンをクリックしてISOファイルを選択します。

    次に、プールストレージ「 ISO」を選択します "そしてインストール用のisoファイルを選択します(この例では" Debian 10 ")、[音量を選択]をクリックします "。

    [インストールメディア/ソースから自動的に検出する]オプションのチェックを外します "、インストールするオペレーティングシステムを入力します(この例では" Debian 10 ")、次に[転送]をクリックします もう一度ボタンを押して続行します。

    4.仮想マシンのメモリとCPUの量を選択し、[転送]をクリックします "。

    5.仮想マシンのディスク容量を選択し、[転送]をクリックします "。

    6.構成を再確認し、[完了]をクリックします インストールするボタン。

    7.これで、仮想マシンがQEMU / KVM仮想化で稼働し、OSのインストールを続行できます。

    結論

    おめでとう! Manjaro/ArchlinuxマシンでQEMU/KVM仮想化をセットアップする方法を学びました。また、仮想マシンを作成するためのvirt-managerアプリケーションの使用方法。これで、お好みのオペレーティングシステムで仮想マシンを作成できます。別のLinuxディストリビューション、Windows、またはBSDファミリのOSを使用できます。


    Linux
    1. ArchLinuxにErlangをインストールする方法

    2. CentOS8LinuxにKVMをインストールする方法

    3. 仮想化 Linux サーバーのインストール方法

    1. 仮想マシンにRHEL8をインストールする方法

    2. KVMでvyOSRouterOSをインストールする方法

    3. Manjaro20にNotepad++をインストールする方法

    1. CentOS 8 /RHEL8にKVMをインストールする方法

    2. Ubuntu 16.04 / Ubuntu 14.04にKVM(QEMU)をインストールします

    3. ManjaroおよびArchLinuxにVirtualMachineManager(KVM)をインストールする方法