I rebooted a m5d.xlarge EC2 instance running Ubuntu 16.04.5 LTS (xenial) using shutdown -r.

Upon reboot, various drive mounts defined in /etc/fstab did not line up with the device assignments given to them initially.

This caused various services to fail, which rely upon the drive mount with the assigned name containing specific data associated with that name.

In this case, /data needed to contain what is normally expected to be in /data, and not some other drive mount, like /foo or /bar or /whatever-else.

Running lsblk helped with manually redefining the /etc/fstab file to reflect the new device assignments and bringing services back online.

Problem: My worry is that rebooting will randomly reassign device labels to drive mounts, and this problem could or will occur again when the server requires rebooting.

Question: How do I ensure that drive mounts and their respective device paths are preserved between reboots, without needing manual (re)intervention?

  • What did they change from / to? – Tim Sep 9 at 19:20
  • Root did not change. Only those external volumes added via the AWS console and the command line. – Alex Reynolds Sep 9 at 19:24
  • I'll restate - what were the paths before the change, and what were they after the change. This might help work out why it changed. For example I know that nVME and the new instances gives devices new names, and I have a solution AWS suggested, but that might not be your problem. Please edit your question to be a bit more precise if the existing answer wasn't enough for you. – Tim Sep 10 at 0:40

AWS has a tool to convert EBS volume device names in /etc/fstab to their UUID values: c5_m5_checks_script.sh

The script also checks that the NVMe module is loaded in your OS image, but your newer instance type would not have launched if that was not present.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.