Ubuntu1604下使用qemu+kvm搭建spice虚拟化云

本文详细介绍了如何在Ubuntu1604系统上使用qemu+kvm及spice协议搭建虚拟化环境,特别是远程访问win7虚拟机的步骤。涉及硬件虚拟化检查、依赖包安装、spice组件配置、虚拟机管理器virt-manager的使用,以及virt-viewer客户端的连接和USB重定向。通过这一过程,可以实现远程访问和管理虚拟机云桌面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务器端基于ubuntu1604系统(ubuntu1804也试过,但是因为系统版本太新,spice相关依赖包编译有bug而失败了),采用virt-manager+kvm的方式搭建虚拟机运行环境,远程虚拟化协议采用spice。其中远程虚拟机运行的是win7系统。

本地客户端是windows10系统,安装virt-viewer软件用于访问spice远程虚拟机云桌面。


1)首先运行如下命令,查看cpu是否支持硬件虚拟化功能(一般都支持。虚拟化开关没打开也不行,需要进BIOS打开对应选项),如果支持才能进行后面的一系列操作。

~$ egrep "(vmx|svm)" --color /proc/cpuinfo


2)创建一个本地目录,用于存放spice相关源码包和远程虚拟化相关依赖包。

~$ mkdir spice-sources


3)然后是安装必需的虚拟机管理器、kvm环境和相关依赖包。

~$ sudo apt install qemu qemu-kvm virt-manager virt-viewer libvirt-bin bridge-utils build-essential autoconf git-core libtool liblog4cpp5-dev libavcodec-dev libssl-dev xlibmesa-glu-dev libasound-dev libpng12-dev libfreetype6-dev libfontconfig1-dev libogg-dev libxrandr-dev kvm libgcrypt-dev libsdl-dev libnss3-dev libpixman-1-dev libxfixes-dev libjpeg8-dev libsasl2-dev python-pyparsing manpages-posix manpages-posix-dev glibc-doc spice-client-glib-usb-acl-helper spice-client-gtk spice-vdagent libglib2.0 libpixman-1-dev libssl-dev libjpeg-dev libsasl2-dev libssl-dev libpixman-1-dev libjpeg-turbo8-dev libusb-1.0 libgtk-3-dev virtinst ubuntu-vm-builder uml-utilities

创建完kvm模块,可以用命令验证是否已经安装成功,输入如下命令:

~$ sudo virsh -c qemu:///system list

如果返回如下截图,这说明kvm已经安装完毕。


4)搭建spice相关虚拟化环境。spice包含3部分:client、protocol和server。

4.1)首先要安装支持智能卡的相关依赖包。

~$ git clone git://people.freedesktop.org/~alon/libcacard

~$ cd libcacard/

~$ ./autogen.sh --enable-debugger LDFLAGS='-pthread'

~$ make && sudo make install && cd ..

 

4.2)安装spice协议。

~$ wget http://spice-space.org/download/releases/spice-protocol-0.12.13.tar.bz2

~$ tar xjvf spice-protocol-0.12.13.tar.bz2

~$ cd spice-protocol-0.12.13/

~$ mkdir m4

~$ ./configure

~$ make && sudo make install && cd ..

 

4.3)安装usb重定向相关库(也可以不安装。如果不安装,则远程访问虚拟云桌面时,客户端的U盘等设备远程虚拟机无法通过重定向挂载和识别)。

~$ wget http://www.spice-space.org/download/usbredir/usbredir-0.7.1.tar.bz2

~$ tar xvf usbredir-0.7.1.tar.bz2

~$ cd ../usbredir-0.7.1/

<think>好的,我现在需要帮助用户解决在Linux上安装和配置KVM虚拟化模块的问题。首先,我要回忆一下KVM的基本要求,包括硬件支持、内核模块和必要的软件包。记得用户可能使用的是基于Debian的发行版,比如Ubuntu,或者是基于Red Hat的,比如CentOS,但用户示例中的引用提到了使用apt,所以可能更偏向Ubuntu。 首先,硬件虚拟化支持是必须的。需要检查CPU是否支持Intel VT-x或AMD-V。用户可能需要运行egrep命令来验证。如果输出中包含vmx或svm,就说明支持。如果用户没有看到这些,可能需要进入BIOS启用虚拟化功能。 接下来是安装软件包的部分。根据引用中的命令,用户需要安装qemuqemu-kvm、libvirt-bin和bridge-utils。不过现在有些包可能有变化,比如libvirt-bin在较新的Ubuntu版本中可能改为libvirt-daemon-system和libvirt-clients。需要确认正确的包名,避免用户安装出错。同时,用户可能还需要安装virt-manager作为图形界面工具,但用户的问题可能只需要命令行配置。 然后是启动并启用libvirtd服务,确保服务在启动时自动运行。这里可能需要使用systemctl命令,但如果是旧版系统,可能需要使用service命令。不过现在大多数系统都使用systemd了,所以应该没问题。 接下来是用户组权限的问题,将当前用户加入kvm和libvirt组,这样用户不需要sudo就能管理虚拟机。用户可能遇到权限问题,所以这一步很重要。 网络配置部分,默认的NAT可能不够,用户可能需要配置桥接网络。这需要修改网络配置文件,比如/etc/network/interfaces或者使用Netplan(Ubuntu 18.04+)。创建桥接接口br0,并将物理网卡ens33加入其中。这部分需要小心,错误的配置可能导致网络断开,所以建议用户备份原配置文件,并在物理服务器上操作,避免远程连接中断。 验证安装是否成功,可以用virt-host-validate命令,确保所有检查都通过。如果出现失败项,需要根据提示解决问题,比如加载内核模块kvm_intel或kvm_amd。 最后,创建虚拟机可以使用virt-install命令,或者使用virt-manager图形界面。用户可能需要提供ISO镜像路径,指定存储、内存和CPU等参数。这一步可能会有依赖问题,比如python3-libvirt是否安装,或者virtinst包是否存在,需要确保这些包已经安装。 在生成相关问题的时候,需要考虑用户可能的后续问题,比如网络配置的详细步骤、权限问题的解决、性能优化、不同发行版的差异以及虚拟机的管理工具等。需要覆盖常见的后续步骤和潜在问题,帮助用户进一步深入学习。 现在需要确保所有的命令和步骤都是最新的,适用于主流的Linux发行版,特别是Ubuntu。同时,引用用户提供的参考信息,正确标注引用标记。注意检查命令中的包名称是否正确,比如libvirt-bin是否已经被替代,必要时更新命令。例如,在Ubuntu 20.04及以上,libvirt-bin已经被替换为libvirt-daemon-system和libvirt-clients,所以安装命令可能需要调整。需要确认这一点,避免给用户错误的指令。 另外,用户可能对桥接网络的配置不太熟悉,需要给出详细的步骤,比如编辑Netplan配置文件,应用配置,并重启网络服务。这部分需要详细但清晰的说明,避免用户操作失误导致网络问题。 总结步骤:检查硬件支持、安装软件包、启用服务、用户组权限、网络配置、验证安装、创建虚拟机。每个步骤都要简明扼要,同时提供必要的命令和解释。确保用户能够一步步跟随操作,顺利完成安装和配置。</think>### Linux系统KVM虚拟化模块安装配置指南 #### 一、硬件环境检查 1. **确认CPU虚拟化支持** 执行命令检查CPU特性: ```bash egrep -c '(vmx|svm)' /proc/cpuinfo ``` 输出值大于0表示支持虚拟化技术。若返回0,需进入BIOS开启Intel VT-x/AMD-V功能[^1]。 2. **验证内核模块加载** KVM依赖内核模块`kvm`和`kvm_intel`(Intel CPU)或`kvm_amd`(AMD CPU): ```bash lsmod | grep kvm ``` #### 二、软件包安装 1. **安装核心组件**(以Ubuntu/Debian为例) 更新仓库并安装必要软件: ```bash sudo apt update sudo apt install qemu qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager ``` - `qemu-kvm`: KVM虚拟化管理程序 - `libvirt-daemon-system`: Libvirt守护进程 - `virt-manager`: 图形化管理工具[^2] 2. **启动服务** 启用并启动libvirt服务: ```bash sudo systemctl enable --now libvirtd ``` #### 三、用户权限配置 将当前用户加入`kvm`和`libvirt`用户组: ```bash sudo usermod -aG kvm,libvirt $USER newgrp libvirt # 立即生效 ``` #### 四、网络桥接配置 1. **创建桥接网络** 修改Netplan配置文件(如`/etc/netplan/01-netcfg.yaml`): ```yaml network: version: 2 renderer: networkd ethernets: ens33: # 物理网卡名称 dhcp4: no bridges: br0: interfaces: [ens33] dhcp4: yes ``` 应用配置: ```bash sudo netplan apply ``` 2. **验证桥接接口** ```bash ip addr show br0 ``` #### 五、安装验证 执行完整性检查: ```bash sudo virt-host-validate ``` 输出应为`✓`标记所有检测项,如下所示: ``` QEMU: Checking for hardware virtualization : PASS ... ``` #### 六、创建虚拟机示例 通过命令行创建虚拟机(需准备ISO镜像): ```bash virt-install \ --name ubuntu22 \ --ram 2048 \ --vcpus 2 \ --disk path=/var/lib/libvirt/images/ubuntu22.qcow2,size=20 \ --os-type linux \ --os-variant ubuntu22.04 \ --network bridge=br0 \ --graphics spice \ --cdrom /path/to/ubuntu-22.04-live-server-amd64.iso ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值