Does ixVolumes feels like it holds your data hostage?

On a great day ixVolume is just fine. On a bad day it gets really complex. Please correctly me if I’m wrong with my understanding below!

Bad day example:
Nextcloud is kinda famous for being crappy during an upgrade. On occasion it becomes corrupt and is not recoverable without reinstall. Just restore ixVolume from snapshot right?

No any other changes any other apps in ixVolume will be lost if an application is rollback including Nextcloud. Data loss will occur like calendar events, emails, photos, and any other unknown changes to all apps in ixVolume.

It seems the advantages of ixVolume compared to host path.

  • Auto configuration of data/database storage - including permissions
  • Isolated data from apps
  • Snapshots synchronized with app version before upgrade
  • uninstalling app deletes associated user data and app for structure (not sure this is an advantage)

From a technical standpoint can’t ixsystems automatically configure ‘host path’ to functionally be very similar to the advantages of ixVolume? The user to pick between the two template systems.

  • When installing ixsystems apps again we would pick which data pool store apps but it would just create host paths automatically the correct permissions.
  • Metadata stored synchronizing snapshots to app version
  • Warnings could put in place if the user tries to edit permissions or data of the data pool
  • During uninstall user could be prompted whether or not they want to delete everything or leave user data/Infrastructure in place
  • if the user wants to have their own management of host path then they can simply edit the paths before installing the app.

At the very least there should be guide first party guide to allow user access to ixVolume even if it involves command line. Really though ixVolume should be accessible through the UI/SFTP even if it’s read-only Sorry heavyscript (no longer supported/deprecated) doesn’t count as it’s not first party tool which shows my concern about the approach of ixsystems. Hence it feels like your app data is being held hostage with ixVolumes.

Data should be accessible regardless of the mode of storage.

Con: ixVolumes are automatically stored on the apps pool. If your apps pool is a small-ish SSD, you might want the data stored elsewhere.

Configuring host-path automatically:

  • You almost certainly want to be able to exercise more control over where data is stored and not just which pool.
  • I like the idea of TN running coordinated snapshots before an app upgrade.
  • I like the idea of asking whether to delete data or not when uninstalling.

Access to ixVolumes:

I have a feeling that these can be found in the ix-applications dataset on whatever pool your apps are in. For example my Plex app has an ixVolume at /mnt/apps-pool/ix-applications/releases/plex-server/volumes/ix_volumes.

I’ve bypassed all this hassle by using a network share instead.

This means instead of a dedicated data folder hidden away, I simply point nextcloud at a regular share - in my case SMB.

Depending on how you’ve installed nextcloud, you may need to add SMB functionality (I use a docker compose and the nextcloud:latest image, which then needs the smbclient to be added through a docker build file…). I think NFS is built in.

To activate, in nextcloud, go to “Administration settings > External storage” and enter the details for the network share you have in mind.

This means that I never have to worry about migrating or losing my nextcloud data.

I appreciate the approach but this really shouldn’t be necessary. I had to mount ix-applications as a SMB most likely screwing up permissions for any installed application.

With great power (nextcloud) comes great responsibility (and complexity).

Unfortunately there’s no perfect way around how and where nextcloud stores its data. This is made more complex in Docker or Kubernetes containers.

By having most of your files and data in a readily accessible place i.e. on a NFS or SMB share, you simplify your ability to control / backup / access the data.

In your case, I’d suggest putting your plex stuff in its own share, outside of the ix application directory for the above reasons.

1 Like

Perhaps vote for this feature request:

2 Likes