iSCSI hydra implementation in Go
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nick Thomas 24a13ff5ac Initial commit 7 years ago
common Initial commit 7 years ago
hydra Initial commit 7 years ago
initiator Initial commit 7 years ago
target Initial commit 7 years ago
README Initial commit 7 years ago
iscsi-hydra.go Initial commit 7 years ago

README

go-iscsi
********

This project is a (c)go iscsi library, with the eventual aim of implementing a
"hydra" iSCSI implementation.

An hydra is an iSCSI target that, internally, takes requests and mirrors them
across multiple *real* iSCSI targets, with the aim of ensuring redundancy and
fault tolerance. The hydra (or Very Clever Proxy, as we could also call it) is
intended to be run on the same host as the iSCSI initiator (qemu, say) to
insulate the guest against the vagaries of disc failures, targets going away for
any reason, etc, etc.

This is being created specifically with redundant, fault-tolerant remote virtual
discs in mind, so performance and reliability are key. Looks like this:

TODO:

* Minimal iSCSI target implementation
- This should contain as few features as we can get away with, and is what
qemu will connect to - ideally over localhost (iscsi doesn't seem to
support UNIX sockets or I'd use those)
* Complete iSCSI initiator implementation
- This needs to support as much