SMS (Server Migration Service)で「ClientError: grubenv does not exist」エラーになりました、対処方法を教えてください

2021.09.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

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) のご利用をご検討ください。

[4] Installation requirements

[5] Supported operating systems