第11回 Oracle Linux KVMのバックアップソリューション

Oracle Linux KVMやVMware vSphereなどのサーバー仮想化ソリューションを利用するうえで、重要なことの一つがバックアップです。本番利用するシステムでバックアップが重要なのは当たり前ですが、仮想サーバー環境では1台の物理サーバーに複数の仮想マシンが稼働しています。そのため仮想マシンホストとなる物理サーバーやストレージに障害が発生したときには被害が甚大です。

システムの安定運用のためには、仮想サーバーホストと仮想サーバーゲスト(仮想マシン)に対して定期的なバックアップが必要です。そこで今回はOracle Linux KVMにおけるバックアップソリューションを紹介します。

図1. Oracle Linux KVMの基本システム構成

最初にOracle Linux KVMにおけるバックアップを整理します。WhatとHowの2つの視点があり、それぞれについてを説明します。

  • What:バックアップ対象ファイル(何をバックアップするのか)
  • How:バックアップに使用するツール(どのようにバックアップするのか)

何をバックアップするのかという視点です。KVMの構成方法によってバックアップ対象は異なります。

  • Oracle Linuxに含まれるKVMを利用した構成(非Oracle Linux Virtualization Manager構成)
  • Oracle Linux Virtualization Managerを利用したOracle Linux KVM構成(Oracle Linux Virtualization Manager構成)

次の図は、Oracle Linux Virtualization Managerを使用しないでKVM環境を構成したときに、バックアップ対象となるファイル群です。

図2. 非Oracle Linux Virtualization Manager構成

「①ホストOS」のバックアップが必要な理由は、ハードウェア障害や人為的ミスによって、ホストとなるサーバが利用できなくなったときのためです。

「②ゲストOSを構成するファイル(qcow2, xml)」のバックアップが必要な理由は、仮想マシンを構成するファイルだからです。仮想マシンは、ストレージボリュームとしてqcow2というイメージファイルを使用します。また、仮想マシンの構成情報(メモリサイズやCPUコア数、NICなどのデバイス情報など)をxmlで管理しています。

たとえば、特定の仮想マシンをバックアップするときは次の手順で実施します。

  1. virsh shutdownで仮想マシンを停止
  2. virsh dumpxmlでXMLファイルをバックアップ
  3. virsh domblklistで仮想マシンを構成するイメージファイルを表示
  4. 仮想マシンを構成するイメージファイルをバックアップ

ここまでが最低限のバックアップ対象です。さらに、仮想マシン上でデータベースなどが動作しているときは、ゲストOS内でデータベースの作法に応じたバックアップが必要です。たとえばOracle Databaseならば、Data PumpやRMANによるバックアップが必要です。

また、ゲストOSをバックアップする方法として、従来の物理サーバーと同様にゲストOS内でバックアップを取得する方法もあります。ただし、バックアップ方法も従来と同じなので、ここでは説明しません。

次の図は、Oracle Linux Virtualization Manager(OLVM)を使用してKVM環境を構成したときに、バックアップ対象となるファイル群です。

図3. Oracle Linux Virtualization Manager構成

「①ホストOS」のバックアップが必要な理由は、前の1.1.1.と同じです。

「②ゲストOSを構成するファイル(qcow2, xml)」のバックアップが必要な理由も同じです。ただし、Oracle Linux Virtualization Manager環境ではvirshコマンドで仮想マシンを操作できません。そのためスクリプト等で自動化するには、Oracle Linux Virtualization ManagerのoVirt REST APIを使用する必要があります。

また、AnsibleからoVirt REST APIを呼び出すoVirt Ansible Collectionを使用する方法もあります。oVirt Ansible Collectionには数多くのモジュールが含まれており、ovirt_vm moduleを利用すると仮想マシンを操作できます。なおoVirt Ansible Collectionは、Oracle LinuxのoVirtリポジトリでovirt-ansible-collectionパッケージとして提供されています。

Oracle Linux Virtualization Manager構成では、さらに「③OLVMの構成情報」のバックアップも必要です。なぜならば、Oracle Linux Virtualization Managerの構成情報をPostgreSQLに格納しているためです。そのためengine-backupという構成情報をバックアップするコマンドを提供しています。

次にバックアップに使用するツールです。大きく分けて次の2つの方法があります。それぞれについて説明します。

  • スクリプトを使用する(OSS含む)
  • サードパーティーのソフトウェアを使用する

bashなどのスクリプトを利用する、もっとも基本的なバックアップ方法です。また、ある程度の自動化を目指すならば、BaculaやAmanda、Bareosなどのオープンソースのバックアップソフトウェアと組み合わせてもよいでしょう。バックアップの前後で仮想マシンを操作するスクリプト(virshコマンド利用)を呼び出せば、ゲストOSのバックアップも可能です。

次の表はOracle Linux KVMの構成方法ごとのバックアップ方式です。Oracle Linux Virtualization Manager構成の場合、oVirt REST APIを使用する必要があるので難易度が上がります。

表1. Oracle Linux KVMの構成方法とバックアップ方式

バックアップ対象非OLVM構成OLVM構成
ホストOS従来のバックアップツール(*1)従来のバックアップツール(*1)
ゲストOSvirshコマンドなどOLVM GUI、oVirt REST API
OLVMの構成情報不要engine-backupコマンド

*1. 次のマニュアルではバックアップ方法をいくつか紹介しています。また「障害時リカバリのためのファイルおよびストレージ・ボリュームのバックアップ」では、ReaR(Relax and Recover)というシステムバックアップツールを紹介しています。

もっとも高機能で簡単な方法が、サードパーティーによる商用のバックアップソフトウェアを使用する方法です。これらのソフトウェアは各種自動化機能や大規模環境への対応、バックアップデータの重複排除、Oracle Databaseのオンラインバックアップなど、管理コスト削減につながる数多くの機能を持っています。製品導入に伴うライセンス購入やサポート費は必要ですが、バックアップスクリプトの開発・維持に掛かる費用を大幅に削減できることや、高機能を享受できることを考えれば高くはないでしょう。

そして選定の際に重要なことは、Oracle Linux Virtualization Manager(oVirt)に対応した製品であることです。Oracle Linux KVMを使用するモチベーションは、おもに次の2つの理由でしょう。

  • VMware vSphereと比べて費用が安い
  • ハード・パーティショニング(Hard Partitioning)として認められているため、Oracleライセンスを最適化できる

ハード・パーティショニングを実現するには、Oracle Linux Virtualization Manager構成にする必要があります。表1で説明したように、Oracle Linux Virtualization Manager構成でバックアップ運用するにはoVirt REST APIに対応していることが必要です。Linux KVMだけに対応したバックアップソフトウェアは使用できません。

次にOracle Linux Virtualization Managerに対応した、サードパーティーのバックアップソフトウェアを紹介します。

サードパーティーのバックアップソフトウェアを使用することが決まったら、どのソフトウェアを導入するか選定する必要があります。今回はOracle Linux Virtualization Managerに対応したソフトウェアを選定する方法を紹介します。

Oracle Linux Virtualization Managerに対応したソフトウェアはOracle Linux ISVカタログで確認できます。以下の条件で検索します。

項目チェックした選択肢
Certified ForOracle Linux Virtualization Manager
Software CategoryBackup/DR/HA Management

Oracle Linux ISVカタログの検索結果

前記の条件では、以下のソフトウェアが表示されました(2024年04月現在)。このリストだけでは選定の判断材料にならないので、それぞれについて調べます。

  • Commvault Platform
  • Rackware Hybrid Cloud Platform
  • SEP Sesam
  • Storware backup and recovery
  • Veritas NetBackup
  • Vinchin Backup & Recovery
  • Veeam Backup

先ほどリストアップしたソフトウェアを、次の項目でまとめたのが表2と表3です。横一列だと見づらいので、途中で区切って縦に並べています。

  • Webサイト
  • 公開されているマニュアルの有無
  • 日本法人もしくは国内代理店の有無
  • トライアル版の有無。要問い合わせと書いたものは電話での問い合わせが必要なもの
  • 筆者の短評

表2. バックアップソフトウェア一覧(1)

Commvault PlatformRackware Hybrid Cloud PlatformSEP Sesam
Webサイトhttps://www.commvault.com/https://www.rackwareinc.com/https://sepusa.com/virtualization/#oracle
https://www.sepsoftware.com/sep-sesam/
マニュアルhttps://documentation.commvault.com/https://wiki.sepsoftware.com/wiki/index.php/SEP_sesam_Documentation
日本法人もしくは国内代理店ありなしなし
トライアル版あり(要問い合わせ)ありあり
短評以前のバージョンのSimpanaは日本でも多く使われていた。筆者も使ったことがある。日本法人のCommvault Systems Japanは2021年以降のニュースリリースがない。国内代理店が販売・サポートしているようだが、最近の日本語情報が少ないので状況確認が必要米国Oracle社とはコミュニケーションを取れてそうだが、マニュアルが公開されていないこともあり情報が少ないRHEVもサポートしていて、そこそこの実績はありそう

表2. バックアップソフトウェア一覧(2)

Storware backup and recoveryVeritas NetBackupVinchin Backup & Recovery
Webサイトhttps://storware.eu/solutions/virtual-machine-backup-and-recovery/oracle-linux-virtualization-manager-backup-and-recovery/https://www.veritas.com/ja/jp/protection/netbackuphttps://www.vinchin.com/jp/oracle-linux-virtualization-manager-backup.html
マニュアルhttps://storware.gitbook.io/backup-and-recovery/https://www.veritas.com/support/ja_JP/article.100040135https://www.vinchin.com/jp/support/software-documentation-downloads.html
日本法人もしくは国内代理店なしありなし
トライアル版ありあり(要問い合わせ)あり
短評SEP SesamやStorwareと同等の情報量会社も製品も日本において長年の歴史と実績あり日本語Webサイトはあるが購入やサポートは米国から

企業で使用するバックアップソフトウェアという特性上、日本語でのサポートが必須ならば、以下の製品から選択することになります。機能や価格など、実際に導入するうえで重要なことを評価していないので、ここからさらに機能や価格で大まかに絞り、最終的にはトライアル版を利用して選定します。

  • Commvault Platform
  • Veritas NetBackup
  • Veeam Backup

また、サポートや購入は英語でも問題はなく、製品や会社が無くならなければよいということもあるでしょう。とくに価格は製品によって大きく異なる可能性があるので、支払い可能な予算を明確にしておくことで無駄な評価を減らせます。

システムの運用や開発を内製している会社では、ある程度のリスクを自社でヘッジできることもあります。そのような会社では、Oracle Linux Virtualization Managerを正式サポートしていなくても、Red Hat Virtualizationをサポートしているソフトウェアを選択する方法もあります。

今回選定した製品について、今後もう少し詳しく比較する予定です。また、今回の選定に漏れたなかで、安くて使いやすい製品があれば紹介したいと考えています。
最後に、本文では触れなかったスナップショットについて補足します。Oracle Linux Virtualization Managerにはスナップショット機能があり、仮想マシンの状態とデータを保存できます。Oracle Linux Virtualization Manager環境では仮想マシンを起動したままのライブスナップショットが可能です。
バックアップとスナップショットは違うという話はありますが(よく分からないかたはWeb検索してください)、サードパーティーのバックアップソフトウェアの中にはスナップショットをうまく利用してバックアップを実現しているものもあります。
スナップショットについて参考になるリンクを紹介します。

関連サービス

Oracle Linux KVM

Linux KVM (Kernel-based Virtual Machine:カーネルベースの仮想マシン) は、Linuxに組み込まれたオープンソースの仮想化テクノロジーです