Proxmox crashing with EXT4-fs I/O error while writing to superblock

StickyBandit

Member
Jun 23, 2022
2
0
6
Hi all,

I've done a lot of searching but I'm a beginner and having a really hard time finding a comprehensive/step by step solution here so I need some help.

I'm tech savvy but a beginner with Linux and Proxmox. I've installed Proxmox on a NUC with containers for Plex and TurnkeyFS and a VM for Home Assistant. I have an external HDD connected to the NUC via USB which I have mounted (mount /dev/sda1 /mnt/WD10) for the file and media storage for Plex and TurnKeyFS.

My problem is that after a random amount of time, sometimes a few hours, sometimes a few days, Proxmox will crash and I have to totally reboot the NUC and remount the external HDD. The output shown on screen from the crash is attached, its an EXT4-fs I/O error while writing to superblock. From all of the research I've done so far trying to fix this, I've seen that when containers try to access things passed through on the same IOMMU group (second screenshot attached) as the root drive then Proxmox can get tied up or lose access to its files and crash.

So my issue is that I don't really know what to do from here to resolve the problem or correctly pass through my external HDD to my Plex and TurnKey containers. I'm also new to Linux and learning how to do all of this command line configuration on the fly has added additional hurdles on top of troubleshooting this issue. I saw this post about adding a disk to a container, but I'm having a hard time following it as a beginner. So I'm turning to the community to hopefully walk me through the proper configuration and step by step on how to do so. Or, if you think I'm off base with my diagnosis definitely feel free to steer me in another direction.

Any help would be much appreciated, its really a pain to have to reboot my device and remount my external drive every other day.
Thank you in advance!
 

Attachments

  • Screenshot 2022-06-23 124153.png
    Screenshot 2022-06-23 124153.png
    595.2 KB · Views: 62
  • Screenshot 2022-06-23 1253582.png
    Screenshot 2022-06-23 1253582.png
    63.9 KB · Views: 58
Last edited:
I'm going to bump this, because I have the same issue where I have an external HD that I use for backups for proxmox and this happens to me as well.
 
Have you tried using `/etc/fstab` to automatically mount the drive on boot.

Since you are new to linux but tech savvy. This should help you understand what the fstab is and how to utilize it for auto mounting drives on boot.

https://www.howtogeek.com/38125/htg-explains-what-is-the-linux-fstab-and-how-does-it-work/
https://www.makeuseof.com/what-is-fstab-file-systems-table-linux/

Please note that the above links where quick searches.

Here is how I mount external or internal drives on boot using the `fstab`:

Bash:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# systemd generates mount units based on this file, see systemd.mount(5).
# Please run 'systemctl daemon-reload' after making changes here.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=DEVICES_UUID /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=DEVICES_UUID  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/sda3 during installation
UUID=DEVICES_UUID none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
UUID=DEVICES_UUID /mnt/xxx ext4 errors=remount-ro 0 2

to get the devices UUID you can use the command `lsblk -f` then find the drive UUID you would like to mount.

You can use UUID=DEVICE_UUID
UUID=DEVICES_UUID /mnt/xxx ext4 errors=remount-ro 0 2

Or /dev/disk/by-uuid/

/dev/disk/by-uuid/devices_uuid_here /mnt/xxx ext4 errors=remount-ro 0 2

Hope this helps :)