[SOLVED] Unable to get split levels to work properly-all data goes to first disk


Recommended Posts

Hi All,

 

I am posting here because I am absolutely baffled at my attempts to get Unraid to apply proper split levels under Highwater. Here is my set up:

 

Specs:

Unraid 5.06 Server Plus

MSI - Z77A-G43

Intel® Celeron® CPU G550 @ 2.60GHz

8GB RAM

 

Disk Layout:

2TB Parity

2TB HDD1

1TB HDD2

1TB HDD3

500 HDD4

 

Folder Layout / Highwater / Level 2

 

Share | Level 1 | Level 2

Network | Movies | ...... 1.08TB

Network | Backups | ...... 86GB

Network | Photos | ..... 18GB

Network | Downloads | ..... 18GB

 

My problem - despite all my attempts of copying data off and on the array (always starting with the Movies folder), even deleting the share at one point and recreating it, the split level simply does not kick in. All the data sits on HDD1. Even after passing the half way mark. I have tried doing so at Level 1, 2, and 3 but to no avail (always copying the data off and of to see if it gets assigned properly. Ideally I would like to implement Level 2 but so far have been unsuccessful. I initially had the free version of Unraid with 1x Parity and 2x Data drives and had the same problem. Even after upgrading to Plus and adding drives I have not managed to get the desired result. Would appreciate help at this point as I have run out of ideas, I have read the documentation over and over again to see if I am doing anything wrong but am stumped at this point. Thanks in advance.

Link to comment

Hi,

 

I had a very similar issue. I don't know if we share the same problem but I will summarise it for you and perhaps it will help.

 

Do the files you are copying already exist on the array? - in that are the foldernames/filenames the same? If so, it appears to me that Unraid will try to overwrite the folders/files in its current location on the array.

 

In my example I use a cache disk. What I kept getting an error when the Mover tried to run that the disk was full. It was copying a folder to the array that was about 750GB in size. I expected it to copy to another disk but it wasn't, no matter what I did I couldn't get it to choose another disk. However, new files I tried to copy to the array went over onto a new disk just fine. What I realised was that the folder the mover was copying already existed, so that location was always going to be where Unraid was going to put them. This all stemmed because I had not had the right split level in the first place.

 

My way around it was to move some files from that disk manually to another disk thus leaving enough room (and plenty to spare) for those on the cache disk to be transferred over on the next Mover run. That worked and since then the Mover has selected another disk each time since (and also because I don't think I have tried to overwrite anything).

 

I also decided at that point to set my Split Level to 99, thus effectively disabling it.

 

Like I said, this might or might not help. Hope it does.

 

Daniel.

Link to comment

Hi All,

 

@Danioj - I think you might have nailed it as I am in a similar situation as you were in (initially I was at Split Level 1). I have not renamed the folders in between transfers so what you are saying does make sense. I will do that tonight and let you guys know. Is it possible to simply rename a share without transferring some folders? I have run out of spare disks for my Movies folder and have nothing to temporarily offload it from Unraid?

 

@Dgaschk / LionelHutz - Screenshots attached as requested.

 

I will post back here after testing the above.

 

Thanks again for your input.

UNRAID_SHARE.jpg.844073dba496087d775ef5eb80819b08.jpg

UNRAID_GLOBAL.jpg.eaf897f9ee90730c310df1f8380dc6a3.jpg

Link to comment

Hi All,

 

Just thought I'd let you know - I tried the following and no luck  :(

 

Old config:

Share | Level 1 | Level 2

Network | Movies | ...... 1.08TB

Network | Backups | ...... 86GB

Network | Photos | ..... 18GB

Network | Downloads | ..... 18G

 

Basically I renamed the share and Level1 folders and tried to copy them back to the share.

 

New config:

Share | Level 1 | Level 2

Netdrive | Movies | ...... 1.08TB

Netdrive | Test1 | ...... 86GB - Tried to copy back to share -> still goes to Disk1

Netdrive | Test2 | ..... 18GB - Tried to copy back to share -> still goes to Disk1

Netdrive | Test3 | ..... 18G - Tried to copy back to share -> still goes to Disk1

 

Any ideas?

 

Regards,

 

Nadil.

Link to comment

Attached is the screenshot for Unraid main.

 

Movies are organised as follows:

 

Netdrive | Movies | Complete | ..then all folders are equal at this level..

Netdrive |Movies | TV Shows | ..then all folders are equal at this level..

 

I also did a quick test - I created a folder on disk4 manually with the same names and levels,and then populated it with data. Then if I tried to access it via the network share, and try to normally copy data to that folder, it just defaults to creating a folder on disk1 and sending the data there (see screenshot UNRAID_TEST).

 

Hope this makes sense.

 

Regs,

 

Nadil.

UNRAID_MAIN.jpg.45aa0a77352766d14c75921ffdbdf5cb.jpg

UNRAID_TEST.jpg.d0c64ee68a9b247a36f768e1e42ab883.jpg

Link to comment

@Dgaschk - just to clarify with regards to your comment 'level one refers to the share.', then it is indeed Level2 that I want to implement, meaning that my Movies folder should be on one disk, Downloads on another, Backups eventually on another, etc.

The only problem with this approach is that once one of those folders (e.g. Downloads) is created on a disk the split level will force all subsequent files for those folders to be constrained to the disk where the folder was first created.  Because of your allocation method being "High-Water" these were probably all on the first disk. 

 

An option that is not that often mentioned is to use Split Level 0 (NOT blank which is different).  At this level you are expected to manually create the folders within a share (using disk level shares) where a particular folder can reside.  If you want the a folder to be able to span multiple disks then you manually create that same folder on the relevant disks and the allocation method will pick the disk to use.    This gives you the most precise control over where files are placed at the expense of a little manual effort to create the desired folder structure on the target disks that controls which disk to use.

Link to comment

Itimpi - thanks for the recommendation, will try it but I doubt it will work since the problem at hand is simply the fact that the 'High Water' mechanism isn't kicking in and allocating data to the other disks. Nevertheless at this point I am open to ideas, will give it a shot and let you know.

Link to comment

Itimpi - thanks for the recommendation, will try it but I doubt it will work since the problem at hand is simply the fact that the 'High Water' mechanism isn't kicking in and allocating data to the other disks. Nevertheless at this point I am open to ideas, will give it a shot and let you know.

Split-level over-rides the allocation method.  When files do not go to other disks as expected this is normally the cause.  As your original posts suggested you had not realized that the share itself counted as the first level when calculating Split level it was not clear if you had it set to achieve the result you want.

 

The other key point is that if a file already exists then it is updated in-place regardless of the split level or allocation method.  If a folder in the target path that is beyond the split-level value already exists then the split-level and allocation method are also ignored.

Link to comment

The other key point is that if a file already exists then it is updated in-place regardless of the split level or allocation method.  If a folder in the target path that is beyond the split-level value already exists then the split-level and allocation method are also ignored.

 

Ok I think we are getting somewhere - I would like to highlight at this point that ALL the data that I am working with right now existed on my Unraid set up previously (before I changed the split levels). So what you're saying is that if the data existed on the share previously, the split level policy will be ignored / overridden? If that is the case then I need to move all my data off Unraid? Destroy the array and rebuild it??

Link to comment

The other key point is that if a file already exists then it is updated in-place regardless of the split level or allocation method.  If a folder in the target path that is beyond the split-level value already exists then the split-level and allocation method are also ignored.

 

Ok I think we are getting somewhere - I would like to highlight at this point that ALL the data that I am working with right now existed on my Unraid set up previously (before I changed the split levels).

The Split levels and allocation method are only used for new files - they are ignored for existing files.  No files are automatically moved when you change the split-level or allocation method.

 

So what you're saying is that if the data existed on the share previously, the split level policy will be ignored / overridden? If that is the case then I need to move all my data off Unraid? Destroy the array and rebuild it??

That is one way.

 

Probably easier (and faster) is to move data between the disk level shares to get it to the disk that you would like it to reside on.  This can be done either via the network or via a telnet/console session locally on the unRAID box.  Doing it at the telnet level is faster but will mean you probably need to run the newperms script afterwards to get permissions right for network access.

 

Note that when copying data it avoid mixing a disk level share and a user share in the same copy command as this can lead to data loss (unRAID can get confused about where the file should go).

 

Link to comment

Yup, it won't start using disk2  until disk1 has <500gig free.

 

I still don't understand your folder structure to recommend a split level. I can't make sense of your explanation so try a screen shot after expanding the Netshare share so the directories down multiple levels are shown.

 

I believe your split level is too high. I'm basing this on your claim that you manually created a directory you exclusively wanted on disk4 yet the server re-created it on disk1 during a write. The directory would not be created on another disk if the split level was set correctly.

 

I'm thinking I need to change the split level part of the unofficial wiki. I put examples showing multiple media types in a single share to help illustrate how the split level works and it seems everyone does that on their servers.

Link to comment

I have uploaded a screenshot of my folder structure, basically whatever is highlighted in yellow needs to reside on a separate disk.

 

I have used Itimpi's suggestion of a manual split - which will work for me even though there is a bit of elbow grease required but it provides the desired result.

 

An option that is not that often mentioned is to use Split Level 0 (NOT blank which is different).  At this level you are expected to manually create the folders within a share (using disk level shares) where a particular folder can reside.  If you want the a folder to be able to span multiple disks then you manually create that same folder on the relevant disks and the allocation method will pick the disk to use.    This gives you the most precise control over where files are placed at the expense of a little manual effort to create the desired folder structure on the target disks that controls which disk to use.

 

I implemented it last night and will see how it works over the next few days before I mark the forum as solved. I think the situation was complex since I changed split level strategies way down the road (compared to doing it in the beginning). And it looks like the High Water mechanism was on its second pass on the first disk before moving on to the other disks.

UNRAID_FOLDERS.jpg.1a651626a119214d2bef0925f8213392.jpg

Link to comment

You mean each highlighted directory has to be on it's own disk? Then yes, use split level 0 and create the 4 directories on each disk where you want them. Personally, I'd just make 4 shares and asssign each one to the disk or disks where I wanted it to reside.

 

What you posted before was a little confusing because you didn't say that you wanted each of those main directories in the share on a separate disk in your array.

 

Technically, split level 0 just means never split. You don't have to manually create any directories. But, manually creating the directory allows you to chose the disk where it goes instead of having unRAID automatically chose the disk where it goes.

 

 

Link to comment

Technically, split level 0 just means never split. You don't have to manually create any directories. But, manually creating the directory allows you to chose the disk where it goes instead of having unRAID automatically chose the disk where it goes.

What I did not realize originally about Split Level 0 is that if you create the same folder on multiple drives, then unRAID will use these according to the Allocation Method criteria.  This therefore still allows a particular folder to be split across multiple drives.

Link to comment

Technically, split level 0 just means never split. You don't have to manually create any directories. But, manually creating the directory allows you to chose the disk where it goes instead of having unRAID automatically chose the disk where it goes.

What I did not realize originally about Split Level 0 is that if you create the same folder on multiple drives, then unRAID will use these according to the Allocation Method criteria.  This therefore still allows a particular folder to be split across multiple drives.

 

Of course. Level 0 just means unRAID will never split and directories itself. But, if the split exists it will still use it.

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.