インターネット上でiSCSIを実行する

iSCSIはもともとLAN内のSAN(ストレージエリアネットワーク)向けに設計されたプロトコルで、ラック内の信頼できるネットワーク環境での使用を前提としていました。本記事は、このiSCSIをインターネットの公開環境で実行するというチャレンジングなプロジェクト「scsipub」につ...

iSCSIはもともとLAN内のSAN(ストレージエリアネットワーク)向けに設計されたプロトコルで、ラック内の信頼できるネットワーク環境での使用を前提としていました。本記事は、このiSCSIをインターネットの公開環境で実行するというチャレンジングなプロジェクト「scsipub」について詳述しています。

scsipubは、ユーザーがイメージを選択することでブロックデバイスを取得できるサービスです。無料版ではサインアップすら不要で、iscsiadmコマンド一つで64MBのスクラッチディスクにアクセス可能です。

複数のOSイメージもカタログから同じ方法でマウントできます。技術的には、Ranch 2.xリスナー、BEAMプロセス(セッションごと)、Copy-on-Writeオーバーレイ、Caddy終端TLS、マルチLUNとSCSI-3 Persistent Reservationsによるクラスタソフトウェア対応など、多くの工夫が施されています。

特にopen-iscsiのIQNスラッシュ問題など、既存実装の特癖に対応するのに丸一日かかるレベルの細かい問題が複数存在しました。このプロジェクトの意義は、元来ローカルネットワーク用途のプロトコルを公開インターネットで安全かつ実用的に運用することの複雑さを示すとともに、既存プロトコルを新環境に適応させる際の実装上の課題を浮き彫りにしていることです。

HNの反応

読者からは高い技術的評価を受けており、特にopen-iscsiの実装細部に関する深い理解が評価されています。開発者本人(Tom)によるプロジェクト説明も示唆に富んでいると指摘されています。

注目コメント

「Hi HN - Tomです。scsipubを構築しました。要約するなら:公開インターネット上のiSCSIターゲットです。イメージを選んで、ブロックデバイスを取得します。無料版はサインアップすら必要ありません。iscsiadm -m discovery -t sendtargets -p scsipub.com でディスカバリーして、--login iqn.2025-01.pub.scsipub:blank で64MBのスクラッチディスクにアクセスできます。OSイメージのカタログもあって、同じ方法でマウント可能です。有料版はさらに機能が充実しています。」— @qdotme

元記事を読むHN討議を見る