[DEPRECATED] SMAPIv3 - Feedback & Bug reports
-
THIS THREAD IS REPLACED BY THIS ONE: https://xcp-ng.org/forum/topic/8859/first-smapiv3-driver-is-available-in-preview
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.
Installation
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:
# xe-toolstack-restart
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.
https://xcp-ng.org/forum/topic/1965/trim-support-for-guests-to-minimize-storage-use/
-
@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.
-
Will it support LVMoiSCSI? Or, is that a future addition?
~Peg
-
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
-
@ronan-a said in SMAPIv3 - Feedback & Bug reports:
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.
-
@olivierlambert raw over iscsi?
-
raw
means 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?
-
@olivierlambert
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.
-
@Marc-pezin said in SMAPIv3 - Feedback & Bug reports:
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
/dev/nbd0
![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-restart
so thatError code: MISSING_URI
does 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.