[DSS V7][JDSS] File I/O or Block I/O?
Additional information:
- product name: JovianDSS / DSS V7
- product version: all
- build: all
Subject:
I am unsure of which option to select when creating and attaching an ISCSI target to a Zvol in JovianDSS or creating a new ISCSI volume in DSS.
Contents:
At the most basic level; with block-I/O, data is accessed by requesting a number of "blocks" from a device. With file-I/O, data is accessed by requesting a file from the file-system, using an index or table.
In most cases, File I/O provides some performance increase due to caching; however, when multiple hardware initiators are configured Block I/O can provide the highest Read/Write speed.
- JovianDSS ISCSI Target Considerations
First, lets review options available to you in JovianDSS.When configuring a Zvol in JovianDSS and attaching a target you are presented with multiple options.
[ located : Expand storage Pool > ISCSI / FC Target > attaching a target to a Zvol ]
Write-through, Write-back, and Read-Only considerations
Write-through
With the Write-through policy data is written to both RAM and disk simultaneously. This offers the most resiliency in the event of a power loss but suffers some performance impact.
Write-back
With the Write-back policy, data is written only to RAM and then to DISK. I/O does not wait for or confirm data has been written to disk before processing then next command.
Read-only
Data on this target will only be available for read operations.
Block I/O VS File I/O
Block I/O is a raw Logical Volume which is formatted only by the initiator side. I/O performance should be faster as there is no delay in accessing the file system layer.
File I/O delivers each file working on a formatted Logical Volume, this gives additional benefits of the filesystem caching part of the data. Not initialized, File I/O provides another benefit of “organized writing”.
With JovianDSS, it is not suggested to use File I/O for HA (Highly Available) clustered solutions, as this may put your data at risk and cause instability during failover operations.
- DSS ISCSI Volume considerations
When configuring DSSv7 ISCSI targets, you will be presented with File I/O vs Block I/O while configuring your ISCSI volume.
File IO without initialization
XFS uses first free block for saving the data – no need to use „SEEK” command.
High performance while „random write”, low performance while sequential read.
File IO with initialization
System must perform a real SEEK in order to read/write the data.
XFS table has to be read and updated.
More stable than “not initialized” volume.
Block IO
System must perform real SEEK operation on disk in order to save/write the data.
XFS table will NOT be updated.
Data is stored directly on the hard drive (no memory writes required)