Union Filesystem saving all data in the same disk (filling it)

  • I have joined 3 USB disks (sda, sdb and sdc) using the Union Filesystem plugin. The policy used is "Least Free Space" and with 20G of "minimum free space". I have noticed that all the data from my SMB shares or from docker is being saved in sdb until its full, even when I have them pointed to the merged filesystem.

    I tried recreating the merged filesystem from scratch but the issue persists.

    Any clues?


  • Are you sure you are writing to the correct place? What path are you using for the writes?

    --
    Google is your friend and Bob's your uncle!


    OMV AMD64 5.x on ASRock Rack C2550D4I C0 Stepping - 16GB ECC - Silverstone DS380 + Silverstone DS380 DAS Box.

  • No idea how you are using that path.


    In an application running in a docker you can't use it within the app's settings, you have to bind mount it and point to the internally used directory.


    You need to provide full information.

    --
    Google is your friend and Bob's your uncle!


    OMV AMD64 5.x on ASRock Rack C2550D4I C0 Stepping - 16GB ECC - Silverstone DS380 + Silverstone DS380 DAS Box.

  • No idea how you are using that path.


    In an application running in a docker you can't use it within the app's settings, you have to bind mount it and point to the internally used directory.


    You need to provide full information.

    Yes, in docker I am using that directory via bind mount. In Samba directly from the GUI menu. That's why I said that I am pretty sure that the path is not the problem here. I can provide any logs that help clarify the issue but I'm not sure which one exactly has the info.

  • One possibility (for the docker for example) is that the user the container runs as has no permission to write to that directory.


    But it's all guesswork from where I am standing.

    --
    Google is your friend and Bob's your uncle!


    OMV AMD64 5.x on ASRock Rack C2550D4I C0 Stepping - 16GB ECC - Silverstone DS380 + Silverstone DS380 DAS Box.

  • One possibility (for the docker for example) is that the user the container runs as has no permission to write to that directory.


    But it's all guesswork from where I am standing.

    Docker is running as root (not recommended but useful for my setup) and Samba is running as an user that has permission to write inside the folders. I'm guessing the problem could be related with the policy but I am not sure.

  • That's the policy I use here and I have no problems with it.

    --
    Google is your friend and Bob's your uncle!


    OMV AMD64 5.x on ASRock Rack C2550D4I C0 Stepping - 16GB ECC - Silverstone DS380 + Silverstone DS380 DAS Box.

  • That's the policy I use here and I have no problems with it.

    Well If the permissions are right, the path is right and the policy is right, I have no idea why mergefs uses only one of the disks and doesn't jump to another when is full.

  • Look in fstab and see what OMV wrote there for the mergerfs mountpoint. Maybe something isn't quite right about it.


    Just an FYI, I don't use the OMV mergerfs plugins. I prefer to use a manual entry into fstab instead.

    --
    Google is your friend and Bob's your uncle!


    OMV AMD64 5.x on ASRock Rack C2550D4I C0 Stepping - 16GB ECC - Silverstone DS380 + Silverstone DS380 DAS Box.

  • fstab entry looks like this:


    Code
    /srv/dev-disk-by-uuid-e29462df-9d77-495a-9fdc-805a64c67c73:/srv/dev-disk-by-uuid-c9e7f9f5-1c38-40a5-9793-9806425d13cd:/srv/dev-disk-by-uuid-0382f6c2-c86f-42c8-a3d2-b1277422a9a6 /srv/8043bfca-80c1-4870-a849-9176f9c8bfd6 fuse.mergerfs defaults,allow_other,cache.files=off,use_ino,category.create=lfs,minfreespace=20G,fsname=megadisco:8043bfca-80c1-4870-a849-9176f9c8bfd6,x-systemd.requires=/srv/dev-disk-by-uuid-e29462df-9d77-495a-9fdc-805a64c67c73,x-systemd.requires=/srv/dev-disk-by-uuid-c9e7f9f5-1c38-40a5-9793-9806425d13cd,x-systemd.requires=/srv/dev-disk-by-uuid-0382f6c2-c86f-42c8-a3d2-b1277422a9a6 0 0

    I can't see anything wrong but Im, not an expert really.

  • Looks OK to me. My hand rolled one has a difference in fsname= but not one that should matter.


    I still suspect permissions. You should check those very carefully, especially what user your docker container runs as.

    --
    Google is your friend and Bob's your uncle!


    OMV AMD64 5.x on ASRock Rack C2550D4I C0 Stepping - 16GB ECC - Silverstone DS380 + Silverstone DS380 DAS Box.

    Edited 2 times, last by gderf ().

  • yep "fsname" is just the name of the filesystem, shouldn't affect anything. I have checked the permissions and everything looks fine, I'll try another policy like "least used space" and see if it applies.

  • I have joined 3 USB disks (sda, sdb and sdc) using the Union Filesystem plugin. The policy used is "Least Free Space" and with 20G of "minimum free space". I have noticed that all the data from my SMB shares or from docker is being saved in sdb until its full, even when I have them pointed to the merged filesystem.

    I tried recreating the merged filesystem from scratch but the issue persists.

    Any clues?


    I have the same exactly problem 3x8TB disk when data fill up the first disk can't passing to the second. Pls share if find a solution.

  • I have the same exactly problem 3x8TB disk when data fill up the first disk can't passing to the second. Pls share if find a solution.

    Maybe this will help.

    Pentium Gold G6400, RAM 8GB, SnapRaid and UnionFS, 1 parity disk (5TB), 4 data disks (5TB+5TB+4TB+4TB), 1 x 32GB USB disk for startup, 1 x 120GB SSD disk for docker

    I DO NOT SPEAK ENGLISH. I translate with google, sorry if sometimes I am not well understood :)

  • Yes, changing the policy works, I am trying the "first found" one and definitely writes the data on another disk, but it's not the behaviour I'm looking for. I still want the disks to be filled starting with the most used. I assume that there is an error with how the "Least Free Space" policy works (at least on my install since others like gderf seem to have no problem).

    That's the policy I use here and I have no problems with it.

  • I still want the disks to be filled starting with the most used

    I think I remember that with some of the policies it is necessary to create the folder where you are writing to the next disk so that it continues to save files. Maybe this will fix it.

    Pentium Gold G6400, RAM 8GB, SnapRaid and UnionFS, 1 parity disk (5TB), 4 data disks (5TB+5TB+4TB+4TB), 1 x 32GB USB disk for startup, 1 x 120GB SSD disk for docker

    I DO NOT SPEAK ENGLISH. I translate with google, sorry if sometimes I am not well understood :)

  • I think I remember that with some of the policies it is necessary to create the folder where you are writing to the next disk so that it continues to save files. Maybe this will fix it.

    Yep I had read about that and recreated the folder structure in all the disks but it didn't work either.

  • Yep I had read about that and recreated the folder structure in all the disks but it didn't work either.

    This applies to any policy that uses "existing path".

    --
    Google is your friend and Bob's your uncle!


    OMV AMD64 5.x on ASRock Rack C2550D4I C0 Stepping - 16GB ECC - Silverstone DS380 + Silverstone DS380 DAS Box.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!