Poolsman - ZFS Web GUI for Linux based on Cockpit

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

cojones

New Member
Jan 7, 2023
12
4
3
Hi guys, just want to inform that we are still working on Preview 5 release and it's expected in the first half of June. It will bring the disks replacement features, Scrub and Trim support, and something more. There are some critical things that need to be properly tested. We will keep you informed and will send the release announcement to all our subscribers, as well as post it there.
Any updates on this?
 

PoolsmanTeam

Member
Sep 12, 2022
31
27
18
poolsman.com
Hi everyone,

thank you for your feedback and sorry for delay with Preview 5 release, it's expected from day to day. As we mentioned before, it will include disks replacement features, Scrub, Trim support and something more. Actually it's aimed to bring a huge improvement in pool disks management and provide an intuitive UI for resolving pool health issues.

I'm sorry, but it seems like the GUI is broken again. This time while I am resilvering my draid3 pool ...
Yeah, the full support for pool resilvering will come with the 5th preview, that is going to be available in next few days (we will send an announcement right after that to all of our subscribers, as well as post it there).

I could see a 1 time fee as possible if it was a really nice tool, but yearly for a homegamer seems like a tough sell.
Home users are very important for us and we'd like to provide a reasonable pricing for homegamers. We've received multiple feedbacks about pricing and wishes to have lifetime license. The pricing policy is going to be redefined with the 1st final release in this year. At this moment we provide an early access program (EAP) for those users who don't want to wait for this and want to start using Poolsman right now. We are also going to provide the best conditions for all EAP users for switching to a new licensing model with the final release.

I understand that this is baseline functionality it'd be weird not to have, but it doesn't seem to reach the level of minimum viable product. The snapshot management functionality is closer to being genuinely useful, but I don't see any indications that this attempts to solve the serious management difficulties (e.g. identifying clones, where they're cloned from, etc.) or integrate with other bits of the ecosystem that provide essential functionality (e.g. zrepl).
We are trying to accomplish basic functionality during EAP period, but having strong plans for adding advanced features after that. Especially it includes clones management and replication (integration with sanoid/syncoind or zrepl, etc.). Both of these features are expected in this year.
 
  • Like
Reactions: cojones

PoolsmanTeam

Member
Sep 12, 2022
31
27
18
poolsman.com
Hi,

We are thrilled to announce the long-awaited Poolsman Preview 5 release that brings support in resolving different pool health issues:
  1. Ability to replace existing disk with new or spare device and track the replacement process.
  2. Additional support in work with spare devices (marking spares that are in use, temporary and permantent replacement with spare, replacing from spare with another spare, etc.)
  3. Take disks offline/online for maintenance purpose with the option to mark devices as faulted and revert to the previous state after reboot.
  4. Track the status of pool resilver (rebuild), scrub (verification) and trim processes.
  5. Initiate scrubbing manually with the ability to pause and stop it (scheduled scrub is expected later).
  6. Trim all or selected disks with an optional speed limit in order to decrease the load on your pool, as well as pause and stop already running trimming for individual disks (scheduled trim is expected later).
  7. Improved support for dRAID pools (correct representation of the pool topology and full support for disks replacement, however dRAID support is still in experimental state).
 

Attachments

Beardmann

New Member
Jan 24, 2023
7
0
1
Hi there,

Great new features. Since I am one of the odd ones that use a draid pool, what are the chances that this will work with my pool? ;-)
I can see potential issues with the "spare side of things" because the use of "virtual" spares that draid uses...

/B
 

cojones

New Member
Jan 7, 2023
12
4
3
Great update, thank you. Good to have scrub and trim on the UI now, but I'm puzzled about the choice of where they are - under "topology" instead of "maintenance" as I would've expected it.
 

PoolsmanTeam

Member
Sep 12, 2022
31
27
18
poolsman.com
Since I am one of the odd ones that use a draid pool, what are the chances that this will work with my pool? ;-)
I can see potential issues with the "spare side of things" because the use of "virtual" spares that draid uses...
Should work fine with any existing dRAID pool :) We've also tested working with "virtual" spares. However dRAID is not so well tested as classic pools. So if you get some issue with dRAID, please send us the output of "zpool status" command and we'll try to fix that.

Good to have scrub and trim on the UI now, but I'm puzzled about the choice of where they are - under "topology" instead of "maintenance" as I would've expected it.
Yeah, it's slightly confusing now. But we decided to move Scrub and Trim to the Topology page because it's possible to track the state of each disk on this page. E.g. when you start trim, the trim status is showed independently for each disk with percentage. We have some plans to rethink the Maintenance page later (and improve user experience in this part) when we start working on scheduled scrub and trim jobs.
 
  • Like
Reactions: cojones
Aug 20, 2023
81
41
18
Hi @PoolsmanTeam , just ordered a license for home use. App works great, in the future maybe for home users a cheaper license would be much appreciated :) Keep up the good work !

Just one issue in fact that I have just noticed, my 8 x WD Plus 4Tb dont show up in the drives tab, the loading just spins and spins.
OS is Ubuntu 23.04:

1692561831445.png
 

PoolsmanTeam

Member
Sep 12, 2022
31
27
18
poolsman.com
Hi @PoolsmanTeam , just ordered a license for home use. App works great, in the future maybe for home users a cheaper license would be much appreciated :) Keep up the good work !

Just one issue in fact that I have just noticed, my 8 x WD Plus 4Tb dont show up in the drives tab, the loading just spins and spins.
OS is Ubuntu 23.04:
Hi @the-last-englishman, thank you for a great feedback! We've sent you an email with the request for additional data about your issue. We haven't tested Poolsman on Ubuntu 23.04 yet (it's not in the supported OS list), but will try to help you with this.
 
Aug 20, 2023
81
41
18
Hi @the-last-englishman, thank you for a great feedback! We've sent you an email with the request for additional data about your issue. We haven't tested Poolsman on Ubuntu 23.04 yet (it's not in the supported OS list), but will try to help you with this.
Hi , for the error on the disk tab, I figured out, had to install smartctl :) Thanks for getting back to me though , great support !
 
  • Like
Reactions: PoolsmanTeam

FHTheron

New Member
Aug 9, 2023
3
0
1
Is anyone using this with a non-root user? It doesn't look like a sudo user can execute actions.
 

PoolsmanTeam

Member
Sep 12, 2022
31
27
18
poolsman.com
Is anyone using this with a non-root user? It doesn't look like a sudo user can execute actions.
Hi @FHTheron, you should be able to execute actions by non-root user if it belongs to `sudo` group. For doing this, you need to switch to the `Administrative access` mode in Cockpit. In the top right corner you could find this switcher (by default it's set to `Limited Access`).

Screenshot from 2023-11-08 01-59-24.pngScreenshot from 2023-11-08 01-59-55.png
 

FHTheron

New Member
Aug 9, 2023
3
0
1
Hi @FHTheron, you should be able to execute actions by non-root user if it belongs to `sudo` group. For doing this, you need to switch to the `Administrative access` mode in Cockpit. In the top right corner you could find this switcher (by default it's set to `Limited Access`).

View attachment 32629View attachment 32630
Right, that's what I did. The user can do things like create new users, via ssh the user can `sudo zpool scrub` just fine, but from Cockpit it still says permission denied when trying to start a scrub.

I took a moment to actually check a few things. I can create a new dataset and snapshot, but I cannot start a scrub or a trim:
> Couldn't start scrub. The full error text was:
> cannot scrub rpool: permission denied
 

cojones

New Member
Jan 7, 2023
12
4
3
I've just checked by adding a dataset with my non-root user no problemo, after gaining administrative access the cockpit way, worked fine.

Edit: ah

1699391115817.png
 

PoolsmanTeam

Member
Sep 12, 2022
31
27
18
poolsman.com
I took a moment to actually check a few things. I can create a new dataset and snapshot, but I cannot start a scrub or a trim:
> Couldn't start scrub. The full error text was:
> cannot scrub rpool: permission denied
Thanks for finding this. We've checked, there's an issue with running scrub/trim commands under non-root user. We will provide a hotfix in few days. By the way, we are also going to release a new version with a lot of new features within next two-three weeks.
 
  • Like
Reactions: FHTheron

tomerh2001

New Member
Jan 6, 2024
1
0
1
Hey, just installed and I can't access the datasets:
1704574911978.png

Code:
dbug: Poolsman.BlazorApp.Client.CockpitShell[0]
      The command `zfs list -Hp -r -t filesystem,volume -o name,type,used,available,compression,compressratio,readonly,dedup,encryption,mountpoint,snapshot_count,usedbysnapshots,org.freenas:description Data` (CommandId=e63d646f-00ba-4256-8a61-29a3bc6ff402) started.
_bound_js_globalThis_console_debug:7 dbug: Poolsman.BlazorApp.Client.CockpitShell[0]
      The command `zfs list -Hp -r -t filesystem,volume -o name,type,used,available,compression,compressratio,readonly,dedup,encryption,mountpoint,snapshot_count,usedbysnapshots,org.freenas:description Data` (CommandId=e63d646f-00ba-4256-8a61-29a3bc6ff402) exited with code 0.
_bound_js_globalThis_console_debug:7 trce: Poolsman.BlazorApp.Client.CockpitShell[0]
      The Standard Output of `zfs list -Hp -r -t filesystem,volume -o name,type,used,available,compression,compressratio,readonly,dedup,encryption,mountpoint,snapshot_count,usedbysnapshots,org.freenas:description Data` command (CommandId=e63d646f-00ba-4256-8a61-29a3bc6ff402) was:
      Data    filesystem    5036557674905    7662292549632    lz4    1.00    off    sha512,verify    off    /pool    none    434176    -
      Data/media    filesystem    3022953971712    5662555776615    lz4    1.00    off    sha512,verify    off    /pool/media    none    344064    -
      Data/media/media    filesystem    1949292953600    5662555776615    lz4    1.00    off    sha512,verify    off    /pool/media/media    none    143074885632    -
      Data/media/usenet    filesystem    1073660567552    5662555776615    lz4    1.00    off    sha512,verify    off    /pool/media/usenet    none    172032    -
      Data/media/usenet/complete    filesystem    1073659928576    5662555776615    lz4    1.00    off    sha512,verify    off    /pool/media/usenet/complete    none    882582663168    -
      Data/media/usenet/incomplete    filesystem    360448    5662555776615    lz4    1.00    off    sha512,verify    off    /pool/media/usenet/incomplete    none    229376    -
      Data/services    filesystem    6668292096    5662555776615    lz4    1.21    off    sha512,verify    off    /pool/services    none    5607780352    -
      Data/vms    filesystem    997048320    5662555776615    lz4    1.47    off    sha512,verify    off    /pool/vms    none    4755456    -
      
blazor.webassembly.js:1 crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: Format_InvalidStringWithValue, none
System.FormatException: Format_InvalidStringWithValue, none
   at System.Number.ThrowOverflowOrFormatException(ParsingStatus , ReadOnlySpan`1 , TypeCode )
   at System.Number.ParseUInt64(ReadOnlySpan`1 , NumberStyles , NumberFormatInfo )
   at System.UInt64.Parse(String s)
   at A.D.A(String , String )
   at Poolsman.Wrappers.Zfs.Parsers.ZfsListParser.Parse(ShellResult shellResult, ZfsListParameters parameters)
   at Poolsman.Wrappers.Zfs.ShellResultParseExtensions.Parse[ZfsListResult](ShellResult shellResult, ZfsListParameters parameters)
   at Poolsman.Wrappers.Zfs.ZfsCommand.List(ZfsListParameters parameters)
   at Poolsman.Domain.Handlers.GetDatasetsByPath.ExecuteAsync(ZfsName path, Boolean loadSnapshotsInfoOnly)
   at Poolsman.Domain.Handlers.GetDatasetsTreeByPath.ExecuteAsync(ZfsName path)
   at Poolsman.BlazorApp.Client.Shared.DatasetsTable.LoadDatasets()
   at Poolsman.BlazorApp.Client.Shared.DatasetsTable.OnParametersSetAsync()
   at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
   at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task , ComponentState )
 

Beardmann

New Member
Jan 24, 2023
7
0
1
Hi Poolsman team,
I have just renewed my license and added a new system with a new license, I think your project is great.
As I cannot find any RFE I will just list the few things that I would like to see in the future, I am sure you have thought about some of them already.

- Support for setup of snapshot schedules. Maybe utilizing one of the well know tools.
- Support for zfs send schedules, again there are a handful of different ways to do this already, but would be nice to have in a GUI.
- Support for configuring ZFS options like notifications etc.
- Better stats on the pools maybe with grafana/prometheus
- Optimize startup time when first opening the "application"... (I get the %-counter and it takes 10-30 secs. the first time I open it up)
- Better support for enterprise drives, right now the "SMART" view is empty on my Exos SAS drives, not sure if this is because it's SAS? But there are information on even the SAS drives which might be interesting, like power-on hours, replaced blocks etc...
- Under space information, it would be nice to see information about space on the special metadata device, and on the cache vdev...
- We use the vdev_id.conf to give our disks a useful name based on the location in our shelfs (NetApp Shelfs) so our disks are named "hba0-23" for a disk attached via hba0 and is located in shelf location 23. Sadly you show sda-z for all the disks. Not sure where you get this information, because zpool status shows me the "vdes_id" disks...
- Maybe add support for creating CIFS/NFS shares/exports... we have the "Cockpit ZFS Manager" installed for this reason, because it works great for this specific thing but not much else :)

I know it's easy to just mention all the things I would like to see :) I hope you keep up the great work!

/B