Info2softは、ウェブサイトでより快適で適切な閲覧体験を提供するためにCookieを使用しています。 プライバシーポリシー
Loading...
GhettoVCBはWilliam Lamが開発した、VMware ESXi仮想マシンのバックアップ用に広く利用されている無料のオープンソーススクリプトです。ESXiシェル上で直接実行でき、vCenterが不要でESXi無償版にも対応します。
VMのスナップショットを作成し、vmkfstoolsを使用してVMDKファイルをバックアップ先に複製します。複製完了後、スナップショットは自動的に削除されます。
► GhettoVCBスクリプトによるESXiバックアップの主な特長・メリット:
► GhettoVCBの制限事項:
► 適した利用シナリオ:
GhettoVCBは特に以下に適しています:
後続のセクションでは、GhettoVCBのインストールから実行まで一連の手順を解説します。また、増分・差分バックアップなど高度なバックアップ戦略に対応した総合的なバックアップソリューションも紹介します。
本セクションでは、GhettoVCBのインストール手順とVMware ESXi仮想マシンのバックアップ設定を段階的に解説します。
公式GitHubリポジトリ https://github.com/lamw/ghettoVCB からGhettoVCBをダウンロードします。
►手動インストール(スクリプトアップロード)
1. rootユーザーでESXiホストにSSH接続します。
2. データストア上にディレクトリを作成(例:/vmfs/volumes/datastore1/scripts):
mkdir -p /vmfs/volumes/datastore1/scripts
3. SCPまたはUSB経由でghettoVCB.shを作成したディレクトリにアップロードします。
4. 実行権限を付与:
chmod +x /vmfs/volumes/datastore1/scripts/ghettoVCB.sh
5. 動作確認テストを実行:
cd /vmfs/volumes/datastore1/scripts
./ghettoVCB.sh -h
►VIBによるインストール
ESXi 5.0以降はVIBパッケージによりGhettoVCBを永続的にインストール可能:
1. GitHubリリースページからオフラインバンドル(VIB)をダウンロード。
2. ファイルをデータストアに配置するか、HTTPで配信。
3. ESXCLIコマンドでインストール:
esxcli software vib install -v /path/to/lamw-ghettoVCB.vib
4. インストール完了後、スクリプトは /opt/ghettoVCB/ghettoVCB.sh から実行できます。
GhettoVCBはグローバル設定ファイル(既定:/etc/ghettoVCB/ghettoVCB.conf)を使用します。カスタマイズに重要なパラメータは以下の通りです:
| パラメータ | 説明 |
| VM_BACKUP_VOLUME | バックアップ先パス |
| DISK_BACKUP_FORMAT | thin、thick、eagerzeroedthick、rdm などのディスク形式 |
| VM_BACKUP_ROTATION_COUNT | 1台のVMごとに保持するバックアップ世代数 |
| EMAIL_LOG | バックアップログをメール送信(sendmailの事前設定が必要) |
| ENABLE_COMPRESSION | 圧縮機能を有効(tar + pigz) |
| ENABLE_NON_PERSISTENT_NFS | バックアップ時のみNFSを一時マウント、完了後アンマウント |
| SNAPSHOT_TIMEOUT | スナップショット作成のタイムアウト時間(秒) |
| POWER_VM_DOWN_BACKUP | バックアップ前にVMをシャットダウン(特殊用途向け) |
| EMAIL_ALERTS | バックアップ成功・失敗通知用SMTP設定 |
| EXCLUDE_DISKS | バックアップ時に独立した非永続ディスクを除外するルールを有効 |
Unraidや外部NASにバックアップする場合は、ESXiホストに永続的なNFSマウントを設定し、再起動後もバックアップ先にアクセスできるようにする必要があります。
設定完了後、ESXiのSSHシェルから簡単なコマンドでバックアップタスクを実行できます。
►単一VMのバックアップ
./ghettoVCB.sh -m "MyVM"
►リストファイルに記載した複数VMを一括バックアップ
1. 1行に1台のVM名を記載したリストファイルを作成(例:/backup/vm_list.txt)
2. 以下のコマンドを実行:
./ghettoVCB.sh -f /backup/vm_list.txt
►稼働中のすべてのVMをバックアップ
./ghettoVCB.sh -a
独自設定ファイルを使用する場合
./ghettoVCB.sh -c /path/to/my_backup.conf -m "MyVM"
►特定VMを除外して実行
除外リストファイルを作成し、-eオプションで指定:
./ghettoVCB.sh -a -e /backup/exclude_list.txt
►ドライランによる設定検証
ドライランは対象VMのバックアップ詳細を事前確認できます。実際のバックアップ実行前に以下コマンドで検証可能:
~ # ./ghettoVCB.sh -f vms_to_backup -d dryrun
►デバッグモード
バックアップが失敗する場合は、まずデバッグ出力で状況を確認:
./ghettoVCB.sh -d debug -m "MyVM"
デバッグログには実行されるvmkfstoolsコマンドとスナップショット処理の詳細が出力されます。
GhettoVCBで最も要望の多い機能がスケジュールによる自動バックアップです。ESXiのcronジョブを利用し、毎日・毎週または任意の周期でバックアップスクリプトを実行できます。
1. rootユーザーのcrontabを編集:
vi /var/spool/cron/crontabs/root
2. バックアップスケジュールを追記。例:毎日午前2時に全稼働VMをバックアップ
0 2 * * * /opt/ghettoVCB/ghettoVCB.sh -a -c /etc/ghettoVCB/ghettoVCB.conf
3. 再起動後もcron設定を保持
/etc/rc.local に以下の行を追加(またはVIB標準の永続化機能を利用):
/bin/kill $(cat /var/run/crond.pid) 2>/dev/null
/usr/lib/vmware/busybox/bin/busybox crond
より簡単な方法はGhettoVCB VIBをインストールすることで、起動スクリプトによりcron設定が自動復元されます。
4. ログ管理:GhettoVCBは既定でバックアップ先にログを出力します。設定ファイルにグローバルログディレクトリを指定することも可能:
LOG_DIR=/vmfs/volumes/datastore1/logs
ログをメール送信するにはESXi上にsendmailを設定する(手間が大きい)か、cron実行後にメール送信する補助スクリプトを作成します。
GhettoVCBには復旧用スクリプト ghettoVCB-restore.sh が付属しています。
►基本的な復旧コマンド:
./ghettoVCB-restore.sh -p /backup/path/MyVM
このコマンドは以下の処理を実行します:
►手動復旧(代替手段)
手動で細かく制御したい場合:
1. バックアップディレクトリを参照。MyVM-2025-03-15_02-00-01/ のようなフォルダ内に.vmdk、.vmxファイルが格納されています。
2. cpまたはmvコマンドで.vmx、.vmdkファイルを任意のデータストアにコピーします。
3. vSphere ClientからVMを登録:VM作成/登録→既存の仮想マシンを登録
4. VMを起動し動作確認を実施
GhettoVCB実行時に発生する一般的な不具合と解決策を記載します。
rootユーザーでログインし、SSH機能が有効化されているか確認してください。一部ESXiビルドではrootのSSH接続が制限されているため、DCUIまたは詳細設定から有効化します。
バックアップ処理が中断されるとスナップショットが残留する場合があります。以下コマンドで確認:
vim-cmd vmsvc/getallvms
vim-cmd vmsvc/snapshot.get <vmid>\
手動で削除するコマンド:
vim-cmd vmsvc/snapshot.removeall <vmid>
解決策:VM_BACKUP_ROTATION_COUNTを減らし保持世代数を削減する、またはストレージを増設します。du -sh /backup/* で容量を消費しているVMを確認可能です。
NFS共有の場合はマウント状態を確認:
esxcli storage nfs list
ENABLE_NON_PERSISTENT_NFSを使用する場合は認証情報とパスに誤りがないか確認します。
スクリプト内にDEBUG_LOG=1を記載するか、-d debugオプションを付けて実行します。vmkfstoolsの詳細ログを出力したい上級者は、スクリプト内の複製処理行に-v 10 オプションを追加してください。
GhettoVCBはホームラボ、小規模環境、予算制限のある現場に適したツールで、10年以上VMwareコミュニティで活用されてきました。しかし、仮想環境が数十台・数百台規模に拡大すると、増分バックアップ、高速なバックアップ・復旧パフォーマンス、ランサムウェア対策などの機能が必要になります。
ここでエンタープライズ向けバックアップ・災害復旧ソリューション i2Backup を紹介します。物理・仮想・クラウド環境のVMware仮想マシンに対し、エージェント不要でスケーラブルかつ安全なデータ保護を提供します。ゲストOSにエージェントをインストールすることなく、単一コンソールから全VMware VMのバックアップスケジュールを一括設定可能です。
i2BackupとGhettoVCB比較:
| 機能 | GhettoVCB | i2Backup |
| バックアップ種別 | 完全バックアップのみ | 完全、増分、差分、永久増分 |
| 管理画面 | コマンドライン(SSH+設定ファイル) | WebベースB/S GUI、集中管理 |
| 復旧単位 | VM全体(VMDK完全復旧) | VM復旧+ファイル単位細粒度復旧+単一ファイルリストア |
| 重複排除 | なし | 可変ブロックによる高度なインテリジェント重複排除 |
| バックアップセキュリティ | なし | AES-256暗号化、ランサムウェア対策イミュータブルバックアップ、ロールベースアクセス制御 |
| 保存先ストレージ | ローカルデータストア、NFS | ローカルディスク、NAS、テープライブラリ、オブジェクトストレージ、重複排除ストレージ、S3クラウド |
| 世代管理 | 単純な保持世代数指定 | インテリジェント保存ポリシー、ライフサイクル管理のカスタマイズ |
下部のダウンロードボタンより60日間無料トライアルを入手できます:
本記事ではVMware ESXi仮想マシン向けGhettoVCBによる段階的なバックアップ手順を解説しました。ESXi無償版利用者、ホームラボ、中小企業に適した手段です。
ただしGhettoVCBには永久増分バックアップ、重複排除、集中管理といったエンタープライズ向け機能が搭載されていません。堅牢でプロフェッショナルなバックアップソリューションを必要とする場合はInfo2Softのi2Backupをご利用ください。i2BackupはVMwareに加え、Hyper-V、OpenStackなど各種仮想環境のバックアップに対応しています。