SMS (Server Migration Service)で「ClientError: grubenv does not exist」エラーになりました、対処方法を教えてください
困っていた内容
SMS (Server Migration Service) Linux で VM → AWS のレプリケーションジョブがFailedとなりました。 ジョブステータスメッセージには「ClientError: grubenv does not exist」と出力されています。 原因と対処方法を教えてください。
どう対応すればいいの?
当該エラーメッセージは、 Linux のブートローダーに関連したメッセージです。 参考資料[1]にありますように、 Server Migration Service の要件として、 ブートローダーは GRUB (GRUB Legacy) もしくは GRUB2 を使用する必要があります。
sudo ls -al /boot/grub2/
コマンドの実行結果をご確認ください。
実行結果
# ls -al /boot/grub2/ 合計 12 drwx------. 2 root root 37 10月 12 2020 . dr-xr-xr-x. 4 root root 4096 10月 12 2020 .. -rw-r--r-- 1 root root 4642 10月 12 2020 grub.cfg lrwxrwxrwx 1 root root 25 10月 12 2020 grubenv -> ../efi/EFI/redhat/grubenv
続いて、パーティションテーブルについてご確認ください。
参考資料[1]にありますように、Linuxインスタンスの場合、 サポートするブートボリュームのパーティションテーブルは MBR のみで、 GPT パーティションテーブルはサポートしていません。
sudo parted -l
コマンドでパーティションテーブルをチェックし、
要件を満たしているかご確認ください。
実行結果
# parted -l モデル: VMware Virtual disk (scsi) ディスク /dev/sda: 640GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: gpt ディスクフラグ: (以下省略)
上記コマンドの実行結果より、 パーティションテーブルは GPT であることを確認いたしました。 本件は Server Migration Service (SMS) の要件を満たしていないため生じていると考えられます。
解決方法としましては、参考資料[2]の Application Migration Service (MGN) の利用をご検討ください。
なお、1点ご留意いただきたいのは、 SMS は移行対象であるサーバへのエージェントのインストールは不要ですが、 MGN ではサーバへエージェントをインストールする必要があります[3]。 エージェントのインストール要件[4]や、サポートされる Linux ディストリビューション[5]をあわせてご確認の上、ご利用をご検討ください。
参考資料
[1] AWS Server Migration Service の要件 - 一般要件
Linux VM でブートローダーとして GRUB (GRUB レガシー) または GRUB 2 が使用されていることを確認します。
[2] AWS Application Migration Service | リフトアンドシフト | アマゾン ウェブ サービス
[3] AWS Application Migration Service を選ぶべき場合 | アマゾン ウェブ サービス
多くのユースケースでは、AWS Application Migration Service (AWS MGN) がクラウドへの最速ルートになります。
...
別の移行サービスが必要になる可能性があるユースケースにはどのようなものがありますか?
サーバーにエージェントをインストールできない、またはインストールしたくない場合は、AWS Server Migration Service (AWS SMS) のご利用をご検討ください。