KVM虚拟机入门


来来来,简单了解下,额外知识自己查!

需要使用到 Windows 系统,手头上只有 Linux 的机器,所以自然而然就想到了安装一个 KVM 虚拟机,然后在其中安装多个 Windows 系统。当然,最好是还是使用 PVE 的方式,这样即不用安装什么客户端,直接 UI 界面就可以搞定,而且还有很多实用的功能。

KVM 虚拟机入门


安装 KVM 虚拟机软件

KVM (for Kernel-based Virtual Machine)是针对 x86 硬件上的 Linux 的完整虚拟化解决方案,包含虚拟化扩展(Intel VTAMD-V)。它由一个可加载的内核模块 kvm.ko 组成,提供了核心虚拟化基础设施和特定于处理器的模块 kvm-intel.kokvm-amd.ko

KVM 是 Linux 的一部分。Linux 2.6.20 或更新版本包括 KVM。KVM 于 2006 年首次公布,并在一年后合并到主流 Linux 内核版本中。由于 KVM 属于现有的 Linux 代码,因此它能立即享受每一项新的 Linux 功能、修复和发展,无需进行额外工程。

  • 安装方式
# https://www.qemu.org/download/

# Linux
$ apt-get install qemu
$ yum install qemu-kvm
$ pacman -S qemu

# macOS
$ brew install qemu
$ sudo port install qemu

# Windows
$ pacman -S mingw-w64-x86_64-qemu

很友好的支持了多种 Linux 发行版 - 官方的靠谱

  • 使用 virt-manager 管理虚拟机

virt-manager 应用程序是一个桌面用户界面,用于通过 libvirt 管理虚拟机。它主要针对 KVM 虚拟机,但也管理 XenLXC (linux 容器)。它提供了正在运行的实例概要视图,显示实时性能和资源使用统计信息,并且嵌入式 VNCSPICE 查看器为来用户提供了一个完整的图形控制台。

  • 安装方式
# Fedora
$ yum install virt-manager
# Debian
$ apt-get install virt-manager
# Gentoo
$ emerge virt-manager
# OpenBSD
$ pkg_add virt-manager
  • 使用方法 (Virtual Machine Manager)
    • virt-install - 创建新的 libvirt 虚拟机
    • virt-clone - 复制现有 libvirt 虚拟机
    • virt-xml - 编辑现有的 libvirt 虚拟机
# example
$ virt-install --connect qemu:///system \
    --virt-type kvm --name demo --ram 500 \
    --disk path=/var/lib/libvirt/images/demo.img,size=8 \
    --graphics vnc --cdrom /dev/cdrom \
    --os-variant fedora13

参考 homebrew-virt-manager 仓库 - 虽然是四年前的东西了

但是 macOS 系统链接 KVM 还是有些麻烦,官方的工具并没有支持的或者就是支持的并不友好(简单来说,就是不好用),如果要用就只能使用第三方的编译好的版本。下面,就介绍了如果安装和使用的方法,所以很久都没有更新了,但是勉强还能用。

  • 安装方式
# homebrew
$ brew tap jeffreywildman/homebrew-virt-manager
$ brew install virt-manager virt-viewer
$ virt-manager -c test:///default
  • 使用方法
# 连接管理端
$ virt-manager -c 'qemu+ssh://user@libvirthost/system?socket=/var/run/libvirt/libvirt-sock'

# 连接客户端
$ virt-viewer -c 'qemu+ssh://user@libvirthost/system?socket=/var/run/libvirt/libvirt-sock'

virsh 是 KVM 的一个管理工具包

virsh 是一个用于管理虚拟机的命令行工具,是 libvirt 库的一部分,包含直接模式和互动模式。其功能包括启动、关闭、暂停、恢复和重启虚拟机等,还可以对磁盘镜像进行操作。

# 显示关于指定名称的虚拟机的信息
$ virsh dominfo win10

# 列出当前系统上所有的虚拟机
$ virsh list
$ virsh list --all

# 启动指定名称的虚拟机
$ virsh start win10

# 停止指定名称的虚拟机
$ virsh shutdown win10

# 挂起指定名称的虚拟机
$ virsh suspend win10

# 恢复挂起指定名称的虚拟机
$ virsh resume win10

# 重启指定名称的虚拟机
$ virsh reboot win10
# 开机启动虚拟机
$ virsh autostart win10

# 关闭开机启动虚拟机
$ virsh auto start --disable win10

# 将名称为source的磁盘镜像文件添加到虚拟机并将其挂载到target位置
$ virsh attach-disk <domain> <source> <target>
$ virsh attach-disk win10 /path/to/disk.img vdb \
    --type disk --driver qemu --subdriver raw --config --persistent

# 将名称为source的磁盘镜像文件从虚拟机中移除
$ virsh detach-disk <domain> <source>
$ virsh detach-disk myvm --persistent --config vdb

文章作者: Escape
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Escape !