Had a task: double the size of a volume on amazon AWS EC2 instance. The process is yet manual and it is roughly as follows:
- Create a new volume on AWS with double the size of the the old one
- Attach it to the instance
- Create partition and filesystem on the new volume
- Mount the new volume somewhere next to the old volume mount point
- Rsync data from the old volume to the new volume
- Adjust /etc/fstab to point to the new volume for the corresponding mount point
- Unmount both volumes
- Mount the new volume to the old mount point
- Detach the old volume from instance
- Delete the old volume
All pretty simple and strait-forward. BUT! The new volume is not mounting to the old mount point, while mount command is silent about it!!!
Syslog gives a hint:
systemd: Unit var-whatever.mount is bound to inactive unit dev-xvdg1.device. Stopping, too. lb1 systemd: Unmounting /var/whatever... lb1 systemd: Unmounted /var/whatever.
That’s interesting. Why it is still bounded to inactive device (which I have already detached) and how I can unbound it?
Apparently all records in /etc/fstab are converted to systemd units and all mounting is (these ugly days) done via systemd. So when I changed /etc/fstab, the systemd didn’t update the the related unit and was still trying to mount the old device. To fix the problem you need to run:
systemctl daemon-reload
I am too old for this shit… Why are simple things getting more and more complicated (firewalld? ;-))