# Being efficient with IO



## biatche (Sep 16, 2013)

I need some suggestions on how to maximize I/O for a public iSCSI on ZFS system.

I'll be booting *W*indows clients off iPXE - iSCSI, which will be on a zvol. Each client will have its own ZFS clone, after which, when a session ends, the clone will be destroyed. Since the writes during this session aren't important, is there a way to redirect the writes to another physical disk? If there are a lot of writes to the main drives, wouldn't this impact read speed? Fast reads are more important in my case here than writes (since they will be discarded).

Is there a better way?


----------



## vermaden (Sep 16, 2013)

@biatche,

Make the recordsize of these iSCSI ZVOLs the same as the filesystem block size (in that case probably NTFS).

`% zfs get -r recordsize YOURPOOL`


----------



## biatche (Sep 16, 2013)

That's a good optimization to note of. But still, writes will occupy I/O unnecessarily to the main drives


----------



## SirDice (Sep 16, 2013)

How about adding a ZIL? Another option may be to use mount_unionfs(8).


----------



## biatche (Sep 16, 2013)

SirDice said:
			
		

> How about adding a ZIL? Another option may be to use mount_unionfs(8).



ZIL is nice, except it still has to write eventually. I've considered UnionFS, but how will this work with NTFS? UnionFS is indeed ideal, but *I* can't figure out how to overlay NTFS with UnionFS.


----------



## SirDice (Sep 16, 2013)

biatche said:
			
		

> I've considered UnionFS, but how will this work with NTFS? UnionFS is indeed ideal, but *I* can't figure out how to overlay NTFS with UnionFS.


Ah, I think I missed that part. I don't think it's possible to use UnionFS in that case.


----------

