Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Free backup for KubeVirt VMs and OpenShift

2026年10月29日に「Dev.to」が公開したITニュース「Free backup for KubeVirt VMs and OpenShift」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

PlakarがKubeVirt上の仮想マシン(VM)のバックアップに対応した。VMの全ディスクと設定を、整合性を保ち単一スナップショットとして保存する。OpenShiftでは、リストア時の意図しない設定再適用を防ぐ新機能も追加された。これらは無料で利用可能だ。

出典: Free backup for KubeVirt VMs and OpenShift | Dev.to公開日:

ITニュース解説

ITの進化が目覚ましい現代において、クラウドネイティブ技術の代表格であるKubernetes上でアプリケーションを動かすことは、もはや一般的になった。しかし、すべてのシステムがコンテナ化できるわけではなく、既存の仮想マシン(VM)をKubernetes環境で運用したいというニーズも存在する。KubeVirtは、まさにその課題を解決する技術であり、Kubernetes上で従来の仮想マシンを動かすことを可能にする。そして、Red Hatが提供するOpenShiftは、KubeVirtの機能を「OpenShift Virtualization」として提供している。

このような環境で仮想マシンを運用する上で、最も重要かつ基本的な課題の一つが「バックアップ」である。データが失われることは、ビジネスにとって壊滅的な影響をもたらすため、システムを守る上でバックアップは不可欠な要素となる。今回、バックアップツールであるPlakarが、KubeVirtで動作する仮想マシンとOpenShift環境におけるバックアップ機能の強化を発表した。これは、Kubernetes上で仮想マシンを運用するユーザーにとって、非常に心強いニュースだ。

従来のバックアップツールは、多くの場合、コンテナ環境と仮想マシン環境を別々に扱っていた。しかし、KubeVirtを使うと、仮想マシンもKubernetesの「オブジェクト」(Kubernetesが管理する設定単位)として扱われるようになる。VMそのものはKubernetes上のPodのように振る舞い、その仮想ディスクはKubernetesの永続ボリューム要求(PVC)という形で管理される。これにより、コンテナと仮想マシンを同じプラットフォームで一元的に管理できるメリットが生まれる。

Plakarは、このKubernetes統合の枠組みの中で、以前はKubeVirtの仮想ディスクのバックアップに課題を抱えていた。多くの仮想ディスクは「VolumeMode: Block」という形式で利用されているが、これまでのPlakarはブロックモードのボリュームを直接バックアップできなかったのである。これが大きな「ブロッカー(妨げ)」となっていたが、今回のアップデートでこの問題が解決された。

仮想マシンのバックアップにおいて、特に重要なのが「データ整合性」の確保である。稼働中の仮想マシンをバックアップする際、ディスクに書き込みが行われている最中にスナップショット(ある時点でのデータの状態をそのまま記録したもの)を取ると、そのデータは不完全になり、復元しても正常に起動しない可能性がある。さらに、複数の仮想ディスクを持つ仮想マシンの場合、それぞれのディスクのスナップショット取得タイミングがずれてしまうと、ディスク間のデータに整合性がなくなり、これもまた問題を引き起こす。

Plakarは、このデータ整合性の問題を解決するために、KubeVirtが元々持っている強力な機能を活用する。それは「VirtualMachineSnapshot」という機能である。Plakar自身が仮想マシンをフリーズさせる(一時停止させる)のではなく、KubeVirtにVirtualMachineSnapshotの実行を依頼する。VirtualMachineSnapshotは、仮想マシン内部で動作する「qemuゲストエージェント」というプログラムを通じて、ゲストOS(仮想マシン内のOS)をフリーズさせ、同時にすべての仮想ディスクが整合性の取れた状態でスナップショットされるように調整する。これにより、複数のディスクを持つ仮想マシンでも、一貫性のある状態でのバックアップが可能になる。PlakarはこのKubeVirtの機能を利用することで、自ら複雑なフリーズ機構を再実装する手間を省き、より信頼性の高いバックアップを実現している。

具体的なバックアップの流れは次のようになる。まず、PlakarがKubeVirtに対してVirtualMachineSnapshotの作成を要求する。すると、KubeVirtは一時的なPod(Kubernetes上で動作する最小単位のアプリケーション)を起動し、そのPodが各仮想ディスクから「RAWブロック」(生のデータブロック)としてデータをストリーミング(継続的に送受信)する。Plakarはそのストリーミングされたデータを受け取り、効率的に保存するために「重複排除」(同じデータを複数回保存しないようにする技術)、「圧縮」、そして「暗号化」を行う。仮想ディスクのデータだけでなく、仮想マシンの構成情報が記述された「VMマニフェスト」(Kubernetesオブジェクトの設定情報を記述したファイル)も一緒に、同じスナップショットとして保存される。これにより、仮想マシンのデータと設定の両方を、ある一時点の状態として確実に保存できる。

データの復元は、この逆のプロセスをたどる。まず、バックアップされたデータをもとに新しいPVCが作成され、そこにディスクデータが書き戻される。その後、バックアップされたVMマニフェストがKubernetesに適用され、元の名前空間、あるいは必要であれば新しい名前空間に仮想マシンが再構築される。

ここで重要な注意点がある。前述の「qemuゲストエージェント」が仮想マシン内部にインストールされていない場合、KubeVirtはゲストOSをフリーズさせることができない。この場合、Plakarは整合性の取れないバックアップを避けるため、10分間待機した後、処理を諦める。安定したバックアップのためには、仮想マシンにゲストエージェントをインストールすることが強く推奨される。

さらに、OpenShift環境でのバックアップと復元には、特別な考慮が必要である。OpenShiftは、Kubernetesをベースとしながらも、より厳格なセキュリティ機能や、開発・運用を支援する独自のオブジェクト(設定ファイルやリソース)を多数追加している。例えば、「BuildConfig」というオブジェクトは、ソースコードからアプリケーションをビルドする設定を定義するものであり、これを復元すると意図せずビルドが再実行されてしまう可能性がある。「Route」は、外部からのアクセスをサービスにルーティングする設定であり、これを復元すると既存のホスト名が再割り当てされてしまうかもしれない。また、「SecurityContextConstraints (SCC)」や「OAuthトークン」といったオブジェクトは、クラスター全体のセキュリティや認証に関わる非常にデリケートな情報であり、安易に復元するとクラスター全体に予期せぬ影響を与えかねない。

Plakarは、OpenShiftユーザー向けに「openshiftパッケージ」という特別な機能を提供している。このパッケージは、これらのOpenShift固有のオブジェクトをバックアップ対象には含めるものの、復元時には自動的にスキップすることで、意図しない副作用を防ぐ。このパッケージで利用されるヘルパーPodは、OpenShiftのデフォルトの「restricted SCC」(厳格なセキュリティ設定)に一致するようにセキュリティコンテキストが明示的に設定されており、OpenShiftのセキュリティポリシーに準拠している。これにより、OpenShift環境の複雑な特性を考慮しながら、安全かつ確実に仮想マシンをバックアップ・復元できる。

Plakarのこの新しい機能を利用するには、まずPlakarの無料アカウントを作成し、ログインする必要がある。その後、コマンドラインで「plakar pkg add k8s」を実行すればKubeVirt環境向けの機能が、「plakar pkg add openshift」を実行すればOpenShift環境向けの機能が利用可能になる。バックアップは、「plakar backup k8s+vm:/vms/my-vm」のような簡単なコマンドで実行できる。権限設定についてはKubernetesのドキュメントに詳しい情報があるため、参考にするとよい。

KubeVirtのサポートを含むPlakarのKubernetes統合部分は、ISCライセンスのもとオープンソースとして公開されている。これは、多くの開発者がそのコードを自由に利用、修正、配布できることを意味する。一方、OpenShift環境向けの「openshiftパッケージ」自体はオープンソースではないものの、Plakarコミュニティのユーザーであれば無料で利用できる。Plakarアカウントを作成し、ログインすればすぐに利用できるため、手軽に試すことが可能だ。

この新しい機能は、Kubernetes上で仮想マシンを運用している開発者やシステムエンジニアにとって、データの保護という観点から大きな安心を提供する。もし、あなたがKubernetes上で仮想マシンを動かしていて、バックアップの課題を抱えているなら、Plakarのこの新しい機能を試してみる価値は十分にある。

関連コンテンツ

関連IT用語

関連ITニュース