XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Attaching USB storage via XOA

    Scheduled Pinned Locked Moved Xen Orchestra
    22 Posts 10 Posters 18.6k Views 7 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K Offline
      kevnich2 @olivierlambert
      last edited by

      @olivierlambert
      Is there somewhere to create a request for this feature? I understand it's definitely not typical but situations that require a VM/Instance to have a USB security key, external USB devices, etc are still out there and it would certainly be that niche case that would help give XCP-NG/Xen Orchestra the added edge in this capability.

      Thankfully this is possible through XCP-NG Center but I also don't know how long this will be a viable product in that it doesn't seem to have much support behind it and I have a particular situation that requires a VM to have a usb key for a software license key and at first had to eliminate this as a possibility to even use until I stumbled upon this.

      1 Reply Last reply Reply Quote 0
      • olivierlambertO Offline
        olivierlambert Vates 🪐 Co-Founder CEO
        last edited by

        Same message, if you tell us which commands are used exactly and how do you imagine it, that might help to get a faster integration 🙂

        K 2 Replies Last reply Reply Quote 0
        • K Offline
          kevnich2 @olivierlambert
          last edited by

          @olivierlambert
          I have no idea what commands are actually being used, other than the steps inside XCP-Center that I do on the host and then inside the instance itself. I don't mind needing to use XCP-NG Center for this one specific task or setting, I'm just concerned that won't always be available to use as the years go on as opposed to Xen Orchestra.

          1 Reply Last reply Reply Quote 0
          • K Offline
            kevnich2 @olivierlambert
            last edited by

            @olivierlambert
            If there's a way to capture the commands being sent, I would be happy to undo the USB pass-through and then go through it again under Center? I just started XCP-NG and XOA in the past few months so I'm definitely new.

            1 Reply Last reply Reply Quote 0
            • olivierlambertO Offline
              olivierlambert Vates 🪐 Co-Founder CEO
              last edited by

              That's exactly what I wrote originally. You need to setup https://github.com/vatesfr/xapi-inspector and connect your XCP-ng Center to it. This will intercept all calls 🙂

              rlyons20R 1 Reply Last reply Reply Quote 0
              • rlyons20R Offline
                rlyons20 @olivierlambert
                last edited by

                @olivierlambert I actually have this need too, but it's not for USB storage. I'm running HomeAssistant on a VM, and I'd like to passthrough my Zigbee and Zwave USB devices.

                Here is the xenserver doc on the topic: https://support.citrix.com/article/CTX235042

                I think it actually includes the cli commands.

                Hopefully that's helpful!

                1 Reply Last reply Reply Quote 1
                • olivierlambertO Offline
                  olivierlambert Vates 🪐 Co-Founder CEO
                  last edited by

                  We need the XAPI commands 🙂 Again, if you want this to be done at some point, we need more spec (because it means less time to actually develop)

                  rlyons20R 1 Reply Last reply Reply Quote 0
                  • rlyons20R Offline
                    rlyons20 @olivierlambert
                    last edited by

                    @olivierlambert unfortunately, I can't get the xe pusb-list command to return my USB devices, even though I see them with dmesg.

                    So, I may have bigger problems here...

                    rlyons20R 1 Reply Last reply Reply Quote 0
                    • rlyons20R Offline
                      rlyons20 @rlyons20
                      last edited by rlyons20

                      @rlyons20 soooo... xe pusb-list only exposes STORAGE devices. I verified by plugging in a USB thumb drive, and that shows up.

                      So, my use case of running HomeAssistant as a VM with Zigbee/Zwave USB devices is probably dead in the water.

                      That's disappointing...

                      1 Reply Last reply Reply Quote 0
                      • olivierlambertO Offline
                        olivierlambert Vates 🪐 Co-Founder CEO
                        last edited by

                        You might modify the filter to get your dongle detected 🙂

                        1 Reply Last reply Reply Quote 0
                        • G Offline
                          gpoole
                          last edited by

                          I wrote a script to set up USB device passthrough for a specific device by name to a specific VM by name in the same basic way the XCP-ng Centre UI does it when you follow the steps described in the original post. Here's the script: https://gist.github.com/gpoole/c89807e9de9cb5c87bbcc2da27e0c3e4

                          Are those the commands you're looking for @olivierlambert?

                          Either way hopefully useful to anyone who wants to do this without using XCP-ng Centre. I've found it needs to be done every boot, so the script is intended to be something I can quickly SSH in and run. I'm sure it could be automated properly but works for me.

                          M 1 Reply Last reply Reply Quote -1
                          • olivierlambertO Offline
                            olivierlambert Vates 🪐 Co-Founder CEO
                            last edited by

                            Thanks for the commands. I just find it weird you need to do it at each boot, I don't remember having to do it here 🤔

                            1 Reply Last reply Reply Quote 0
                            • M Offline
                              MattMcD Vates 🪐 Pro Support Team @gpoole
                              last edited by

                              @gpoole Thank you! I'm sure this will be quite useful in my homelab, but maybe not at work just yet... particularly because I am hopeful Olivier and Vates are able to integrate this into XOA.

                              This is because I am looking into integrating at least one HSM into our xcp-ng infrastructure, and the $650 USB-A YubiHSM2 is quite attractive. It would be great to be able to reliably pass this through via XOA to a Windows Server VM. I could imagine this use case being potentially important for small-medium sized companies looking for alternatives to typical expensive HSMs.

                              C 1 Reply Last reply Reply Quote 1
                              • C Offline
                                cyrus104 @MattMcD
                                last edited by

                                @xenoNfluX @olivierlambert

                                I would agree this would be great for the Z-wave/Zigbee dongles in Home Automation.

                                Right now I'm working on a small homelab that can pass through the intel Quicksync to a Plex server and the USB to support HA.

                                Having this in XOA/XOCE, even XO-lite (understandably not really a "lite" feature).

                                S 1 Reply Last reply Reply Quote 1
                                • Ethan6123E Offline
                                  Ethan6123
                                  last edited by

                                  I am also interested in this feature.

                                  We use XCP-NG to run the virtual hosts in our DMZ. As you can imagine, the DMZ is completely separated from our internal network and the only way to transfer a file to a virtual server is to physically connect a usb drive to a host.

                                  We use Xen Orchestra for everything except this. When we need to mount a USB drive we have to physically connect a laptop to the DMZ network and then attach the USB drive with XCP-NG Center.

                                  1 Reply Last reply Reply Quote 0
                                  • S Offline
                                    SpoonyLove @cyrus104
                                    last edited by

                                    @cyrus104 @olivierlambert I'm also interested in USB support, and specifically USB dongle connectivity for HomeAsssistant.

                                    @olivierlambert , you mentioned filter modification. is that at the xen level? Similar to many, i'm at the beginner level- I'm willing to tackle a problem or provide specification for further development, but i'm not sure where to start.

                                    S 1 Reply Last reply Reply Quote 0
                                    • S Offline
                                      SpoonyLove @SpoonyLove
                                      last edited by

                                      @SpoonyLove

                                      Found some resources that answered my own question. For the sake of future google searches, please redirect my question to:

                                      https://psychogun.github.io/docs/xcp-ng/USB-passthrough/

                                      G 1 Reply Last reply Reply Quote 0
                                      • G Offline
                                        gn_ro @SpoonyLove
                                        last edited by

                                        @SpoonyLove @olivierlambert
                                        For usb passthrough we are using USB redirector over network
                                        For anything storage related we use something like this:

                                        mkdir /adm/passSR
                                        
                                        passUUID=`xe sr-create name-label="Direct access SR" name-description="Direct acces to hdd with simlink" type=udev content-type=disk device-config:location=/adm/passSR`
                                        
                                        ln -s /dev/sdb /adm/passSR/sdb
                                        
                                        xe sr-scan uuid=$passUUID
                                        xe vdi-list sr-uuid=$passUUID
                                        

                                        Remember to replace /dev/sdb with your device.

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post