- 1. Oracle Linux KVMにおけるバックアップの基本
- 1.1. What:バックアップ対象ファイル
- 1.2. How:バックアップに使用するツール
- 2. サードパーティーのバックアップソフトウェア
- 2.1. 対応ソフトウェアを探す
- 2.2. Oracle Linux Virtualization Manager対応ソフトウェア一覧
- 2.3. 製品を選択する
- 3. おわりに
Oracle Linux KVMやVMware vSphereなどのサーバー仮想化ソリューションを利用するうえで、重要なことの一つがバックアップです。本番利用するシステムでバックアップが重要なのは当たり前ですが、仮想サーバー環境では1台の物理サーバーに複数の仮想マシンが稼働しています。そのため仮想マシンホストとなる物理サーバーやストレージに障害が発生したときには被害が甚大です。
システムの安定運用のためには、仮想サーバーホストと仮想サーバーゲスト(仮想マシン)に対して定期的なバックアップが必要です。そこで今回はOracle Linux KVMにおけるバックアップソリューションを紹介します。
図1. Oracle Linux KVMの基本システム構成
1. Oracle Linux KVMにおけるバックアップの基本
最初にOracle Linux KVMにおけるバックアップを整理します。WhatとHowの2つの視点があり、それぞれについてを説明します。
- What:バックアップ対象ファイル(何をバックアップするのか)
- How:バックアップに使用するツール(どのようにバックアップするのか)
1.1. What:バックアップ対象ファイル
何をバックアップするのかという視点です。KVMの構成方法によってバックアップ対象は異なります。
- Oracle Linuxに含まれるKVMを利用した構成(非Oracle Linux Virtualization Manager構成)
- Oracle Linux Virtualization Managerを利用したOracle Linux KVM構成(Oracle Linux Virtualization Manager構成)
1.1.1. 非Oracle Linux Virtualization Manager構成におけるバックアップ対象
次の図は、Oracle Linux Virtualization Managerを使用しないでKVM環境を構成したときに、バックアップ対象となるファイル群です。
図2. 非Oracle Linux Virtualization Manager構成
「①ホストOS」のバックアップが必要な理由は、ハードウェア障害や人為的ミスによって、ホストとなるサーバが利用できなくなったときのためです。
「②ゲストOSを構成するファイル(qcow2, xml)」のバックアップが必要な理由は、仮想マシンを構成するファイルだからです。仮想マシンは、ストレージボリュームとしてqcow2というイメージファイルを使用します。また、仮想マシンの構成情報(メモリサイズやCPUコア数、NICなどのデバイス情報など)をxmlで管理しています。
たとえば、特定の仮想マシンをバックアップするときは次の手順で実施します。
virsh shutdown
で仮想マシンを停止virsh dumpxml
でXMLファイルをバックアップvirsh domblklist
で仮想マシンを構成するイメージファイルを表示- 仮想マシンを構成するイメージファイルをバックアップ
ここまでが最低限のバックアップ対象です。さらに、仮想マシン上でデータベースなどが動作しているときは、ゲストOS内でデータベースの作法に応じたバックアップが必要です。たとえばOracle Databaseならば、Data PumpやRMANによるバックアップが必要です。
また、ゲストOSをバックアップする方法として、従来の物理サーバーと同様にゲストOS内でバックアップを取得する方法もあります。ただし、バックアップ方法も従来と同じなので、ここでは説明しません。
1.1.2. Oracle Linux Virtualization Manager構成におけるバックアップ対象
次の図は、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
という構成情報をバックアップするコマンドを提供しています。
1.2. How:バックアップに使用するツール
次にバックアップに使用するツールです。大きく分けて次の2つの方法があります。それぞれについて説明します。
- スクリプトを使用する(OSS含む)
- サードパーティーのソフトウェアを使用する
1.2.1. スクリプトを使用する(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) |
ゲストOS | virshコマンドなど | OLVM GUI、oVirt REST API |
OLVMの構成情報 | 不要 | engine-backupコマンド |
*1. 次のマニュアルではバックアップ方法をいくつか紹介しています。また「障害時リカバリのためのファイルおよびストレージ・ボリュームのバックアップ」では、ReaR(Relax and Recover)というシステムバックアップツールを紹介しています。
1.2.2. サードパーティーソフトウェアを使用する
もっとも高機能で簡単な方法が、サードパーティーによる商用のバックアップソフトウェアを使用する方法です。これらのソフトウェアは各種自動化機能や大規模環境への対応、バックアップデータの重複排除、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に対応した、サードパーティーのバックアップソフトウェアを紹介します。
2. サードパーティーのバックアップソフトウェア
サードパーティーのバックアップソフトウェアを使用することが決まったら、どのソフトウェアを導入するか選定する必要があります。今回はOracle Linux Virtualization Managerに対応したソフトウェアを選定する方法を紹介します。
2.1. 対応ソフトウェアを探す
Oracle Linux Virtualization Managerに対応したソフトウェアはOracle Linux ISVカタログで確認できます。以下の条件で検索します。
項目 | チェックした選択肢 |
---|---|
Certified For | Oracle Linux Virtualization Manager |
Software Category | Backup/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.2. Oracle Linux Virtualization Manager対応ソフトウェア一覧
先ほどリストアップしたソフトウェアを、次の項目でまとめたのが表2と表3です。横一列だと見づらいので、途中で区切って縦に並べています。
- Webサイト
- 公開されているマニュアルの有無
- 日本法人もしくは国内代理店の有無
- トライアル版の有無。要問い合わせと書いたものは電話での問い合わせが必要なもの
- 筆者の短評
表2. バックアップソフトウェア一覧(1)
Commvault Platform | Rackware Hybrid Cloud Platform | SEP 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 recovery | Veritas NetBackup | Vinchin 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/netbackup | https://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.100040135 | https://www.vinchin.com/jp/support/software-documentation-downloads.html |
日本法人もしくは国内代理店 | なし | あり | なし |
トライアル版 | あり | あり(要問い合わせ) | あり |
短評 | SEP SesamやStorwareと同等の情報量 | 会社も製品も日本において長年の歴史と実績あり | 日本語Webサイトはあるが購入やサポートは米国から |
2.3. 製品を選択する
企業で使用するバックアップソフトウェアという特性上、日本語でのサポートが必須ならば、以下の製品から選択することになります。機能や価格など、実際に導入するうえで重要なことを評価していないので、ここからさらに機能や価格で大まかに絞り、最終的にはトライアル版を利用して選定します。
- Commvault Platform
- Veritas NetBackup
- Veeam Backup
また、サポートや購入は英語でも問題はなく、製品や会社が無くならなければよいということもあるでしょう。とくに価格は製品によって大きく異なる可能性があるので、支払い可能な予算を明確にしておくことで無駄な評価を減らせます。
システムの運用や開発を内製している会社では、ある程度のリスクを自社でヘッジできることもあります。そのような会社では、Oracle Linux Virtualization Managerを正式サポートしていなくても、Red Hat Virtualizationをサポートしているソフトウェアを選択する方法もあります。
3.おわりに
今回選定した製品について、今後もう少し詳しく比較する予定です。また、今回の選定に漏れたなかで、安くて使いやすい製品があれば紹介したいと考えています。
最後に、本文では触れなかったスナップショットについて補足します。Oracle Linux Virtualization Managerにはスナップショット機能があり、仮想マシンの状態とデータを保存できます。Oracle Linux Virtualization Manager環境では仮想マシンを起動したままのライブスナップショットが可能です。
バックアップとスナップショットは違うという話はありますが(よく分からないかたはWeb検索してください)、サードパーティーのバックアップソフトウェアの中にはスナップショットをうまく利用してバックアップを実現しているものもあります。
スナップショットについて参考になるリンクを紹介します。
- 「Oracle Linux Virtualization Manager管理者ガイド」仮想マシンのスナップショットの操作
- 「Oracle Linux Virtualization Managerアーキテクチャおよびプランニング・ガイド」スナップショットを使用する場合の考慮事項
- 「RED HAT VIRTUALIZATION 4.4 管理ガイド」16.4. バックアップおよび Restore API を使用した仮想マシンのバックアップおよび復元
- 【YouTube】Create VM Snapshot in Oracle Linux Virtualization Manager
- 【YouTube】Use the Backup API for VM Backups