はじめに
前回までの検証はESXi上の仮想マシンを対象にしていましたが、この方法とは別にエージェントをインストールすることで管理サーバの管理対象とすることもできます。
エージェント用のインストーラを使用する事で導入可能で、インストール方法は公式ドキュメントや技術ブログで紹介されています。Windows版のAgentのインストールは問題なくできたので、「本記事でもわざわざ書く必要もないなー」と思いましたので、紹介していません。
ただ、Linux版はエラーが発生してバックアップがうまく取得できず、そのエラーの切り分けにそこそこの時間を要したので、記録として残したいと思います。
問題のエラー画面・メッセージ
以下はインストール時のエラーです。
SnapAPIとは何だろう?と思ったものの、アクロニスの管理画面ではデバイスに追加されていました。
試しに[保護を有効にする]を選択してみました。
保護を有効にはできるものの、実際にバックアップを実行するとエラーが発生しました。
以下のようなエラーが発生します。(画像は一部)
・エラーメッセージ
1 |
現在使用されているカーネルでSnapAPIカーネルモジュールを読み込めないため、バックアップが失敗しました。メッセージ現在使用されているカーネルでSnapAPIカーネルモジュールを読み込めないため、バックアップが失敗しました。<br>追加情報:------------------------<br>エラーコード: 20250646<br>フィールド: {"$module":"mms_lxa64_31791","CommandID":"D332948D-A7A9-4E07-B76C-253DCF6E17FB"}<br>メッセージ: TOL: Failed to execute the command. バックアップ計画 'Linux-backup'<br>エラーコード: 20250646<br>フィールド: {"$module":"agent_protection_addon_lxa64_31791","CommandID":"D332948D-A7A9-4E07-B76C-253DCF6E17FB"}<br>メッセージ: TOL: Failed to execute the command. バックアップ計画 'Linux-backup'<br>エラーコード: 20119593<br>フィールド: {"$module":"agent_protection_addon_lxa64_31791"}<br>メッセージ: コマンドの実行に失敗しました。<br>エラーコード: 20250646<br>フィールド: {"$module":"mms_lxa64_31791","CommandID":"FD79C554-B363-4DB2-97BC-1E5A94094A94"}<br>メッセージ: TOL: Failed to execute the command. Resolving items to back up<br>エラーコード: 20250646<br>フィールド: {"$module":"agent_protection_addon_lxa64_31791","CommandID":"FD79C554-B363-4DB2-97BC-1E5A94094A94"}<br>メッセージ: TOL: Failed to execute the command. Resolving items to back up<br>エラーコード: 20119595<br>フィールド: {"$module":"agent_protection_addon_lxa64_31791"}<br>メッセージ: ResolveBackupSetCommand:コマンドの実行に失敗しました。<br>エラーコード: 16318468<br>フィールド: {"$module":"agent_protection_addon_lxa64_31791"}<br>メッセージ: GXT is going through hierarchy.<br>エラーコード: 16318468<br>フィールド: {"$module":"agent_protection_addon_lxa64_31791"}<br>メッセージ: ASYNC: Lazy barrier action job.<br>エラーコード: 16318468<br>フィールド: {"$module":"agent_protection_addon_lxa64_31791"}<br>メッセージ: ASYNC: Action sequence pending action job.<br>エラーコード: 16318468<br>フィールド: {"$module":"agent_protection_addon_lxa64_31791"}<br>メッセージ: GXT is going through hierarchy.<br>エラーコード: 16318468<br>フィールド: {"$module":"mms_lxa64_31791"}<br>メッセージ: ASYNC: Action sequence pending action job.<br>エラーコード: 16318468<br>フィールド: {"$module":"mms_lxa64_31791"}<br>メッセージ: ASYNC: Full barrier action job.<br>エラーコード: 9764965<br>フィールド: {"$module":"disk_bundle_lxa64_31791"}<br>メッセージ: このシステムで実行中のカーネル4.18.0-513.24.1.el8_9.x86_64に SnapAPI カーネルモジュールを読み込めません。このカーネルのバージョンに対応したモジュールをインストールしてから、バックアップを再試行します。 |
長いですが、原因はSnapAPIにあるということです。
解決策
色々と調べましたが、smapapi2に原因があるようです。
まず、snapapi26をビルドします。エラーが起きた端末で、以下のコマンドを実行したところ、すでにビルドされているという出力となっていました。
1 2 3 4 |
# dkms build -m snapapi26 -v 0.8.8 \ > --config /boot/config-4.18.0-513.24.1.el8_9.x86_64 --arch x86_64 \ > --kernelsourcedir /lib/modules/4.18.0-513.24.1.el8_9.x86_64/source/ Module snapapi26/0.8.8 already built for kernel 4.18.0-513.24.1.el8_9.x86_64/4 |
すでにビルドされているのになぜ…?ということでけっこう彷徨いましたが、以下のコマンドの結果にヒントがあることが分かりました。
1 2 |
# modprobe snapapi26 modprobe: ERROR: could not insert 'snapapi26': Required key not available |
このエラーの原因はsecure bootが有効になっていることらしいことが分かりました。
vSphere上の仮想マシンでsecure bootを無効にするには、仮想マシンの設定で[仮想マシンオプション]>[起動オプション]>[セキュアブート]のチェックをはずして起動すれば良いそうです。
再起動後、確認をします。先ほどエラーになったコマンドも、エラーが発生しなくなりました。
1 2 3 4 |
#mokutil --sb-state SecureBoot disabled # modprobe snapapi26 # |
その後もう一度バックアップを実行したところ、問題なくバックアップできました。ESXi上のマシンであればエージェントレスでできるとは思いますが、物理サーバの場合はそうもいかないですよね。
なかなかエラーの原因のヒントに辿り着けなかったので、今後生かせればと思っています。