Hasty Briefsbeta

Bilingual

We Run iSCSI over the Internet

13 hours ago
  • #Network Storage
  • #iSCSI
  • #Elixir
  • iSCSI protocol was designed for SANs, not the public internet, but scsipub adapts it through a series of technical decisions.
  • Uses Ranch 2.x listeners with one BEAM process per session, making it efficient for many concurrent connections.
  • Implements COW (Copy-on-Write) overlays for sparse storage, separating read-only base images from per-session writes.
  • Caddy handles TLS termination, with a system to sync Let's Encrypt certificates to the iSCSI listener.
  • Addresses quirks in open-iscsi, such as avoiding '/' in IQN names and ensuring SendTargets advertises reachable addresses.
  • Supports cluster features like multi-LUN sessions and SCSI-3 Persistent Reservations for failover scenarios.
  • Deliberately omits multi-region support, S3/NBD backends, RDMA, MPIO, and per-session encryption beyond TLS.
  • Future plans include stress testing under high iSCSI load to identify BEAM failure modes.