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

  • 相关阅读:
    Qt之QFileSystemWatcher
    office2007-安装程序找不到office.zh-cn*.文件
    Maven父子项目配置-多模块(multi-modules)结构
    Maven项目打包,Jar包不更新的问题
    开发Spring Shell应用程序
    Spring Shell参考文档
    Spring Shell介绍
    maven项目打包时生成dependency-reduced-pom.xml
    使用VBA批量转换Excel格式,由.xls转换成.xlsx
    修改MyEclipse取消默认工作空间
  • 原文地址:https://www.cnblogs.com/jpinsz/p/12345982.html
Copyright © 2011-2022 走看看