`

SPICE在ubuntu上,Guest机的配置。

    博客分类:
  • VDI
阅读更多
SPICE在ubuntu上,Guest机的配置。

系统配置:
1.显示配置:
qemu使用SDI接口来显示客户系统,这里我们有两个选择,一个是qemu本身来显示,二是通过VNC来显示。
默认情况下是由qemu自己显示,要使用vnc的话我们需要加上-vnc :1参数,因此kvm运行命令就变成:
sudo qemu-system-x86_64 -hda winxp.img -boot d -m 384 -no-acpi -vnc :1
你也可以-vnc :2用过vnc的人就知道那个数字是什么意思,也就是一个标识,这样的话kvm运行时就没有
任何的输出了,我们直接用vncviewer :1来连接kvm里的vncserver进行显示。
进入XP系统后,显卡是默认的显卡只支持1024*768大小的显示,如果我们想调整到更大,启动时加上参数-std-vga就可以了,进入XP后可以
调整显卡到更高的屏幕参数,如果客户机是linux,还可以支持opengl,详细的设置可参考官方的说明:http://kvm.qumranet.com/kvmwiki/HOWTO_VMGL

2. 鼠标设置:
默认的qemu在窗口模式下会发现鼠标很慢,但是如果调整成全屏模式就没有这个问题,鼠标移动很平滑,很顺畅。如果是VNC的模式会发现
总是有两个鼠标,而且移动很慢,这个时候只要我们在qemu启动的时候加上-usbdevice tablet就可以解决VNC下的问题了。

3. 声卡设置:
如果需要声音,只要在启动的时候加上参数:-soundhw all就可以,也可以用qemu -soundhw ?列出所支持的声卡硬件,用-soundhw <sound card>
选用指定的硬件。

4. 网络设置
首先在kvm的sourceforge下载页面: http://sourceforge.net/project/showfile ... _id=180599可以看到除了kvm还有kvm-guest-drivers-windows的驱动,下载此驱动,然后想办法放到虚拟机中(通过共享,或者直接在虚拟机下载)在kvm启动参数中增加-net nic,model=virtio参数,然后重新启动xp,进入xp后就会提示你有新设备需要安装,弹出驱动安装窗口,从下载的kvm-guest-driver中选择合适的驱动程序进行安装即可。这样安装的网卡速度上更快,几乎可以接近物理网卡的速度,具体我也没有测试前后差别有多大,不过网上应该能找到,反正使用起来感觉还不错,特别是用KVM跑服务器的话,该驱动
就更应该安装了。

网卡驱动安装方法二:

1、下载最新的virto for win驱动

http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/

有两个:
virtio-win-1.1.11-0.vfd
virtio-win-1.1.11-0.iso
前者是windows安装时候加驱动用的(软盘镜像),后者是装好了再加驱动(光盘镜像)
本文主要叙述安装时候加载驱动的办法。(硬盘驱动在安装时候加载,网卡可以装好了再加载

2、安装网卡驱动

安装好XP,能正常启动以后,我们添加如下启动参数,将网卡改为virtio,同时加载那张驱动光盘。

[shell]
sudo /usr/local/kvm/bin/qemu-system-x86_64 -m 512 -drive file=pathX/winxp.img,cache=writeback,if=virtio,boot=on -net nic,model=virtio -cdrom pathX/virtio-win-1.1.11-0.iso
[/shell]

启动完毕会提示新驱动,在光盘中找就OK了!

qemu的网络配置有3种,更VMware所支持的一样:nat, host-only, bridge.
1)nat方式:
这是最简单的一种,直接在启动参数中加上-net user即可,主机打开DHCP功能,客户机通过DHCP获取IP,该置下客户机可以上网,但不能跟主机通讯。
2)host-only:
使用tap/tun虚拟出一个网卡,需要内核支持tap/tun模块(一般都支持),还需要配置iptables转发,因为tap网卡上的ip不能和主机上ip在同一个网段。客户使用该网卡可以跟主机通讯也可以上网,但局域网内的其他机器不能直接访问客户机,需要主机通过端口转发或者其他方式来访问。具体配置可以参见:
http://cisco7200-dynamips-dynagen-pemu. ... p?tid=1544
我的简单配置(内核需要支持tap/tun):
(1)修改/etc/sysctrl.conf, 将net.ipv4.ip_forward=1打开,也就是ip转发功能打开,修改完后需要reboot机器。
(2)建立一个脚本kvm-ifup.sh,内容很简单:
#!/bin/bash
sudo ifconfig $1 172.0.100.1 netmask 255.255.255.0 up
该脚本就是配置tap虚拟网卡设备的ip。$1通常会是tap0,根据你在qemu启动参数中给定的名字而定。
(3)在qemu启动参数中给定相关的虚拟网卡设备名,和相关的设备初始化脚本,也就是上面的这个脚本:
sudo qemu-system-x86_64 -hda /virtualOS/winxp.img -m 1024 -no-frame -localtime -no-acpi -usb -net nic,model=virtio -net tap,ifname=tap0,script=/home/chao/kvm-ifup.sh -usb -usbdevice tablet -std-vga
(4)在客户机中,手动的配置ip,网关和DNS,跟tap虚拟网卡的ip同一网段,而网关就是虚拟网卡的ip,比如我的xp配置:
IP: 172.0.100.101
MASK: 255.255.255.0
GATEWAY:172.0.100.1
(5)配置iptables的NAT:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
我是放在一个启动脚本里,每次启动kvm会执行一下,也可以在主机系统启动的时候就添加这条规则。
3)桥接模式:
这种应该是功能最全的一种,虚拟客户机的ip和主机处在同一个网段,客户机就如局域网中的一台主机一样,既可以和主机通讯也可以上网,同时网路中的其他主机也可以访问客户机而不需要主机转发,不过如果在无线网卡上做桥接会遇到一定的问题,很可能就不成功,反正我尝试的结果就是失败,客户机可以ping主机但就是不能ping其他的地址,网上查了一下跟无线网卡驱动有一定的关系(见http://www.linuxfoundation.org/en/Net:Bridge),最后只有放弃了,但以太网卡上我测试是没有问题的。具体配置可以参照: http://linux.chinaunix.net/bbs/viewthre ... tid=788174

5. USB设备
KVM是通过qemu来支持USB设备的,可以在启动的时候就指定需要连接的USB设备,也可以系统启动后动态的添加删除.通过qemu的help可知,使用qemu的usb_add host:xxx:xxx来添加usb设备,那么如何知道对应的host:xxx:xxx呢,有2种方法:
1)在host主机ubuntu中执行lsusb得到这些信息
比如在我机器上ipod的信息如下:
Bus 006 Device 002: ID 05ac:1204 Apple Computer, Inc. iPod [Photo]
Bus 006 Device 001: ID 1d6b:0002
Bus 001 Device 001: ID 1d6b:0002
....
05ac:1204就是我们需要的了。
2)进入虚拟机后,通过ctrl+alt+2调出qemu控制台,输入info usb来列出相关的信息,在我的机器上:
Device 4.2, speed 12 Mb/s
Class e0: USB device 044e:300d, UGX
Device 2.11, speed 480 Mb/s
Class 00: USB device 05ac:1204, iPod
...
很有可能你在执行上述命令的时候会遇到这样的错误:
Could not open /dev/bus/usb/devices
可以参考:https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/156085去解决,主要就是把
/etc/init.d/mountdevsubfs.sh脚本中的以下几行打开(默认被注释掉了)
#
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb
然后手工执行:
$ sudo /etc/init.d/mountdevsubfs.sh start
或者重启机器就ok了。
取得了上述USB设备的信息后,可以在kvm启动的时候就连接指定的USB设备,通过启动参数-usbdevice host:xxx:xxx 来添加相应设备。也可以在kvm的客户系统启动后添加,在客户系统中按ctrl+alt+2(ctrl+alt+1回到客户系统)调出qemu控制台,通过usb_add host:xxx:xxx来添加设备,通过info usb可以查看已经添加的usb设备信息,通过usb_del来删除连接的usb设备。
分享到:
评论

相关推荐

    spice-guest-tools-2021.zip

    这个压缩包里的重要组件是 "spice-guest-tools-2021.exe",这通常是一个安装程序,用于在虚拟机内部安装和配置Spice Guest Tools。 1. **Spice Guest Tools的功能**: - **图形驱动**: 提供高性能的显卡驱动,使得...

    spice-protocol,spice-gtk从0编译说明文档并实现桌面虚拟化访问

    - **多平台支持**:可在Windows、Linux、macOS等操作系统上运行,支持多种虚拟化平台,如QEMU、KVM等。 - **安全性**:支持加密和身份验证,保护用户数据的安全。 **2. Spice-GTK库** Spice-GTK是Spice协议的GTK+...

    spice-guest-tools-0.164.3.iso

    SPICE 服务器:SPICE 服务器是运行在虚拟机宿主机上的软件,负责将虚拟机的图形和音频数据传输到客户端,并将客户端的输入传递给虚拟机。 通过 SPICE 项目,用户可以轻松地远程访问虚拟机,并享受流和音频播放体验。...

    spice-guest-tools-0.74

    spice-guest-tools-0.74

    手把手教你安装配置spice服务

    在OpenStack环境中配置Spice服务,主要涉及以下几个步骤: 1. **安装Spice服务器和客户端组件**: 在服务器端,你需要安装`spice-server`和必要的依赖包,例如`spice-protocol`。在Fedora 16上,你可以使用`yum`...

    spice-guest-tools-0.74.zip

    在SPICE Guest Tools的支持下,用户可以在虚拟机内进行的操作,如复制一段文本或图片,可以直接粘贴到宿主机或其他应用程序上,反之亦然,极大提升了工作效率。 3. **文件传输**:除了剪贴板共享,SPICE Guest ...

    QEMU+SPICE+USBredir详细编译步骤

    本文将详细介绍如何在 Linux 系统(包括 CentOS、Ubuntu 等)下编译 QEMU 和 SPICE 协议,使其支持 USB 重定向。 一、编译 libusb libusb 是一个开源的 USB 库,提供了访问 USB 设备的功能。要编译 libusb,首先...

    spice-guest-tools-0.164.4

    用于mac m系列芯片用UTM安装虚拟机后,解决无法调整分辨率的问题

    spice-guest-tools-latest(包含agent和qxl驱动).exe

    用于虚拟机磁盘转换,可能把hyper-v虚拟机磁盘转换成KVM虚拟机磁盘,实现hyper-v虚拟机迁移到KVM平台下面。完美解决hyper-v虚拟机转换变KVM虚拟机。

    xen虚拟机对spice的支持

    随着时间的推移,用户可以期待SPICE在Xen平台上的体验将更加流畅和丰富。 总的来说,Xen对SPICE协议的支持为虚拟桌面环境带来了更好的交互体验,包括高清图像传输、剪贴板共享和USB设备的直接重定向,这些都是传统...

    spice-vdagent源码

    spice架构中运行于虚拟机Guest上的组件程序源码

    spice Windows客户端

    这个文件很可能是客户端的安装程序,用于在用户的Windows系统上安装和配置SPICE客户端。用户在下载并运行此文件后,可以设置连接参数,如服务器地址、端口、认证凭据等,然后连接到运行SPICE服务器的虚拟机。 在...

    开源虚拟桌面传输协议-spice用户指导手册

    - **Spice Agent**:运行在客户机上的代理,负责执行一些服务器端卸载的工作。 3. **主要功能**: - **多通道支持**:允许多种类型的连接同时工作,如音频、视频、输入设备、USB等。 - **图像压缩**:用于减少...

    Spice安装和使用_spice_

    4. **配置环境**: 安装完成后,可能需要在系统环境变量中添加SPICE的可执行文件路径,以便在任何目录下都能运行SPICE。 ### 二、SPICE的基本使用 1. **电路图绘制**: SPICE软件通常附带一个电路图编辑器,用户可以...

    PSPICE 中使用德州仪器 (TI) SPICE 模型

    《使用德州仪器 (TI) SPICE 模型在 PSPICE 中进行模拟仿真》 随着电子技术的不断发展,模拟电路的设计和分析变得越来越复杂。PSPICE(由Microsim公司开发,现为Cadence Design Systems的一部分)作为一款强大的电路...

    SPICE模型参数介绍

    SPICE模型参数使设计人员能够在计算机上对电路进行仿真,以此来预测电路在不同条件下的行为,而无需搭建实际的电路。SPICE模型参数的介绍通常包括各种基本元件的参数设置以及它们在SPICE语法中的表示方法。 标题...

    spice-gtk编译后程序

    4. **多平台支持**:由于 `spice-gtk` 是跨平台的,因此它可以在多种操作系统上运行,如 Linux、Windows 和 macOS。这使得基于 `spice-gtk` 的应用具有广泛的兼容性和可移植性。 **编译过程** 编译 `spice-gtk` ...

    spice-gtk-0.20

    spice 客户端 用于spicy远程链接,编译时,可支持USB重定向支持

    Circuit Simpulation with SPICE OPUS

    在深入讨论《Circuit Simulation with SPICE OPUS》的内容之前,我们先要了解SPICE OPUS是什么。SPICE OPUS是电子电路模拟程序的一个版本,其基础是广泛使用的SPICE(Simulation Program with Integrated Circuit ...

Global site tag (gtag.js) - Google Analytics