Problem: During the migration of EC2 from older generation to newer generation that runs Nitro System, the system fails to boot
Root Cause: We have 2 EBS attached and if the booting process involved the use of the second EBS, the booting will fail. In our case, we moved /var to another EBS. The reason is the in /etc/fstab, it refers to a /dev which no longer exists.
This is due to new referencing convention used by Nitro System. Instead of /dev/xvdb1 etc, they become /dev/nvmen1p1 and so on.
Solution:
1. Before switching instance to new generation, change the /etc/fstab
e.g. from /dev/xvdb1 to /dev/nvme1n1p1
2. Stop the instance via AWS Console
3. Switch to the new instance, start instance
Depending on how the dev is initially formatted, the change could be:
e.g. from /dev/xvdb1 to /dev/nvme1n1 (i.e. without "p1")
With the server upgrade to newer generation under AMD architecture, there is a cost saving of >15% and better network I/O. This upgrade exercise makes economic sense.
More about AWS Nitro System: https://aws.amazon.com/ec2/nitro/
Comments
Post a Comment