Apps Backup and Restore

Rob2150

Cadet
Joined
Oct 2, 2023
Messages
1
Hi All...
I'm in the process of setting up my new system. As part of that process I want to ensure that I can successfully backup and restore my apps. I installed a single app, JellyFin. I then used HeavyScript to create a snapshot of the ix-applications and then replicated that to a usb drive. I then deleted and recreated the pool that held the ix-applications. I replicated the ix-applications back to the new pool from the usb drive. I then executed the commands in the "Important BlueFin Bug Fix" section of https://truecharts.org/manual/SCALE/guides/backup-restore#reverting-a-running-system, and then started the restore from HeavyScript.

The method I used for the backup and restore of the apps seems overly complicated. There were multiple cases where I had to go into the shell and unset read-only states (changing it in the GUI wouldn't actually stick). Am I really doing this correctly?

Thanks...
 

sfatula

Guru
Joined
Jul 5, 2022
Messages
608
I have gone a different way. Since I don't use Truecharts or PVC storage, app backup not important at all to me. I merely keep a list for each app of which hostpaths I am using. That's all I need, if I ever lost the pool, I'd simply add the apps back in 5-10 minutes and all would be well.
 

flmmartins

Dabbler
Joined
Sep 19, 2022
Messages
31
Hello, I have replication task for my datasets but I was wondering how to backup the ix-applications (apps) as well because I have lots of them and reconfiguring everything would be a nightmare: all the options and fields....

How are you dealing with this? Does Heavy Script do more than replication and could facilitate the restore?

How can I best backup/restore apps? Thanks!
 

sfatula

Guru
Joined
Jul 5, 2022
Messages
608
Heavyscript backs that all up locally and retains decent limits so your system won't end up with hundreds of thousands of snapshots and bog you down. If you want remote, only way I know is:


Which is why each apps config I document making it so easy to enter back in if need be. Scale needs some work here.
 

NugentS

MVP
Joined
Apr 16, 2020
Messages
2,947
Would anyone care to vote for: https://ixsystems.atlassian.net/jira/software/c/projects/NAS/issues/NAS-121499?filter=reportedbyme

Its a suggestion I made some time ago as follows:

What would be really useful is a mechanism of exporting in a common format the container configuration (not the container app)​


Another individual then added that an equivalent import button would be a good idea as well.

Its got 7 votes at the moment - and I THINK the threshold is 10 - but the more the merrier
 

sfatula

Guru
Joined
Jul 5, 2022
Messages
608
Voted
 

flmmartins

Dabbler
Joined
Sep 19, 2022
Messages
31
Heavyscript backs that all up locally and retains decent limits so your system won't end up with hundreds of thousands of snapshots and bog you down. If you want remote, only way I know is:


Which is why each apps config I document making it so easy to enter back in if need be. Scale needs some work here.
But I was reading about it and it only makes a backup of the datasets that I already have so I don't see the benefits of using Heavy Scripts if you already have a Replication with rotation enabled.

I try to vote on the issue but I don't know where. Where do I click to vote?

I had an idea but I am not sure it's going to work but I will try. I will setup Minio (object storage) and Velero. Velero is a kubernetes tools you can do `velero backup` and `velero restore` or something like that and the expectation is that you can backup and restore your kubernetes. Sadly it only works with object store and that's where Minio would work.

Besides that I already have all my datasets backup up so my expectation is that a Dataset backup + Velero backup would be enough backup but I am not sure.

Update: It didn't work. Velero installation is broken with truecharts. I followed this instructions: https://velero.io/docs/main/contributions/minio/

[EFAULT] Failed to install App: coalesce.go:220: warning: cannot overwrite table with non table for velero.velero.namespace.labels (map[]) coalesce.go:220: warning: cannot overwrite table with non table for velero.velero.namespace.labels (map[]) coalesce.go:220: warning: cannot overwrite table with non table for velero.velero.namespace.labels (map[]) Error: INSTALLATION FAILED: template: velero/templates/common.yaml:2:4: executing "velero/templates/common.yaml" at : error calling include: template: velero/charts/common/templates/loader/_init.tpl:8:6: executing "tc.v1.common.loader.init" at : error calling include: template: velero/charts/common/templates/loader/_lists.tpl:13:6: executing "tc.v1.common.loader.lists" at : error calling include: template: velero/charts/common/templates/values/lists/_backupStorageLocationList.tpl:16:28: executing "tc.v1.common.values.backupStorageLocationList" at <$rootCtx.Values.backupStorageLocation>: wrong type for value; expected map[string]interface {}; got []interface {}
 
Last edited:

NugentS

MVP
Joined
Apr 16, 2020
Messages
2,947
Up towards the top right is a vote button in Jira
 

sfatula

Guru
Joined
Jul 5, 2022
Messages
608
But I was reading about it and it only makes a backup of the datasets that I already have so I don't see the benefits of using Heavy Scripts if you already have a Replication with rotation enabled.
The advantage is it does backup and restore and works for that. It also automatically prunes some docker stuff to free up old snapshots that may not be able to be purged otherwise (Which then cascades into you having potentially vast quantities of snapshots which then causes other issues). It also has many tools like internal dns names for containers, mounting pvc, etc. it's much better than your own replication. Up to you.
 
Top