SMAPIv3 - Feedback & Bug reports
As you may already know, @ronan-a is working on the next storage interface protocol known as SMAPIv3 since a bit of time now.
More information are available on our latest devblog
It's now possible for you to install this experimental plugin and provide your feedback on this thread.
Warning: don't use SMAPIv3 in production yet!
Use these commands to install the package:
yum install xcp-ng-xapi-storage --enablerepo=xcp-ng-testing systemctl start qemuback.service
You might also need to restart the toolstack:
For issues, please read this page: https://github.com/xcp-ng/xcp-ng-xapi-storage#issues-and-solutions
Use this topic for feedback and bug report.
How about allowing VDI compaction based on GUESTs TRIM/Discard commands? It seems this should be possible with the new plugin type architecture.
@S-Pam feel free to provide a PR so we can make experiments
Can we get a little more information on how we would create SR's with SMAPIv3 after installing xcp-ng-vdi-stream?
Ping @ronan-a for that
@swivvle You can create a ext4 SR like this:
xe sr-create type=ext4-ng name-label=sr-test device-config:device=/dev/sda3
For a basic filebased SR:
xe sr-create type=filebased name-label=sr-test2 device-config:file-uri=/root/sr-folder
Don't hesitate if you have other questions.
Anonabhar last edited by
Will it support LVMoiSCSI? Or, is that a future addition?
You need to get rid of SMAPIv1 concepts If you meant "iSCSI block" support, the answer for right now: no.
It's a brand new approach so we'll take time to find the best one, to avoid all the mess that had SMAPIv1 on block devices (non thin, race conditions etc.)
I think the next big "device type" support might be
raw(passing a whole disk without any extra layer to the guest).
Edit: needed to do
yum install xcp-ng-xapi-storage --enablerepo='xcp-ng-testing'
systemctl start qemuback.service
xe sr-create type=ext4-ng name-label=sr-test device-config:device=
I can create the SR, create the disk in the SR, but I cannot it attach it to a VM. Error is
"Please include a URI in the device-config " Both filebased and ext4 do this for me.
_danielgurgel last edited by
@olivierlambert raw over iscsi?
rawmeans any "whole" block device, meaning no snapshot, clone, no shared SR case, etc. Doesn't matter what's underneath. I would say the first use case is passing a whole drive to a VM (eg FreeNAS).
But yeah, you would be able to pass a LUN if you like
@swivvle What's your exact command line? Have you restarted the toolstack?
Hi, just one question to clarify:
does it mean I could map an untouched/unmodified LUN to a VM?
because I have a usecase where it is very important that the (very small) LUN is not modified as it is used as communication device between the storage system and the guest.
That would be great!
As soon as this is available I will do some testing!
I think, yes.
yum install xcp-ng-xapi-storage
This needs to be
# yum install xcp-ng-xapi-storage --enablerepo=xcp-ng-testing
I tried following
[13:33 xcp-ng-8-kernel ~]# yum install xcp-ng-xapi-storage --enablerepo=xcp-ng-testing ... [13:34 xcp-ng-8-kernel ~]# systemctl start qemuback.service [13:34 xcp-ng-8-kernel ~]# systemctl status qemuback.service ● qemuback.service - qemuback daemon Loaded: loaded (/usr/lib/systemd/system/qemuback.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/qemuback.service.d └─slice.conf Active: active (running) since Sat 2019-10-05 13:34:59 IST; 5s ago Main PID: 10221 (qemuback.py) CGroup: /control.slice/qemuback.service ├─10221 /usr/bin/python /usr/bin/qemuback.py └─10222 /usr/bin/xenstore-watch /local/domain/0/backend [13:35 xcp-ng-8-kernel ~]# xe sr-create type=filebased name-label=sr-test2 device-config:file-uri=/root/sr-folder c6e9c83c-78ee-7727-dec3-1c7474aef533 [13:36 xcp-ng-8-kernel ~]# ls sr-folder/ 1 db_backups lock_db lock_db_backup lock_gl meta.json meta.lock sqlite3-metadata.db [13:37 xcp-ng-8-kernel ~]# xe vbd-create vdi-uuid=cb6cf26c-b079-44e2-9466-3d61fc7ac553 vm-uuid=a00c837e-20ab-4b3b-b125-2a73df1070d2 device=5 6877ea3b-d3c7-e708-5b34-c5e61e5dd1eb [13:37 xcp-ng-8-kernel ~]# xe vbd-plug uuid=6877ea3b-d3c7-e708-5b34-c5e61e5dd1eb Error code: MISSING_URI Error parameters: Please include a URI in the device-config FYI [13:38 xcp-ng-8-kernel ~]# xe vdi-list uuid=cb6cf26c-b079-44e2-9466-3d61fc7ac553 uuid ( RO) : cb6cf26c-b079-44e2-9466-3d61fc7ac553 name-label ( RW): New virtual disk (1) name-description ( RW): sr-uuid ( RO): c6e9c83c-78ee-7727-dec3-1c7474aef533 virtual-size ( RO): 1073741824 sharable ( RO): false read-only ( RO): false
What can be done for
Error code: MISSING_URI?
Edit: I did not read the restart instruction.
After restarting tool stack it worked and disk attached as
[13:55 xcp-ng-8-kernel ~]# xe-toolstack-restart Executing xe-toolstack-restart done. [13:56 xcp-ng-8-kernel ~]# xe vbd-plug uuid=6877ea3b-d3c7-e708-5b34-c5e61e5dd1eb
@r1 You are absolutely right, I have updated the command in the initial post and in the devblog. Thanks.
@Marc-pezin Thanks. I'd suggest to also add
# xe-toolstack-restartso that
Error code: MISSING_URIdoes not show up
@ronan-a is VDI move from SMAPIv1 to SMAPIv3 supported?
Nope. I don't know if it's even planned by Citrix.