Vapor リリースノート
このログは、Vapor ホストエージェントの更新、新機能、およびバグ修正を追跡します。
バージョン 3.3.2 (2026年 10月)
このリリースでは、これまでのすべてのバージョンに存在した SSH キーによるサインインのセキュリティ上の欠陥を修正しています。すべてのホストをアップグレードしてください。また、VDI と VHDX のアップロードを再び受け付け、古いカーネルのホストでも実行中の VM のクローンのアイデンティティをリセットできるようにし、時間のかかるクローンが最後に失敗しないようにしました。
セキュリティ:
- SSH キーによるサインインで、ユーザーが許可していないキーが受け付けられていました。 Vapor 3.3.1 以前のすべてのバージョンでは、SSH キーによるサインイン (
POST /api/v1/auth/challengeに続いてPOST /api/v1/auth/challenge/verify) で、リクエストと一緒に送られた公開鍵に対して署名を検証していましたが、そのキーがユーザーの許可済みキー (~/.ssh/authorized_keys) に含まれるかどうかは確認していませんでした。そのため、Vapor API に到達できる人は誰でも、rootを含むホスト上の任意のユーザーとしてサインインできました。Vapor 3.3.2 は、ユーザーが許可したキーのみを受け付けます。すべてのホストを 3.3.2 にアップグレードしてください。それまでは、Vapor API に到達できるネットワークを信頼できるものに限定してください。
修正:
- VDI と VHDX のイメージを再びアップロードできるようになりました。 ストレージブラウザーの Convert アクションは両方を変換元の形式として提示していますが、Vapor 3.3.1 はこれらを拒否していました。以前と同様にアップロードして変換してください。
- カーネルが 5.15 より古いホストでの、実行中の VM のクローン。 Ubuntu 20.04 (カーネル 5.4) では、Debian 13 などの新しいゲストを持つ実行中の VM のクローンのアイデンティティをリセットできず (理由
unmountable)、クローンは通常ネットワークなしで起動していました。停止中の VM のクローンは影響を受けませんでした。Ubuntu 20.04 への新規インストールでは、ホスト自身のカーネルを変更せずに、Vapor の libguestfs アプライアンスに 5.15 カーネルが用意されるようになりました。インプレースでアップグレードしたホストでは手動で設定してください。Virtual Machines を参照してください。 - 時間のかかるクローンが最後に失敗しなくなりました。 Vapor は libvirt 接続を 30 分ごとに更新します (3.0.0 以降)。その時点でまだディスクのコピーやゲストのアイデンティティのリセットを行っていたクローンやテンプレートからのデプロイは、コピーの後、VM の作成時に失敗することがありました。Vapor 3.3.2 は VM の作成が終わるまで接続を保持します。
バージョン 3.3.1 (2026年 9月)
クローンがソースの同一性を引き継がなくなりました。VM のクローンやテンプレートからのデプロイで、コピーに独自のマシン ID、SSH ホスト鍵、ホスト名を与えられるようになったため、コピーは自分の DHCP アドレスを取得し、クラウドイメージ VM のクローンもネットワークを持って起動します。本リリースではさらに、クローンが QEMU ゲストエージェントのチャネルなしで作成されていた 3.3.0 の退行を修正し、UEFI VM のスナップショットを VM が起動不能になることなく削除できるようにしました。
新機能:
- クローンおよびテンプレートからのデプロイ時のゲスト同一性: クローンとテンプレートからのデプロイで、コピーの扱いを選べるようになりました。Reset guest identity (recommended) は、新しいマシン ID、新しい SSH ホスト鍵、自身の MAC アドレスに結び付いたネットワーク設定、DHCP リースの削除、新しいランダムシード、独自のホスト名を与えます。Keep an exact copy はソースと同一のまま残します。リストアのテストや、マシン ID に紐付いたライセンスのソフトウェア向けです。これまでクローンは常に完全なコピーでした。ソースの DHCP アドレスを受け取り、クラウドイメージ VM のクローンは、設定がソースのネットワークカードを指したままのためネットワークなしで起動していました。リセットはクローンを定義する前に、コピーしたディスクに対して行われます。失敗した場合はクローン自体が失敗し、何も残りません。Windows ゲスト、暗号化ディスク、ホストがマウントできないゲストは、何かをコピーする前に検出されます — これらは Keep an exact copy でクローンしてください。静的 IP アドレスは警告付きで維持され、クローンは自動起動をオフにして作成されるため、両方の VM を同じネットワークで動かす前にアドレスを変更できます。API クライアントは
guest_identity(reset、auto、keep)を渡します。仮想マシンを参照してください。 - リセットに必要なホスト側の要件: リセットには libguestfs ツールを使用します。新規インストールには含まれています。インプレースでアップグレードしたホストでは、クローンの前にインストールしてください。それまでの間、そのホストでは完全なコピーのみが選択できます:
- Debian 12 以降、Ubuntu 22.04 以降:
apt-get install guestfish libguestfs-xfs - Debian 11、Ubuntu 20.04:
apt-get install libguestfs-tools libguestfs-xfs - RHEL 9 とその派生:
dnf install libguestfs libguestfs-xfs - RHEL 8 とその派生:
dnf install libguestfs-tools-c libguestfs-xfs
- Debian 12 以降、Ubuntu 22.04 以降:
改善:
- 新規作成した VM のディスクは、リクエストで指定しない限り、キャッシュモード
none、I/O モードthreadsが既定になります。既存の VM は変更されません。 - VM の停止が必要なスナップショット削除は、汎用的な失敗ではなく、その旨を明確に伝えます — 削除ダイアログと、API の
409 SNAPSHOT_REQUIRES_SHUTDOWNで。 - プールに既にあるファイルを、アップロードと同じ規則で判定できます。
GET /api/v1/virtualization/storages/pools/{name}/volumes/{vol_name}?inspect=trueは、そのファイルが自己完結しているかどうか、そうでなければその理由を、イメージとして提供する前に報告します。
セキュリティ:
- アップロードまたはダウンロードするイメージは、ボリュームの保存形式 — qcow2、raw(ISO は raw として扱われます)、VMDK — のいずれかである必要があり、VMDK は単一ファイルでなければなりません。VMDK のディスクリプタはデータの置かれたファイルを列挙し、ホスト上の任意のパスを指定できるため、ディスクリプタは、別の
-flatファイルを伴うものも含めて拒否されるようになりました。monolithic または stream-optimized の VMDK をアップロードするか、先にディスクを変換してください(例:qemu-img convert -O qcow2 in.vmdk out.qcow2)。QED と VHD のイメージも拒否されます。先に qcow2 へ変換してください。VDI と VHDX は受け付けられるべきものです — 「既知の問題」を参照してください。
修正:
- クローンに QEMU ゲストエージェントのチャネルが戻りました。 Vapor 3.3.0 でクローンした — またはテンプレートからデプロイした — VM は、ゲストエージェントが通信に使うチャネルなしで作成されていたため、ホストがエージェントに到達できませんでした。ゲストの IP アドレスは報告されず、バックアップ時にゲストのファイルシステムをフリーズできませんでした。Vapor 3.2.0 以前は影響を受けず、3.3.1 で作成したクローンにはチャネルがあります。3.3.0 で作成済みのクローンは、修復するまで問題が残ります。VM を停止し、
POST /api/v1/virtualization/computes/{id}/guest-agent/channelを呼び出してから再度起動してください。あるいはソースからクローンし直してください。 - UEFI VM のスナップショットを、VM を壊さずに削除できます。 停止中に取得した古いスナップショットと、稼働中に取得した新しいスナップショット — 3.3.0 で可能になったもの — を持つ UEFI VM は、libvirt がどちらの端からも削除を拒否するチェーンを抱えていました。VM を停止すれば、どちらの種類も削除できるようになりました。稼働中は、libvirt のエラーを返す代わりに Vapor が停止を求めます。また、スナップショットの削除によって VM が起動できなくなることがありました。そうなった VM は、次に Vapor または Cockpit から起動したときに修復されます。
既知の問題:
- VDI と VHDX のイメージがアップロード時に拒否されます。 Vapor 3.3.1 は、アップロードまたはダウンロードされた VDI・VHDX イメージを拒否します。ストレージブラウザーの Convert アクションは両方を変換元の形式として提示していますが、受け付けられません。Vapor 3.3.0 以前では受け付けられます。再び受け付けるリリースが出るまでは、アップロードの前にディスクを変換し(例:
qemu-img convert -O qcow2 disk.vdi disk.qcow2、またはdisk.vhdx)、qcow2 ファイルをアップロードしてください。Vapor 3.3.2 で修正されました。
バージョン 3.3.0 (2026年 9月)
Vapor が Open Virtual Network を管理できるようになりました。論理スイッチとルーター、VPC、セキュリティグループ、DHCP、ロードバランシングを扱い、VM は他のネットワークと同じように接続できます。ホストで OVN を有効化する、または新しい OVN クラスターを構成するウィザードも備えています。バックアップは VM 全体 — すべてのディスクとその構成 — を復元し、元の VM に上書きすることもできます。UEFI VM のメモリスナップショットが動作し、VM の編集で起動不能になることもなくなりました。3.3.1 へのアップグレードを推奨します。3.3.0 でクローンした VM は QEMU ゲストエージェントのチャネルなしで作成されます。
新機能:
- Open Virtual Network (OVN): Network 配下の OVN 画面から OVN を管理します。論理スイッチとそのポート、スタティックルートと NAT を備えた論理ルーター、読み取り専用のシャーシ一覧、スイッチごとのトポロジー。さらにその上に、VPC(ルーターとそのサブネットを一つのオブジェクトとして作成・削除)、ポートグループ・ACL・アドレスセットによるセキュリティグループ、DHCPv4 と DHCPv6 のオプション、DNS レコード、ロードバランサーとロードバランサーグループ、ポリシールーティング、QoS、メーター。ポートが残っているスイッチや、サブネットにワークロードが残っている VPC の削除は、何が妨げているかを示して拒否されます。
- OVN 上の VM: OVN Logical Switch が Add / Edit Network Interface ダイアログのネットワーク種別に加わり、アドレス割り当ての既定は OVN DHCP です。論理ポートは VM の定義前に作成され、インターフェースと一緒に削除されます。VM の MAC アドレスは両側に記録されるため、OVN の DHCP が応答します。停止中の VM を別のホストへ移動すると、OVN インターフェースは移動先の論理スイッチ — または別のネットワーク — に対応付けられます。異なる OVN デプロイメントへの移動も含みます。ホストには Open vSwitch クライアント(
ovs-vsctl)が必要で、ない場合は Vapor がその旨を伝えます。 - OVN 有効化ウィザード: 設定を手作業で編集せずに、ホストで OVN を有効化できます。方法は三つです。Vapor ネイティブのデプロイメントを構成する(新しいクラスター化データベースをブートストラップする、またはセントラルホストで発行した使い捨てトークンで既存のものに参加する)、既存の外部 OVN に参加する、既存の Kube-OVN クラスターに参加する。検出とプリフライトチェックが先に実行され、ホストにある既存の OVN データベースは、確認した場合にのみ置き換えられます。無効化では Vapor 自身が設定したものだけを解放するため、Kube-OVN ノードはネットワークに残ります。
- UI からのホスト設定: Host > System > Configuration で
vapor.confを読み書きし — よく使う設定のフォームと、それ以外のための raw ビュー — Vapor を再起動できます。再起動はヘルスチェックされ、Vapor が戻らない場合は以前の設定が復元されます。コメントとキーの順序は編集後も保たれ、署名鍵は表示も上書きもされません。 - raw ディスクの VM のメモリスナップショット: raw ファイルのディスクを持つ稼働中の VM を、メモリを含めてスナップショットし、復元できます。
改善:
- UEFI VM のファームウェア変数(ブートエントリを保持)が、バックアップごとに保存され、リストア時に戻されます。新しい名前でリストアした VM は、元の VM のものを共有せず、独自のコピーを持ちます。レプリケーションの復旧ポイントにも含まれ、フェイルオーバーとテストフェイルオーバーはそれを使って起動します。
- リストアの進行状況が表示されます。Overwrite existing VM を選ぶと、ダイアログは新しい名前の欄を隠し、VM が停止・置き換えられ、その後は電源オフのままになることを警告します — VM が稼働中の場合は強調されます。
- 稼働中の VM は、ゲストエージェントが示すオペレーティングシステム(例: "Ubuntu 20.04.5 LTS")を報告します。インポートや移行したゲストで OS が表示されないことはなくなりました。
- ソースディスクを開けなかった VDDK インポートは、"Unknown error" だけでなく、VDDK が記録した理由 — 誤ったサムプリント、到達できないポート — を報告します。
- ホスト上で定義されなくなった VM のバックアップも一覧表示できます。
- クローンはソースの UUID を記録します。ソースの名前を変更しても維持されます。
- 稼働中の VM の Name 欄は、保存時に名前変更を拒否するのではなく、無効化されます。
セキュリティ:
- アップロードや URL ダウンロードで届いたイメージ — ストレージブラウザ経由のアップロードを含む — は、バッキングファイルや外部データファイルを指定している場合に拒否されます(
422 IMAGE_NOT_SELF_CONTAINED)。このようなファイルをイメージとして提供すると、ホスト上の別のファイル、例えば別の VM のディスクが、そこから作成されるすべての VM にコピーされてしまいます。以前のバージョンはこのようなイメージを受け付けます。3.3.0 へアップグレードしてください。 - ストレージプールへのアップロードのファイル名は、単なる名前でなければなりません。パスを含む名前では、ファイルがプールの外に置かれる可能性がありました。以前のバージョンが影響を受けます。3.3.0 へアップグレードしてください。
修正:
- バックアップのリストアで VM 全体が戻り、上書きもできます。 Overwrite existing VM を選んだリストアは domain … already exists で失敗し、複数ディスクの VM は一つのディスクだけで戻り、リストアした VM は元の構成にかかわらずメモリ 2 GiB・2 vCPU になっていました。現在はバックアップが VM の定義を記録し、リストアはそこから VM を再構築します — すべてのディスク、メモリ、CPU、ネットワーク。上書きでは既存の VM を、稼働中であっても停止し、同じ UUID のまま置き換えるため、そのバックアップや VM を参照するものは引き続き VM を見つけられます。3.3.0 より前に取得したバックアップには定義が含まれません。すべてのディスクは復元されますが、メモリ、CPU、ネットワークは既定値になります。
- UEFI VM のメモリスナップショットが動作します。 libvirt は UEFI ファームウェアの VM の内部スナップショットを取得しないため、UEFI VM のメモリを含むスナップショットはすべて失敗していました。現在は、メモリファイルを別に持つ外部スナップショットとして取得され、復元も削除もできます。
- VM の編集で起動不能になることがなくなりました。 三つの編集がその原因になり得ました。どの編集でも VM の CPU フィーチャーフラグが失われ、それを必要とする VM —
qemu64モデルでsvmを無効化したものなど — は次のコールドスタートで Host CPU does not provide required features により失敗していました。デバイス種別で起動する VM のディスクにブート順を設定すると、そのディスクが取り外されていました。そして、ブリッジモードの libvirt ネットワーク上にインターフェースを持つ VM を保存すると、存在しないデバイスへのブリッジインターフェースに変わっていました(Cannot get interface MTU)。現在は CPU フィーチャーが編集後も保たれ、ディスクは接続されたまま、インターフェースはネットワーク上に残ります。 - 停止中の VM のクローンが SATA ディスクと raw ディスクで動作します。 SATA ディスクを持つ停止中の VM — Windows ゲストや VMware からのインポートでよくある構成 — は Found duplicate drive address でクローンに失敗し、raw ディスクの VM は Image is not in qcow2 format で失敗していました。そこからのテンプレート作成や、そのテンプレートのデプロイも同様でした。また、クローンにソースが持っていなかった CD-ROM が加わることはなくなり、raw ディスクは raw のまま、マシンタイプも q35 に変えられずソースのものを保ちます。
- VM 一覧と Cockpit が同期するデータが、UEFI、セキュアブート、TPM を報告します。Cockpit はすべての VM を TPM なしの BIOS として記録していました。また、パスに "OVMF" を含まないファームウェアローダーは BIOS と読まれ、無効化したセキュアブートは有効と読まれていました。
- TLS 証明書は、クライアントが使うアドレスを記載します。 再生成した証明書は、その時点のすべてのインターフェースのすべてのアドレス(コンテナや VM のインターフェースを含む)を列挙しており、ホストのアドレスを変更した後も古いアドレスが表示されることがありました。現在はループバックとホストの実際のインターフェースアドレスを記載し、
VAPOR_TLS_SANSで一覧を直接指定できます。TLS タブには、接続に使ったアドレスを証明書がカバーしているかどうかが表示されます。証明書を再生成するまでは何も変わりません。API 証明書を再生成するとフィンガープリントが変わるため、ホストをピン留めしているコントローラーはピン留めし直す必要があります。古いアドレスがまだインターフェースに割り当てられている場合は、削除するかVAPOR_TLS_SANSを設定してください。 - グローバルハートビートを使うクラスター向けの OCFS2 ストレージプールの作成が、フォーマット時に Unsupported feature(s) found when parsing fs-features string で失敗していました。
- ホストが再起動後も OCFS2 クラスターを維持すると報告されるのは、グローバルハートビートが開始できる場合に限られるようになりました。各ハートビートデバイスが再び現れるよう設定され(iSCSI の自動起動、または
/etc/ceph/rbdmapへの記載)、o2cb がそれを提供するサービスの後に起動する必要があります。これまでは、永続と報告されたホストが再起動後にすべての OCFS2 マウントに失敗することがあり、一方でサービスのエイリアス経由で正しく順序付けたホストが永続でないと報告されていました。 - 単一ディスクの VM のレプリケーションが完了しませんでした。復旧ポイントが pending のまま残り、フェイルオーバーできませんでした。また、UEFI VM のテストフェイルオーバーが復旧した VM とファームウェア変数を共有していたため、テストを片付けるとそれが削除されていました。
- 複数ディスクの VM のバックアップを削除すると、最初のディスク以外がすべてストレージに残っていました。
- ゲストが再起動したにもかかわらず、グレースフルな再起動が失敗と報告されていました。別名で送られた電源操作 —
shutdown、reboot、suspend、force-off、force-reboot— は、不明として拒否されずに受け付けられます。 - ウィザードで作成した VM には vCPU やメモリをホットアドする余地がありませんでした。Max vCPUs と Max Memory が常に現在の値と同じだったためです(3.1.0 以降)。現在の既定値はホストの CPU 数とメモリで、メモリ欄の既定単位は GiB です。
- IP 範囲を指定せずに NAT またはルーテッドネットワークを作成すると、エラーを返しながらもネットワークは作成されていました。
- インターフェースのアドレスを削除してそのインターフェースを OVS ブリッジに追加すると、ブリッジのメンバーとブリッジの内部ポートに同じアドレスが残ることがありました。別のインターフェースが既に持っているアドレスは拒否されるようになり、OVS ポートを保存してもその時点の MTU に固定されなくなりました。
- ライセンスの日付は、UI の言語で月名を綴って表示されるため、10/9/2026 のような日付が二通りに読まれることはなくなりました。
バージョン 3.2.0 (2026年 9月)
移行したゲストのディスクを、そのゲスト専用のフォルダに置けるようになりました。ダウンロードにはどの認証局を信頼するかを伝えられるため、プライベート証明書を提示するサーバーでもホスト側に何も導入する必要がありません。そして RHEL 系のホスト — Rocky、Alma、RHEL 9 — で、これまで作成そのものが拒否されていた VM を作れるようになりました。
新機能:
- ゲスト専用フォルダに置かれるディスク: ストレージプールへインポートまたはダウンロードしたディスクを、他のあらゆる移行のディスクと並んでプール直下に置く代わりに、ゲスト名を冠したディレクトリへ配置できます。Vapor は各ファイルの保存先を報告します。ディレクトリの中のファイルはプールのボリュームではなく、どの一覧にも現れないためです。
- ダウンロードに信頼すべき認証局を伝える: ダウンロード元を検証するための認証局を渡せます。プライベート証明書を提示するサーバーへ、ホストのトラストストアに何も導入せずに到達でき、検証は従来どおり行われます — 検証を省くための選択肢ではありません。
- サブディレクトリへのウォーム取り込み: ライブマイグレーションが書き込む対象をプール配下のディレクトリに置けます。ウォームマイグレーションもコールドと同じ場所に着地します。
- QEMU ゲストエージェント: virtio-serial 経由でゲストエージェントを接続し、cloud-init によるプロビジョニングを適用した VM を作成できます。ゲスト自身が認識しているインターフェース名も報告されます。
- ボリュームの形式変換をストレージ画面から実行できます。
- ストレージプールの NFS バージョン指定: ネゴシエーションに委ねず、プールがマウントする NFS バージョンを固定できます。
- OCFS2 ハートビートデバイスの自動フォーマット。サイズ検証と明示的な上書き指定を伴います。
- マルチパス管理: UI からマルチパスを設定し、ホスト上でシェルを使わずに
multipathdを再読み込みできます。 - 証明書の名前: libvirt サーバー証明書のサブジェクト代替名を報告します。名前の不一致を推測ではなく確認できます。
改善:
- 拒否されたログインについて、その理由をホスト側のログに記録します — 未知のユーザー、
sudo/wheelグループに属していない、PAM による拒否 — 一方で呼び出し元への応答は意図的に曖昧なままです。 - 再起動後に iSCSI ターゲットが再接続します。
node.startupの設定が Vapor 内部にとどまらずiscsiadmまで書き込まれるようになりました。 - 稼働中の VM のインターフェースアドレスがちらつかなくなり、停止中の VM もインターフェース名を安定して保ちます。
修正:
- RHEL 系ホストで VM を作成できます。 二つの前提が妨げになっていました。Vapor は
/usr/bin/qemu-system-x86_64を直接指定していましたが、これは Debian の配置であり RHEL の置き場所ではないため、作成は Cannot check QEMU binary で失敗していました。またqxlディスプレイを要求していましたが、RHEL 9 とその派生はこれを同梱しなくなったため、ドメインは does not support video model 'qxl' で拒否されていました。現在はどちらも、libvirt がそのホストで利用可能だと述べる内容から読み取ります。これまで動作していたホストは、従来と全く同じものを得ます。 - 既存の VM で UEFI、セキュアブート、TPM を有効にする際にも
qxlを強制しなくなり、同じホストでその編集が失敗しなくなりました。 - ボリューム操作がフォルダを理解します。サブディレクトリ内のディスクを削除でき、実際の容量を報告します。存在しないかのように見えることはありません。
- 複数ディスクのバックアップ: 変更追跡のチェックポイントがディスクごとに正しくなり、残置されなくなりました。
- 失敗したサイト間レプリケーションのプッシュが、完了した復旧ポイントとして記録されなくなりました。また複数ディスクのレプリカは、複数ではなく一つの復旧ポイントとして登録されます。
- 明示的に指定された CPU トポロジーが、黙って破棄されずに適用されます。
- VM のディスクが同期スナップショットに現れ、OVS ブリッジが設定どおり接続されます。
- アドレスを割り当てられなかったインターフェースはその旨を報告し、中途半端な IP 設定を残しません。
バージョン 3.1.0 (2026年 8月)
Vapor ホスト同士で VM を受け渡せるようになりました。停止中の VM を Awanio の中から別のホストへ移動でき、実行中に取り消すこともでき、コピーを始める前に移動先の到達性と空き容量が確認されます。レプリケーションと移行のトラフィックに専用のネットワーク経路を割り当てることもできます。
新機能:
- VM を別のホストへ移動: 停止中の VM のコールドマイグレーションです。Vapor はコピー前に移動先が到達可能で空き容量があることを確認し、共有ストレージ上にあるディスクはそのまま残し、コピーに失敗した場合は後始末を行います。
- 実行中の移行をキャンセル: 進行中の移行を取り消せます。結果は失敗ではなくキャンセルとして報告されます。
- VM の名前変更: 名前変更が、旧名を参照していたすべてに反映されます。VM 定義内のディスクパス、バックアップのフォルダとファイル名、およびそれらを指すレコードが対象です。名前を変更するには VM を停止しておく必要があります。
- ホストサービスエンドポイント: レプリケーションと移行のトラフィックに、管理用とは別のインターフェースをホスト上で割り当てられます。割り当てはインターフェース画面から行います。
- 非同期フェイルオーバー: フェイルオーバーは即座に応答を返して進行状況を報告するようになり、処理の間じゅう接続を保持しません。
- システムの hosts ファイル: ホストの
/etc/hostsをシステムタブから参照・編集できます。
機能強化:
- 仮想ネットワークの高速化: virtio インターフェースが vhost、マルチキュー、より大きなリングバッファを使用するようになりました。
- テンプレート: VM からのテンプレート作成がバックグラウンドで実行され、実行中にキャンセルできます。
- VM の詳細に、稼働中のセキュリティラベルが表示されます。ホストが報告できない場合はその旨を明示します。
- 稼働中の Vapor が、
--versionとヘルスエンドポイントの両方で、自身がどのビルドかを正確に示します。 - 空白や特殊文字を含む VM 名は、受け付けた後で問題になるのではなく、最初の時点で拒否されます。
バグ修正:
- ディザスタリカバリのテストが、レプリカではなく稼働中のソース VM の定義から復旧用 VM を構成しており、ソースの CD-ROM やフロッピーデバイスをそのまま引き継いでいました。
- フェイルバック後のリプロテクトが誤った名前を導出することがあり、復旧した VM が元の識別子を保持していなかったため、2 回目のサイクルで元の VM を見失うことがありました。
- 実際にはディスク全体をコピーした増分バックアップが、そのまま増分として記録されていました。
- 呼び出し側が待機をやめた場合に、フェイルオーバーの結果が記録されませんでした。
- ISO や CD-ROM が接続された VM のクローンが、理由を示さずに失敗していました。
- o2cb クラスターに追加したノードが登録されず、また再試行したイメージのダウンロードが、前回の失敗理由を示していませんでした。
バージョン 3.0.2 (2026年 8月)
Vapor がディザスタリカバリサイトとして機能するようになりました。保護対象の VM はスケジュールに従って第 2 のサイトへレプリケーションされ、必要なときにそこで起動でき、その後は逆方向に保護し直されます。
新機能:
- サイト間レプリケーション: VM を第 2 のサイトへ任意のスケジュールでレプリケーションして保護します。復旧ポイントは日次・週次・月次で保持できます。
- フェイルオーバー: 保護された VM をリカバリサイトで起動します。計画フェイルオーバーでは最後の同期を行い元の VM を正常に停止し、ソースサイトに到達できない場合は計画外フェイルオーバーを実行します。インターフェースはリカバリサイトのネットワークに再マッピングされ、ディスクは指定したプールに配置され、ゲストは起動時に新しいアドレスを取得できます。
- テストフェイルオーバー: 元の VM を稼働させたまま、レプリカを隔離ネットワークで起動して正常に立ち上がることを確認できます。
- リプロテクト: フェイルオーバー後、復旧した VM がそのまま保護対象のソースとなり、レプリケーションが逆方向で再開されます。
- 変更ブロックバックアップ: 増分バックアップは前回以降に変更されたブロックのみをコピーします。
機能強化:
- すべてのレプリカは、復旧ポイントとして数える前にソースと照合して検証されます。
- 中断された転送は、最初からではなく停止した箇所から再開されます。
- 作業領域が不足している場合、バックアップは明確なメッセージとともに早期に停止し、実行中は進行状況を表示します。
- レプリケーションするディスクの選択、静止 (quiesced) コピーの要求、保護の一時停止と再開がいつでも行えます。
- CD-ROM の取り出し、稼働中 VM のボリュームサイズ変更、および各 VM のディスクを専用フォルダに配置できるようになりました。
セキュリティ:
- VM のディスクへ生データを書き込むエンドポイントを削除しました。残る読み取り経路は、リクエストで渡されたファイルパスではなく、ディスク自身のアドレスでディスクを特定します。バージョン 3.0.0 および 3.0.1 が影響を受けます。3.0.2 へアップグレードしてください。
- ホスト上の他のファイルへ読み取りをリダイレクトするディスクイメージを拒否するようになりました。
バグ修正:
- 失敗したアップデートが自動的に元に戻るようになりました。 Vapor は新しいバージョンが実際に起動することを確認し、切り替える前に以前のバージョンを保持します。新しいバージョンが起動しない場合は以前のものが復元され、サービスは自動的に復帰します。ホストが手動復旧を要する状態で取り残されることはなくなりました。
- 複数のディスクを持つ VM でのテストフェイルオーバーが、1 つのディスクしかレプリカに向けていませんでした。
- 長い増分復旧ポイントのチェーンから、リテンションが容量を回収できませんでした。
- 復旧ポイントがリカバリサイトに実際に到達する前に、同期が成功として記録されていました。
- バックアップを削除しても変更追跡のチェックポイントが残り、容量が返却されませんでした。
- 稼働中 VM のメモリおよび CPU の値が実際の値を超えて表示されることがありました。
バージョン 3.0.1 (2026年 7月)
ウォームマイグレーションのサポート を追加しました。Vapor ホストが、稼働中の VM をダウンタイム最小で移行する際の移行先になれます。あわせて、UI での OS パッケージ管理と全般的な信頼性の向上を含みます。
新機能:
- ウォームマイグレーションの移行先: Vapor ホストが稼働中 VM のライブマイグレーションを受け入れられるようになりました。ゲストは転送中もサービスを継続し、切り替え時にごく短時間だけ停止します。Condensa および Cockpit と連携して、稼働中の Proxmox VM を Awanio に取り込めます。
- OS ライブラリ・パッケージ管理: システムタブから、ホストの OS ライブラリとパッケージを参照・管理できます。
機能強化:
- アップデータ: 新しい メジャー バージョンが利用可能なとき、「最新です」と表示するのではなく、その旨を知らせるようになりました。
バグ修正:
- ログインに失敗した際、サーバーエラーではなく明確なエラーを返すようになりました。
- ホストエージェント全体でセキュリティと信頼性を強化しました。
バージョン 3.0.0 (2026年 7月)
NVIDIA vGPU サポート、他のプラットフォームから VM をインポートするための VDDK ベースの移行データプレーン、大幅に強化された 増分バックアップ、クラスターストレージ(OCFS2/O2CB)管理、および 強化されたフェイルクローズドセキュリティ姿勢 を追加したメジャーリリースです。
破壊的変更 — 必要なアクション
Vapor エージェントは フェイルクローズ になりました。署名シークレットが設定されていないと認証されず、認証された ID から権限を導出します。アップグレードする 前 に、すべてのホストで JWT シークレットを設定してください。
新機能:
- NVIDIA vGPU(仲介デバイス): 物理 GPU を仮想 GPU に分割するためのフルサポート — ホスト側のオーケストレーションと API エンドポイント、事前チェック機能を備えたガイド付き NVIDIA vGPU Manager インストーラー、ホストレベルのデバイス管理ビュー、および各プロファイルの空きインスタンス数の把握。
- ウォーム/コールド移行データプレーン (VDDK): VMware から VM を取り込むためのディスクインポートエンジン(増分 / CBT 転送、最新の nbdkit + VDDK プラグインビルド、プラグイン自動検出、インストール済み VDDK ビルドの管理を含む)。インポートの進行状況はリアルタイムで追跡されます。
- サードパーティライブラリ管理: システムタブから VDDK および NVIDIA vGPU コンポーネントをインストール・管理し、大容量ファイル向けに中断再開可能なアップロード(TUS)をサポート。
- ゲストエージェント API: 一般的な QEMU ゲストエージェントインターフェース(生のコマンドおよび exec)、およびエージェントチャネルの確保や cloud-init シードファイルの削除を行うエンドポイント。
- O2CB / OCFS2 クラスター管理: 永続的なブート設定を備えたメンテナンスモード、ハートビート/ネットワークタイムアウト管理 API、OCFS2 プール作成時の明示的なクラスター選択、およびクラスターブートストラップ — すべてホスト名前空間を認識した安全チェック付き。
機能強化:
- より安全な移行: 移行 UI で破壊的操作の確認が必要になり、移行ストアが自動的にクリーンアップされつつ、常に最新のステータスが報告されます。
- リストアの改善: ターゲットストレージプールの選択、独立したディスクコピーへの復元、および増分/差分チェーンに対する明確な依存関係警告を伴う既存ディスクのアタッチ。
- ストレージブラウザ: ブラウザ内でのファイルの名前変更、移動、および VM アタッチメントの追跡。
- VM の編集: カスタム CPU モードの検証、および実行中 VM のファームウェア/マシン設定が維持されるため、編集が拒否されなくなりました。
- 運用: ピアホストにバイナリを配布してサービスを再起動する
deploy-peersビルドターゲット。
セキュリティ:
- フェイルクローズ認証: 署名アルゴリズムの固定と、認証された ID から導出される権限。
- レート制限: ログインエンドポイントでのレート制限、信頼されたプロキシヘッダー処理、および Ansible 駆動型操作における SSRF 保護。
- ハンドラー全体での認可対象範囲の再監査フォローアップ。
バグ修正:
- 増分バックアップ: 削除および保持によって増分チェーンが破壊されなくなりました。サイレントなリベースデルタの失敗が検出され、
qemu-imgが送信先イメージを作成しなくなり、中断されたジョブが増分ターゲットを破損させなくなりました。 - Libvirt のパフォーマンスと安定性: プール一覧の最適化、定期的な接続リサイクル、リクエストタイムアウト、イベントループ初期化、およびリソースリークの修正により以前のラグを解決。メトリクススイープはシングルフライトとキャッシングによりスロットルされます。
- 購読解除/再購読時の WebSocket メトリクスポンプ goroutine リークを修正。
- マイグレーション 20 を実行したことがないデータベースでの重複カラムエラー(マイグレーション 21)を修正。
- メタデータ更新後の VM メタデータフォーマットを修正し、デフォルトの VNC グラフィックスデバイスを追加してリストアがクリーンにブートするように変更。
- ライセンス検証にて、リフレッシュウィンドウ中のコントロールプレーンの期限切れハートビートリースを許容。
- 長時間実行されるバックグラウンドタスクやアップロード中にセッションがタイムアウトしなくなりました。
- Windows BIOS 移行を修正し、v2v ツールを更新。