在xenserver 4.x版本中,不能在xencenter中通过图形操作界面配置(5.x版本中增加的attach功能),以使管理员在虚拟机中访问插在xenserver服务器上的usb存储设备,不过,可以通过批处理文件实现usb存储设备附加到虚拟机上。
批处理文件(bat文件)在安装xencenter的计算机上运行。
下面代码是批处理文件代码(这里只粘贴需要修改的前半部分代码,完整代码在上面链接中可以下载),将完整代码拷贝至记事本中,编辑完毕后保存,将扩展名txt更改为bat。
将编辑好的bat文件拷贝至c:\documents and settings\administrator根目录下,在运行框中输入cmd,然后输入usbmount.bat ATTACH(区分大小写)即可将usb设备attach到虚拟机上,然后在虚拟机中为usb设备指定盘符即可。使用完毕后,执行usbmount.bat DETECH(区分大小写)。
虽然,新版本的xencenter已经在虚拟机的storage标签下增加attach功能,该功能与本文中bat文件实现效果相同,这里仅作为了解记录。
红色标示字体为必须填写或校正。
蓝色字体为作者自己备注。(bat中不包括蓝色字体)
@ECHO OFF
setlocal
REM Attach a USB flash device to a specified VM on XenServer 4.x
REM ------------- EDIT THE OPTIONS BELOW TO SUIT YOUR ENVIRONMENT -------------
REM XenServer Credentials
SET XE_USERNAME=root
SET XE_PASSWORD=password
SET XE_SERVER=192.168.1.200
REM Removable Storage Repository UUID
REM USE "xe sr-list" command,find removable storage's uuid
SET REMOVABLE_SR_UUID=dbca6c5b-f5b5-e4de-fba7-3d8f7594565b
在xencenter的console中输入xe sr-list命令,找到选removable storage,将其对应的uuid输入在此处。
REM UUID of the VM you wish to attach the USB storage to
REM USE "xe vm-list" command
SET VM_UUID=2670b4ab-392f-2100-55b1-3a4e96bd7d02
在xencenter的console中输入xe vm-list命令,找到要在其中使用usb存储的虚拟机,将其对应的uuid输入在此处。
REM Device name/order on the VM (e.g. hdb, hdc, hdd...)
set DEVICE_NAME=hde
DEVICE_NAME,此处名字在具体环境中是唯一的,本例中使用的是hde,无论是使用hdd还是hdf都会报告错误。究竟怎样确定最后一个字母——我没看明白那段英文,我是试出来的哈。
REM ---------------------------------------------------------------------------
REM XenCenter Path
SET XE_CENTER_PATH=D:\program files\citrix\XenCenter\
xencenter的安装路径,本例中安装在D盘。
这里面有两点需要注意:
一、DEVICE_NAME唯一性
二、执行批处理文件时ATTACH和DETACH均为大写,小写不能执行该bat文件