I wanted do change the sector size that is reported for a target via iSCSI. After a long Google search I found a single Reddit thread that explained that there is a possibility to configure "set attributes block_size=4096" on a block device backstore. In the mean time I found two other secondary sources about this attribute [2],[3].
But I was very surprised that there seems to be no official documentation of those attributes.
The MAN page for targetcli only mentions that attributes are backstore-specific and contain values relating to the backstore and storage object. [4] [5].
https://github.com/Datera/rtslib mentions the same broken website, and a rtslib-API-reference.pdf that I can't retrieve. And a Google search didn't find a single mirror of that file anywhere else [6].
There seems to be no description or list of attributes in the RedHat doucumentation [7].
The targetcli util claims when I invoke "help set" that I can "Run with no parameter nor group to list all available groups, or with just a group name to list all available parameters within that group." But then when I actually call "set" without argument in a backstore I get en empty "AVAILABLE CONFIGURATION GROUPS ===============".
If I didn't accidentally find this Reddit thread I would have had no chance of knowing how to set the block size. If I hadn't digged through the weeds for quite some time to write this email I would have never discovered on [2] that there is "emulate_tpu=1" which "exposes an UNMAP command which is functionally similar to TRIM for SSDs" and "is_nonrot specifies whether the pool is composed of HDDs or SSDs. Windows uses this to decide whether or not to make the iSCSI drive defragmentable", which would have been extremely advantagous to know!
Is the official documentation really that lacking, or did I miss something obvious?
Can we improve this situation?
Hi,
I wanted do change the sector size that is reported for a target via iSCSI. After a long Google search I found a single Reddit thread that explained that there is a possibility to configure "set attributes block_size=4096" on a block device backstore. In the mean time I found two other secondary sources about this attribute [2],[3].
But I was very surprised that there seems to be no official documentation of those attributes.
If I didn't accidentally find this Reddit thread I would have had no chance of knowing how to set the block size. If I hadn't digged through the weeds for quite some time to write this email I would have never discovered on [2] that there is "emulate_tpu=1" which "exposes an UNMAP command which is functionally similar to TRIM for SSDs" and "is_nonrot specifies whether the pool is composed of HDDs or SSDs. Windows uses this to decide whether or not to make the iSCSI drive defragmentable", which would have been extremely advantagous to know!
Is the official documentation really that lacking, or did I miss something obvious? Can we improve this situation?
Best regards Markus
[1] https://www.reddit.com/r/homelab/comments/ror016/lio_target_w_zvol_for_esxi_vmkernellog_lvm_block/ [2] https://forum.level1techs.com/t/guide-iscsi-target-server-on-linux-with-zfs-for-windows-initiator-clients/174803 [3] https://serverfault.com/questions/818655/how-to-specify-sector-size-for-lvm-logical-volume [4] https://linux.die.net/man/8/targetcli [5] https://manpages.ubuntu.com/manpages/bionic/man8/targetcli.8.html [6] https://www.google.com/search?q=%22rtslib-API-reference.pdf%22 [7] https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/online-storage-management
x-posted from https://lore.kernel.org/target-devel/trinity-7a9a1e34-4702-4c7a-8012-e540eea4447b-1680090704891@3c-app-gmx-bs24/T/#u