libzmqにVSOCKサポートを追加した
Use Vsock with Libzmq
Linuxカーネル4.8以降に存在するAF_VSOCKは、VMとハイパーバイザー間の通信用ソケットファミリーだ。libzmqにはVMCI実装はあったがVSOCKがなかったため、筆者はVMCIのコードをほぼコピーしてPRを提出。これによりPythonやRubyなどあらゆる言語のバインディングでVSOCKが使え、Curve認証やreq/rep、pub/subといったlibzmqの機能を仮想マシン間通信で利用できるようになる。安定版リリースまでは、最新のlibzmqコミットでビルドしたpyzmqフォークが提供されている。
libzmqにVSOCKがあると、多くの利点が得られる。AF_VSOCKをlibzmqバインディングを持つあらゆる言語(python、ruby、nodejs、perl、java、lua…)で使える。AF_VSOCK上でlibzmqの機能(curveによる認証、さまざまなメッセージパターン、req/rep、pub/sub)を使える。
- dwrodri
VMでサンドボックス化されたソフトウェアを必要としつつ、ホスト/ゲスト間の手っ取り早いブリッジも必要とする人々にとって、これは本当に役立つだろうと想像できる。素晴らしい貢献だ!
- sthustfo
ゲストVMがハイパーバイザーと通信する典型的なユースケースは何ですか?Proxmoxのリンク(https://pve.proxmox.com/wiki/Qemu-guest-agent)には2つのユースケースが挙げられています。
1. ゲストのシャットダウン
2. バックアップ/スナップショット中のゲストシステムのフリーズ
他の可能なユースケースにも興味があります。
- remijouannet
こんにちは、最近libzmqにAF_VSOCKを追加する貢献をしました。誰か試している人がいたら