![]() 问题 某些特别应用程式可能依赖于加密狗等专用硬件 当程式运行的时候,需要在服务器的USB端口(或串口、并口)上插上相关硬件 在这种场景下,虚拟化的VPS内怎样调用这些特别硬件呢? 解决方案 1. 首先将设备连接到硬件节点,并正确安装驱动 本文中的例子是个USB的加密狗 登陆到硬件节点,打开设备管理器,看USB设备中,是否出现了USB DOG设备(一定要正确配置驱动) 假如硬件节点本身不能识别这个设备,那么VPS内也就无法使用。 2. 查询设备的Device ID 登陆到硬件节点,执行命令:vzdevctl devtree 执行结果会返回几十个硬件设备,从中找到要挂载的设备 例如下边是显示出来的usb dog设备 Device: USB\VID_08E2 Status: Started Disableable Removable Class: USB Name: MicroDog USB Device Connected: No Command ’devtree’ is successfully finished C:\> 从这个命令返回中,能够看到device id,即“USB\VID_08E2 3. 创建虚拟的硬件设备 命令格式vzdevctl add ??deviceid "设备id" ??alias 别名 ??connect ??onboot 将其中的VPS id替换为要绑定的VPS id,设备id替换为上个步骤查询出来的编号 alias别名任意取一个即可,例如dog 完整命令如下: C:\> vzdevctl add 736 ??deviceid "USB\VID_08E2 ??alias dog ??connect ??onboot Device USB\VID_08E2 already shared for VPS 736 C:\> 4. 挂载设备 上一步仅仅是共享设备,但还没挂载,下边的命令是挂载设备: C:\Documents and Settings\Administrator>vzdevctl connect 736 ??deviceid "USB\VID_08E2 Command ’connect’ is successfully finished C:\Documents and Settings\Administrator> 命令中的device id就是设备编号 假如挂载成功,应该返回提示信息successfully finished 5. 确认是否挂载成功,再次运行vzdevctl devtree 从返回的设备列表中,再次找到刚才的设备 Device: USB\VID_08E2 Status: Started Disableable Removable Class: USB Name: MicroDog USB Device Connected: Yes VPS: 736 State: Active Command ’devtree’ is successfully finished 能够看到,一开始这个设备显示为Connected:No 而现在挂载完毕后,显示Yes了,并显示挂载到VPS 736上 6. 登陆到VPS中,打开VPS自己的设备管理器,应该能够看到刚才挂载的设备 现在能够正常使用这个设备了 ???????????? 注意:本文的方法只对串口、并口、USB接口三种形式的接口有效 对硬盘光驱等设备的挂载,请使用相关的对应方法,请查阅相应文档。 |
喜欢本文,那就收藏到: |