is it possible to serve blocks of storage to multiple hosts using iSCSI protocol?
each block is reserved to one writer (host)
is it only limited by available NIC ports?
update: shared storage solution based on ZFS. Primary purpose is to serve this to multiple VMs - iSCSI is considered. My question: is iSCSI LUN 1-to-1, meaning only 1 host can write?
I'm not sure I completely understand your question. A Solaris system running ZFS can provide iSCSI storage to other hosts backed by ZFS volumes ("zvols"). FreeBSD can do this too, although the iSCSI implementation is neither as nice nor as integrated with ZFS.
An iSCSI LUN can be shared by multiple writers -- provided that they're running the appropriate cluster-aware filesystem to support the necessary coordination. Examples of cluster filesystems are VMFS (used by VMware), GFS, GPFS, and so forth.
An iSCSI LUN can easily be shared by multiple hosts if only one is using it at a given time (for example, in a failover environment where one host will take over if the primary host fails).
The limit on how many hosts you can serve is not available NIC ports...it is (a) your available bandwidth and (b) your IO requirements. If you're not doing intensive io, you can happily support many machines over a single gigabit NIC.
Block storage doesn't have anything to do with ZFS (the ZFS file system, can be shared over a NAS protocol like CIFS or NFS - ZFS does not work on shared block storage as of writing this). Portions of ZPools can be shared by iscsi, this is part of ZFS, but I don't think it's what you're looking for.
iSCSI (a SAN protocol, not a NAS protocol) can serve many clients (initiators), it's primarily limited by the clients' ability to coordinate, which is most often done through SCSI3-PR (the iSCSI Target must support this for it to work).
The number of NICs and/or Ports (which isn't necessarily the same thing) does not factor into any of the above (except that you need at least one obviously).
Yes, a ZFS NAS can preset iSCSI LUNS or zvols to multiple servers. This is commonly used as a way to provide storage to multiple VMWare hosts. If you're not talking about a virtualization solution, this is still possible. Number of NIC interfaces shouldn't matter. Ideally, you'll have two or more. What exactly are you looking to do?