Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[PLUGIN] ZFS Master

Featured Replies

3 minutes ago, john_smith said:

see, that's what's weird, i don't see those options, only move/rename.

True! I have not seeing this Option by me too!

  • Replies 724
  • Views 126k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Is the ZFS -Master plugin still maintained ? Since 2024.12.08 no change anymore. For me, ZFS was the main feature for starting with Unraid and without a maintained ZFS master It's not really attrac

  • Hey, answering some of the questions: @XuvinWhat does it mean if the dataset/snapshot icon is yellow instead of blue: It means that the last snapshot is older than the time configured on the s

  • ZFS Master may need an update with the current 7.2-rc2 (and rc1 as well but that isn't current now). When this plugin is installed it causes the Unraid Connect icon to disappear on the Main tab. It

Posted Images

@Iker would like to ask you - is it possible to show refresh date in system date format? Or at least add options in plugin settings to setup format?

image.png.fb9a0e22f14b777551663412e2e5effb.png

  • Author

@john_smith To activate the "Convert to Dataset" option, you need to enable "Destructive Mode" on the plugin options; I'll probably move it directly to the main UI to make it more intuitive.

 

@d3m3zs Someone asked me for the same feature not so long ago, and I tried to include it in the latest release, but it's a little bit problematic for compatibility with other features, such as Lazy Load; however, I'll take another look and see what I can do.

8 minutes ago, Iker said:

@john_smith To activate the "Convert to Dataset" option, you need to enable "Destructive Mode" on the plugin options; I'll probably move it directly to the main UI to make it more intuitive.

 

Thank you! I saw that option but I thought it was only necessary for deleting already existing datasets. Now that I have enabled it, I see the previously missing "convert to dataset" option:

 

 

image.png

I'm realizing I may have done something wrong when migrating my pool from XFS to ZFS, since I see in the documentation that "Top-level user shares in a ZFS pool are created as datasets instead of ordinary directories.", and when I just created a test share in this pool, it was automatically created as a dataset.

 

However, all the shares i currently have in this pool are directories, not datasets. I believe this might be because of the way I migrated my data over from my old pool using copy,to keep old data safe and backed up in old unmounted cache drive while testing ZFS), rather than using mover, which I assume would have correctly created datasets when moving shares over.

 

I'm curious to try moving a share back and forth from my array to see if this places the data as a dataset rather than a directory. That being said, would this be effectively the same as hitting the "convert to dataset" operation?

 

EDIT:

move share out of pool and trying to move back was unsuccessful, ended up having to manually create dataset with matching name in order to move data back. tested convert data set on another share and it was much more straightforward.

 

leaving the system and appdata containers for last since those are the highest impact.

Edited by john_smith

14 hours ago, Iker said:

I'll take another look and see what I can do.

Thank you, I suppose it is only format change for output, according to time format, in java that would be 

// Convert the input string to a LocalDate object
        DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("M/d/yyyy");
        LocalDate date = LocalDate.parse(inputDate, inputFormatter);

// Format the date to the desired format: 21-01-2025
        DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
        String formattedDate = date.format(outputFormatter);

I suppose it will be smt similar on PHP



// Create a DateTime object from the input date
$date = DateTime::createFromFormat('m/d/Y', $inputDate);

// Format the date to the desired format: 21-01-2025
$formattedDate = $date->format('d-m-Y');

But you know that better.

EDIT: I see the date request is already being discussed, so.... +1 to whatever can be done there :)

 

---------------

 

Feature request:

 

Please update the date/time preference to use the regional settings of the server.

 

I get a US date format for the last updated and it bends my brain because it's backward.

 

Talking about this:

"Last refresh at 1/23/2025, 20:13:50"

 

It'd be nice to see that formatted as

Last refresh: <date according to servers region setting>, <time according to servers time setting>

 

If that's not possible, it'd be great if we could have basic date formats as preferences (DD/MM/YYYY, MM/DD/YYYY, YYYY-MM-DD, etc.)

 

Thanks

Edited by warpspeed

Hello all. Started using ZFS in Unraid and ZFS Master, and the different size units in the plugin compared to Unraid annoyed me, although I understand the reasons why. I wrote a userscript to watch the ZFS Master table on the Main dashboard page and convert all size units from IEC to SI.

 

This will fix the 1st item in the below list Iker gave for reasons that the sizes are different in the plugin. The 2nd reason is not fixable via this script because ZFS and Unraid have different definitions for pool size.

 

Before and after:

image.png.1e8fa9a6dd3b9a0871e8f1728a9b05a8.png  image.png.d7dc72ca6b64069e7e087ae9bdd01814.png

 

Tested with ZFS Master 2024.12.09.104 on Unraid 7.0.0
Tested in these browsers:

  • Firefox 135.0b9 with Violentmonkey 2.29.0
  • Chrome 132.0.6834.160 with Tampermonkey Beta 5.4.6224

It doesn't use anything fancy so I hope it will work with most modern browsers and script managers.

Source: https://github.com/jathek/firefox-tweaks/blob/main/userscripts/unraid-zfs-master-si.user.js

Install: https://github.com/jathek/firefox-tweaks/raw/main/userscripts/unraid-zfs-master-si.user.js

 

IMPORTANT INSTALL NOTE: You will have to add a custom match rule in your script manager if you use something other than "http://tower/Main*" for your Unraid Dashboard.

 

On 4/10/2022 at 12:16 PM, Iker said:

But why is that? There are two factors:

  1. Unraid shows the units using SI (TeraBytes, Gigabytes, etc.) instead of IEC (Tibibytes, Gibibytes, etc.); zfs natively uses IEC units, so there is a discrepancy. The larger the pool, the larger the difference.
  2. Unraid shows you the usable space on the GUI interface reported from the filesystem, but that's not the same information reported by ZFS; for example for a RAIDZ-1 config with three disks, you get 2TB * (3-p) with p = 1 disk for redundancy; in practical terms, that means 4 TB of usable space; but at the pool level that's not what gets reported, instead ZFS reports 6 TB (Convert it to IEC TBi and you get 5.5 TB) of total space because that's the pool topology, not the one showed at the filesystem level. Now, at the dataset level (zfs list) ZFS reports the actual numbers for the filesystem because that config applies to the filesystem level, how much space you can use, excluding the parity, slop space, snapshots, etc.

Edited by nearcatch

I have a few questions.

 

1. Why can I not do snapshot at the pool level since that is a dataset? I see a snapshot icon at the pool level, but no actions. My 'cache' pool icon shows 183 snapshots but I can't do anything with it. Is this intended?

2. Is there an ability to do a recursive snapshot if there is nested datasets?

 

Thanks,

Greg

 

  • Author

Hi @ggee
1. You can, but not from the UI, this is something I have been thinking on implementing as an additional option for the pool.
2. Yes, there is a little check on the "Take Snapshot" dialog for recursive operation.

  • 1 month later...

Why are my folders/datasets?!? in RED color?

For the other disks everything looks like normal, that means in black color.

 

image.thumb.png.eabec8579e075d280b7b33beaaacf45d.png

Figured it out, is a ... display bug it seems. :)

 

No point to hide it, my pool is named red because there are two WD Red drives, and also had some (buggy) WD Blue NVME drives.

 

I was so scared of the red color when I saw it, cause I didn't know what was the problem, everything was allright, but was still red colored, so after the incompatibilities with the blue NVMEs I thought more problems now with my SATA drives. :)

 

Apparently, naming your pool as "red" or "blue" or who else what color (maybe green?!?) makes the plugin apply the css theme.

<tr id="tr-red/appdata" class="zdataset-red red red" style="display: table-row">...

 

Almost feeling like I've discovered some sort of a SQL injection. :)

Edited by AriseZC

So i am able to destroy a dataset, but I am unable to release one. Doesn't matter what dataset i try to release it just gives the same message. I set everything up using SpaceInvaderOnes video so i think i did everything right.

 

I might have tried to fix something and was try to fix permissions using the utility in tools, maybe that messed something up? I think it got to the ZFS pools, but it did nothing.

image.png.a76717d4ba2caaae632d0cdc118f93f1.pngunraidplex-syslog-20250304-2037.zip

  • Author

Can you please clarify what you are trying to achieve?, Because for releasing a snapshot, first you need to create a hold on it.

On 1/29/2025 at 11:50 PM, nearcatch said:

Hello all. Started using ZFS in Unraid and ZFS Master, and the different size units in the plugin compared to Unraid annoyed me, although I understand the reasons why. I wrote a userscript to watch the ZFS Master table on the Main dashboard page and convert all size units from IEC to SI.

It's worth knowing in general these differences and how they're displayed. 

 

Linux is quite good at showing the correct unit names: K/M/G/T or K/M/G/TiB means IEC units, K/M/G/TB means SI units. 

 

I assume MacOS is the same because it's Unix based, but I don't know that for sure. 

 

Windows, annoyingly, is very bad at this. It says K/M/G/TB but uses IEC units. 

 

If I were going to convert, I would rather convert Unraid's main page to all IEC so everything would match. 

On 3/12/2025 at 6:05 AM, Renegade605 said:

It's worth knowing in general these differences and how they're displayed. 

 

Linux is quite good at showing the correct unit names: K/M/G/T or K/M/G/TiB means IEC units, K/M/G/TB means SI units. 

 

I assume MacOS is the same because it's Unix based, but I don't know that for sure. 

 

Windows, annoyingly, is very bad at this. It says K/M/G/TB but uses IEC units. 

 

If I were going to convert, I would rather convert Unraid's main page to all IEC so everything would match. 

 

ZFS Master was the odd one out so that's the one I chose to convert to match. Everything else on the Unraid Main page is already SI and it would've been more effort to identify the units in all the different parts of the page. I use Windows primarily as well, so IEC is what I see everywhere else, but I'm just used to seeing SI in Unraid.

  • 4 weeks later...

I have 142 "legacy" snap shots created under my system folder and I cannot figure out how to remove them. Also why are they being created. I tried deleting them and it goes the process but doesn't delete them. I have attached an image showing that I'm talking about. How do I get rid of these and stop them from coming back?

Screenshot 2025-04-15 150921.jpg

11 minutes ago, jbarnette-TA said:

I have 142 "legacy" snap shots created under my system folder and I cannot figure out how to remove them. Also why are they being created. I tried deleting them and it goes the process but doesn't delete them. I have attached an image showing that I'm talking about. How do I get rid of these and stop them from coming back?

Screenshot 2025-04-15 150921.jpg

It's docker creating them. You can hide them (discussed plenty of times in this thread). You can also switch to image or keep the docker dir with overlay2 and it will stop. 

32 minutes ago, Niklas said:

It's docker creating them. You can hide them (discussed plenty of times in this thread). You can also switch to image or keep the docker dir with overlay2 and it will stop. 

can you point me to instructions for doing this I'm not seeing anything telling me how to do that in this thread

 

  • 2 weeks later...
On 4/15/2025 at 5:01 PM, jbarnette-TA said:

can you point me to instructions for doing this I'm not seeing anything telling me how to do that in this thread

 

The plugin settings:image.png.a43818812436749ac8a56d0ef90f1b1a.png

It even shows you and example in the text box.

Or don't use the docker-root folder structure. Use a docker vdisk instead.

Would it be possible to use white-/blacklist to limit which pools get polled for datasets? The intent would be to prevent spin up of drives. In my example i would only need to work on my raidz2 cache and not on the other drives.

 

thanks for the great plugin!

  • Author

Not right now, but, I'll keep in mind for a new set of features to be included in a new release (soon).

  • 3 weeks later...
Tower nginx: 2025/05/15 11:40:17 [error] 3835476#3835476: *917066 open() "/usr/local/emhttp/webGui/styles/default-popup.css" failed (2: No such file or directory) while sending to client, client: 10.0.0.2, server: , request: "GET /webGui/styles/default-popup.css?v=autov_fileDoesntExist HTTP/1.1", host: "10.0.0.2", referrer: "https://10.0.0.2/plugins/zfs.master/frontend/ZFSMCreateDataset.php?zpool=cache&csrf_token=XXXXXXXXXXXXXXXX&done=Done"

 

Getting a lot of these since upgrading to Unraid 7.1.2. Error message shows up when clicking on the "Create Dataset" button.


I don't see any actual issue with it but I figured Id report it just in case.

  • Author

Thanks for the report, I'll be fixing this and reviewing other issues that come up with the style changes on Unraid 7.1.X next week.

  • 3 weeks later...

Here's some critical feedback for you. Not a knock whatsoever, just looking to give you some solid feedback and hopefully improve this for everyone, because you've got the foundations of something excellent already. :- )

If it were me, I would ditch all of the ACTIONS buttons littering the Main dashboard and speed up rendering by just attaching the functionality to clicking the left dataset icon (we don't have ACTIONS buttons per-disk in Main, but we do have clickable disk icons (which arguably should have shortcuts in, like how clicking the icons in Docker works).

Furthermore, this would mean you would need to hyperlink the + and - symbols that are overlaid on top of the dataset icon that indicates expand and collapse for each dataset. Every day I repeatedly click the + or - icon confusedly, eventually refreshing the whole admin UI and eventually remembering that you click the dataset icon and not the + or -. I would say that it's because you can't teach this old dog new tricks, but that implementation doesn't follow any UI standard practices that I've seen.

When ZFS Master updates every x frequency and all the icons blink from blue to grey to blue again.

I wish that there was an additional dataset icon colour that followed Unraid's design language for defining unprotected and protected shares in the array. E.g., what happens when data is no longer protected by parity and the text colour of a share changes to orange (as I recall; which makes no sense anyway, IMO, because the brand colour shouldn't be associated with something negative, but that's a conversation for other people elsewhere lol!). I say this because it's one thing to have snapshots, it's a wholly other thing to have the data and snapshots replicated to another disk, and would be amazing to be able to see at a glance what actually has a replicated dataset and what doesn't, because right now they're all blue, even targets for replication! Managing all my datasets is very cumbersome.

A toggle for the quantity calculation of snapshots would be nice. Seeing it recount a x frequency in row-by-row is fairly distracing if it's running on a secondary monitor out of the corner of my eye for hours on end whilst babysitting transfers and rebuilds.

If the dataset icon itself goes blue when there are snapshots for it, then do I really even need the SNAPSHOTS column if I don't even want to see snapshot quantities? Seems a little redundant. I'd be quite happy to have the quantity of snapshots live inside the hover info for the dataset icon alongside CREATION DATE et al. Seems like the best place for it, IMO, especially considering that's where SPACE USED BY SNAPS lives as a piece of info, which makes more sense to see on lines on top of each other rather than scanning my eyes back-and-forth across a row, which is hard as there's so many numbers and capacity bars on the way to that number.

I'm using the Sanoid plugin and a fork of the SpaceInvaderOne .sh User Script for scheduling snapshotting and replications, which is very messy, so would be nice to wrap that up into the ZFS Master GUI to just add the required vars from text fields per schedule/plan.

I wish there was a destroy operation available via the GUI, but obviously it would need a confirmation dialogue. Komodo Core implements this well when destroying Docker containers as it makes you type out the name of the container into a modal pop-up and click Destroy again. You can also left-click the container name in the modal dialogue and then CTRL + V the name into the field if you're feeling lazy.

Needing to use destroy via the CLI is quite dangerous as when you type the path of your dataset in, the / and Return keys are extremely close together, and having replicated snapshots has saved my arse twice now as there's no confirmation dialogue for destroy operations when working with ZFS via the CLI (yikes!).

Your Browse icons don't follow the design language for Main or Shares and are instead on the right when they should be on the left, just like the disks.

Any info on REFER, USED, and FREE, should probably be the right-most columns to follow the design language of the disks above.

Other thing I would love to see is the likes of the Fix Common Problems plugin able to tell me when a scheduled snapshot and/or replication hasn't successfully taken place since a var threshold of y. But that's probably a conversation for LimeTech, or perhaps between you and them (worth pursuing if you do implement snapshotting and replication scheduling in the GUI, IMO).

Refresh Information and ZFS Master Settings should be on the same line as Toggle reads/writes display. Likewise, Last refresh at % should be justified to the right of the div with the Refresh Information directly next to it.

I'd like the option to hide Last refresh at % and instead offer a toggle to have it appear when hovering the cursor over Refresh Information. The only time I personally want to see that info directly is when the refresh schedule is set to x but it hasn't successfully refreshed in y, in which case I might like it to appear and also send a notification if for any reason it fails to refresh, though I can't imagine that happening as it would likely indicate much larger issues with the system. :- )

Perhaps a toggle for HEALTH would be good too. I would greatly prefer the HEALTH icons themselves (the heart) next to the disk 'ball' icon. I'm no ZFS expert in terms of fail-states, but perhaps reducing clutter overall via a toggle would make sense. I personally don't need to see the HEALTH unless it's anything but 100% OK and working order ("THE POOL IS IN NORMAL WORKING ORDER"), ergo, I don't need the HEALTH text nor the heart, personally.

A toggle to hide the MOUNT POINT column similar to the BASIC VIEW/ADVANCED VIEW toggle on Docker would be nice as I'm just not going to need that information 99% of the time, and it's just pointless calls to render pointless info that clutters up the UI for me when I don't need it. The Docker page has vertically collapsible/expandable VOLUME MAPPINGS, so I'm obviously not the only person who struggles with being presented with too much info when they don't need it.

The Admin Snapshots pop-under seems to require horizontal scrolling to view the icons. Attached a screenshot.

image.png

The Ready! seems a little redundant in the Admin Snapshots view, as does the status bar when nothing is happening, because the existing design language dictates the greyed-out buttons as not currently being actionable, and orange ones being actionable.

As an aside, I cannot for the life of me figure out how you remove a hold on a snapshot via the ZFS Master GUI. I would have thought that the Hold icon would turn into a function to remove a hold (maybe 'locked padlock' and 'unlocked padlock' icons would be better than a 'pause' icon? Not sure if there's any convention for that in ZFS), but I'm still offered the Hold feature for a snapshot even when clicking it yields a Hold Result of Operation not permitted.

I wish I could choose to have my pools appear in the same order as my disks, e.g., my disk pool appears after my cache pool as it's in alphabetical order, but it makes navigating it quite confusing as I'm used to scrolling to the bottom of Main to find my cache pool, and so I'd assume I'd scroll to the bottom of ZFS Master to find it there. Even more strangely, it means that my metadata pool appears after all the disks. :- ) Hugely confusing to me!

Personally, I would remove the HIDE DATASETS / SHOW DATASETS and instead start treating each pool name as the toggle for expanding and collapsing, or perhaps if you've got plans for the pool names being hyperlinked, just change it out for the standard expand/collapse UI icons, like what you find on the Docker page for VOLUME MAPPINGS. Just be careful it doesn't confuse people with the SPIN UP % / SPIN DOWN % icons directly above it.

It's all close to being quite a nice system overall! :- ) I know you may disagree with some of the above, and perhaps even feel some of it is out-of-scope, but I just wanted to share my enthusiasm for what you've done. Hope you find something useful in the above!

Edited by Hammy Havoc

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.