KVM客户机使用主机USB设备

有些时候KVM客户机还是要使用USB设备,比如USB密钥等

KVM命令行参数

-usb 打开usb驱动程序,启动客户机usb支持
-usbdevice devname 为客户机增加usb设备,devname有多种形式,详见man kvm,这里只涉及一种形式host:vendor_id:product_id,也就是-usbdevce vendor_id:product_id

获取USB设备参数

将usb设备插入主机之前

$lsusb > usb.old

usb设备插入主机之后

$lsusb > usb.new

然后

vimdiff usb.old usb.new

找到新增加的那一行,类似下面这行

Bus 002 Device 004: ID 13fd:1040 Initio Corporation

ID后面的两个字段分别是vendor_id和product_id

映射usb设备
客户机命令行添加这两个参数
sudo kvm -usb -usbdevice host:13fd:1040 …

这样客户机就可以看到映射的USB设备了

小问题

把移动硬盘映射到客户机做测试,虚拟客户机竟然无法启动了,从远程vnc看一直停留在Booting from Hard Disk…,搜索了下下也无结果,后来灵光一闪,是不是因为移动硬盘成了启动磁盘?果然如此,修改引导参数如下

-boot order=c,menu=on

这里增加了menu=on,这样启动的时候按F12可以选择从哪个驱动器启动,重新启动,果然看到移动硬盘成了第一个启动设备,选择本地硬盘正常启动系统,从客户机里也可以看到移动硬盘。

据了解,现在KVM还没有命令行参数可以设置从第二块硬盘启动,也有人在提这个事情,建议order=e从第二块硬盘启动,依次类推。

update:
参数-usbdevice devname映射普通的USB设备有两种格式,devname可以指定为
host:bus.addr
host:vendor_id:product_id
上面-usbdevice host:13fd:1040指定的是host:vendor_id:product_id这种格式,对于例子中显示的USB设备,也可以以host:bus.addr格式设定参数
host:2.4
其中2为总线号,4为设备在总线上的地址Bus 002 Device 004,但是使用host:bus.addr这种格式有一个缺点,如果USB设备换一个插口,其总线和设备号会发生变化,而host:vendor_id:product_id这种格式则不受影响,即便客户机换到另一台主机上跑也是一样。

update again(09/19/2012):

KVM主机上插了两个同类型的usb设备,这个两个usb设备的verdor_id和product_id竟然完全一样,那只能通过host:bus.addr这种方式为客户机指定usb设备了,不然kvm主机会不知所措吧。

KVM(Kernel-based Virtual Machine)是一种开源的全虚拟化解决方案,它允许将Linux内核转变为一个虚拟化的hypervisor。在KVM中,宿主机是运行KVM虚拟机的主机系统,而客户机则是在宿主机上运行的虚拟机。 要获取宿主机信息,客户机可以采用以下几种方法: 1. 使用QEMU Guest Agent:QEMU Guest Agent是QEMU项目提供的一个用于与宿主机交互的工具。它可以通过virtio-serial接口与虚拟机进行通信。客户机通过安装和启动QEMU Guest Agent,并发送特定的查询命令,就可以获取宿主机的各种信息,如宿主机的CPU信息、内存使用情况、网络配置等。 2. 使用libvirt:libvirt是一个开源的虚拟化管理库,它提供了一套API用于管理和监控虚拟化技术(如KVM)。通过libvirt,客户机可以连接到宿主机,并使用相关API获取宿主机的信息,如宿主机的虚拟化技术、硬件配置、网络设置等。 3. 使用网络通信:客户机可以通过网络通信的方式获取宿主机信息。例如,客户机可以使用SNMP(Simple Network Management Protocol)协议向宿主机发送查询请求,并获取宿主机的网络状态、系统负载等信息。 需要注意的是,获取宿主机信息可能需要一些特定的权限和配置。在实际操作中,客户机可能需要在宿主机上安装相关的软件或驱动,或者配置一些权限设置才能成功获取宿主机信息。 总之,通过QEMU Guest Agent、libvirt或网络通信等方式,KVM客户机可以与宿主机进行交互,并获取宿主机的各种信息,以实现更加灵活和高效的虚拟化管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值