Identify the uuid of the disk you want to attach but also the uuid of the target machine.
You can get the uuid disks with xe vdi-list or even with lvscan.
The VM's uuid you can get in many ways. One of them is:
[root@xengz ~]# xe vm-list params=uuid name-label=debian uuid ( RO) : 36f3763b-4011-055f-4945-92fe13a0027b
So, once you have all that you need, you can proceed.
In our example below, we will attach the vdi with uuid 3950c41a-39ef-439f-bd02-a6e346a60b99 to debian vm with uuid 36f3763b-4011-055f-4945-92fe13a0027b.
List the vm's disks before the operation:
As you can see, for each vdi you have a vbd. As a side note, when you want to boot from any medium (disk or cd), the target uuid is the vbd one.
[root@XenGz ~]# xe vm-disk-list vm="debian" Disk 0 VBD: uuid ( RO) : 20b45191-8a7c-1c97-8995-8b1776866965 vm-name-label ( RO): debian userdevice ( RW): 0 Disk 0 VDI: uuid ( RO) : 60a0f79f-2158-4d4b-8eba-8684d4197373 name-label ( RW): 0 sr-name-label ( RO): Local storage virtual-size ( RO): 8589934592
Create the corresponding vbd for the vdi and then list again the vm's disks:
[root@XenGz ~]# xe vbd-create vm-uuid=36f3763b-4011-055f-4945-92fe13a0027b device=1 vdi-uuid=3950c41a-39ef-439f-bd02-a6e346a60b99 bootable=false mode=RW type=Disk 2acbffca-fb41-b41f-a66e-3e403ad5aeb5 [root@XenGz ~]# xe vm-disk-list vm="debian" Disk 0 VBD: uuid ( RO) : 2acbffca-fb41-b41f-a66e-3e403ad5aeb5 vm-name-label ( RO): debian userdevice ( RW): 1 Disk 0 VDI: uuid ( RO) : 3950c41a-39ef-439f-bd02-a6e346a60b99 name-label ( RW): 0 sr-name-label ( RO): Local storage virtual-size ( RO): 53687091200 Disk 1 VBD: uuid ( RO) : 20b45191-8a7c-1c97-8995-8b1776866965 vm-name-label ( RO): debian userdevice ( RW): 0 Disk 1 VDI: uuid ( RO) : 60a0f79f-2158-4d4b-8eba-8684d4197373 name-label ( RW): 0 sr-name-label ( RO): Local storage virtual-size ( RO): 8589934592
Once you have this done and you are sure the disk is not used, you can plug it in:
[root@XenGz ~]# xe vbd-plug uuid=2acbffca-fb41-b41f-a66e-3e403ad5aeb5 [root@XenGz ~]#
After this command, you will be able to see the disk in debian vm, without reboot.