zoukankan      html  css  js  c++  java
  • 在Arch Linux/Manjaro上安装KVM、QEMU和Virt Manager的方法

    1. 什么是KVM

    KVM(Kernel-based Virtual Machine的缩写),是内核内建的虚拟机,追求简便的运作。例如运行虚拟机仅需要加载相应的 kvm 模块,但是KVM需要芯片支持虚拟化技术(Intel的VT扩展,或是AMD的AMD-V 扩展)。
    在KVM中,可以运行各种GNU/Linux,Windows 或其他系统镜像(例如FreeBSD,MacOS)。每个虚拟机都可以提供独享的虚拟硬件:网卡,硬盘,显卡等(虚拟机甚至可以直通主机设备,例如GPU PCI pass through)。

    2. 准备KVM

    KVM需要host的处理器支持虚拟化,通过下吗命令查看host是否支持

    $ LC_ALL=C lscpu | grep Virtualization
    

    例如我的AMD处理器显示:

    Virtualization:                AMD-V
    

    注意:虚拟化支持可以在BIOS中开启。

    3. 安装KVM

    安装qemu, libvirt, ovmf, virt-manager

    # pacman -S qemu libvirt ovmf virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat
    
    • kvm 负责CPU和内存的虚拟化
    • qemu 向Guest OS模拟硬件(例如,CPU,网卡,磁盘,等)
    • ovmf 为虚拟机启用UEFI支持
    • libvirt 提供管理虚拟机和其它虚拟化功能的工具和API
    • virt-manager 是管理虚拟机的GUI

    : 实际上,这步只需要安装qemu就可以使用虚拟机,但是qemu-kvm接口有些复杂,libvirt和virt-manager让配置和管理虚拟机更便捷。

    还要安装ebtables和iptables软件包:

    sudo pacman -S ebtables iptables

    二、在Arch Linux/Manjaro上安装libguestfs

    libguestfs是一组用于访问和修改虚拟机(VM)磁盘映像的工具。

    首先在/etc/pacman.conf上启用AUR:

    $ sudo vim /etc/pacman.conf

    # Should have below lines

    [archlinuxfr]

    SigLevel = Never

    Server = http://repo.archlinux.fr/$arch

    然后更新你的Pacman数据库:

    sudo pacman -Syy

    参考:pacman命令_Linux pacman命令使用详解:一个软件包管理器

    使用AUR帮助程序安装libguestfs工具:

    sudo pacman -S yaourt

    yaourt -S --noconfirm --needed libguestfs

    三、启动KVM libvirt服务

    安装完成后,启动并启用libvirtd服务以在启动时启动:

    sudo systemctl enable libvirtd.service

    sudo systemctl start libvirtd.service

    状态显示正在运行,如下图所示:

    在Arch Linux/Manjaro上安装KVM、QEMU和Virt Manager的方法

    四、启用普通用户帐户以使用KVM

    由于我们希望使用我们的标准Linux用户帐户来管理KVM,因此我们将KVM配置为允许此操作。

    打开文件/etc/libvirt/libvirtd.conf进行编辑:

    sudo pacman -S vim

    sudo vim /etc/libvirt/libvirtd.conf

    将UNIX域套接字组所有权设置为libvirt(第85行):

    unix_sock_group = "libvirt"

    设置R/W套接字的UNIX套接字权限(第102行):

    unix_sock_rw_perms = "0770"

    将你的用户帐户添加到libvirt组:

    sudo usermod -a -G libvirt $(whoami)

    newgrp libvirt

    重启libvirt守护进程:

    sudo systemctl restart libvirtd.service

    五、启用嵌套虚拟化(可选)

    嵌套虚拟化功能使你可以在VM中运行虚拟机,通过启用内核模块为kvm_intel启用嵌套虚拟化:

    sudo modprobe -r kvm_intel

    sudo modprobe kvm_intel nested=1

    要使此配置持久,请运行:

    echo "options kvm-intel nested=1" | sudo tee /etc/modprobe.d/kvm-intel.conf

    确认嵌套虚拟化设置为是:

    $ systool -m kvm_intel -v | grep nested

    nested              = "Y"

    nested_early_check  = "N"

    $ cat /sys/module/kvm_intel/parameters/nested 

    Y

    到这里就全部完成了。

    扩展/增加KVM虚拟机(VM)磁盘大小的方法

    KVM + MacOS

    KVM 安装 win10

    KVM + PCI Passthrough

    参考资料

    https://wiki.archlinux.org/index.php/KVM

    https://wiki.archlinux.org/index.php/Libvirt

    https://ywnz.com/linuxjc/4953.html

    https://www.jianshu.com/p/392ae8181dc3

  • 相关阅读:
    hdu 1455 N个短木棒 拼成长度相等的几根长木棒 (DFS)
    hdu 1181 以b开头m结尾的咒语 (DFS)
    hdu 1258 从n个数中找和为t的组合 (DFS)
    hdu 4707 仓鼠 记录深度 (BFS)
    LightOJ 1140 How Many Zeroes? (数位DP)
    HDU 3709 Balanced Number (数位DP)
    HDU 3652 B-number (数位DP)
    HDU 5900 QSC and Master (区间DP)
    HDU 5901 Count primes (模板题)
    CodeForces 712C Memory and De-Evolution (贪心+暴力)
  • 原文地址:https://www.cnblogs.com/jpinsz/p/12345982.html
Copyright © 2011-2022 走看看