Asustor Package Duplicati

cyrilP

Nouveau membre
Bonjour à tous,

J'ai fait l'acquisition de mon NAS 3102T il y a quelques mois, et j'ai été surpris de découvrir qu'il n'y avait pas de fonction de sauvegarde vers le cloud digne de ce nom, les applications existantes faisant plutôt de la synchronisation de fichiers.
J'ai donc installé Duplicati http://www.duplicati.com qui correspond à mes attentes:
  • Sauvegarde incrémentale au niveau bloc
    Compression et chiffrement à la source
    Durée de rétention réglable
    Interface web

En attendant sa publication sur l'app central, je vous invite à le télécharger et le tester depuis http://www.pawelko.net/duplicati-package-for-asustor-nas/, et faire vos retours éventuels sur ce forum.
 

FX Cachem

Administreur
Membre du personnel
Hello Cyril,

Une vieille coutume veut qu'on se présente sur le forum... ce n'est pas obligatoire mais c'est recommandé. Ensuite, tu peux aussi mettre ta config en signature ;)
Duplicati est vraiment top... j'en conviens. Malheureusement, je déconseille l'installation de ce package car :
  • On ne connait pas encore (mais ça va changer j'en suis sûr)
  • Il peut y avoir un virus ou un autre malware dedans (bah on te connait pas, on ne va mettre n'importe quel APK dans notre NAS)
  • On tient à nos données.

C'est ton premier message et tu nous renvoies vers ton site pour télécharger un apk non officiel. Désolé, même si l'application est vraiment pas mal... je passe mon tour. Attention, je ne dis pas que ton apk n'est pas au top et il sera certainement validé par Asustor mais dans le doute, je tiens à mes données.
 

cyrilP

Nouveau membre
Bonjour FX,

Pas de souci, ta démarche est très légitime ;)
J'ai supposé (à tort ?) que l'installation de packages non certifiés était assez courante.

Le package est toujours en cours de validation chez Asustor (vous savez si c'est long d'habitude ?), et je suis en contact avec les développeurs de duplicati pour qu'ils compilent systématiquement un package pour Asustor.

Je vous fais donc signe dès qu'un package officiel est dispo.
 

Dami1

Représentant ASUSTOR
Merci pour ton méga travail Cyril. De plus encore un francophone et ça ça fait méga plaisir :oops:
L'équipe m'a indiqué que ton application serait étudiée courant de semaine prochaine :)
 

cyrilP

Nouveau membre
En effet, je viens de voir ça !
Je suis donc preneur de tout retour d'expérience, même si je doute qu'il y ait des problèmes liés au package lui-même.
De mon côté je réactive Duplicati pour création d'un package officiel.
 

Hawaga

Apprenti
Salut Cyril!

Merci pour ton portage de Duplicati sur Asustor!
Je viens de télécharger la béta pour tester avec Amazon Cloud Drive.

J'ai une question:

- Si après la fin de la sauvegarde, j'efface des fichiers du disque local, cela sera-t-il automatiquement repercuté sur la sauvegarde et effacera les fichiers dans le cloud ou seront-ils conservés sur Amazon Cloud Drive?

et un retour:

- une petite indication concernant la vitesse d'upload serait top si possible!

Merci d'avance pour ta réponse! :D
 

cyrilP

Nouveau membre
Bonjour Awaga,

Si après la fin de la sauvegarde, j'efface des fichiers du disque local, cela sera-t-il automatiquement repercuté sur la sauvegarde et effacera les fichiers dans le cloud ou seront-ils conservés sur Amazon Cloud Drive?
Il sera conservé selon la durée de rétention que tu as indiqué.

une petite indication concernant la vitesse d'upload serait top si possible!
Pour rappel : Je n'ai fait que packager l'application, toutes les questions sont à rechercher dans la documentation (assez légère cependant) https://github.com/duplicati/duplicati/wiki et les suggestions à remonter aux développeurs ;-)

Quel est ton modèle de NAS ?
Peux-tu nous indiquer si ça fonctionne correctement ?

Merci !
 

Hawaga

Apprenti
Merci pour ta réponse!

Mon modèle est en signature, il s'agit d'un AS-608T.

Ca a l'air de bien fonctionner. Pour l'instant j'attends la fin d'upload d'un premier volume (17 To, ça risque de prendre un peu de temps :geek: )
J'ai essayé de voir si on pouvait lancer deux tâches en parallèle (un autre volume), apparement non.
J'ai une connexion fibre avec 250Mbp/s en upload de mémoire, donc j'espère que la 1ere tâche ne vas pas prendre trop de temps.

En ce qui concerne le fait de supprimer en local tout en conservant le fichier sur ACD, j'ai un peu peur que ça ne fonctionne pas: j'ai arrêté la sauvegarde, supprimé un fichier en local pour tester avant de la relancer, et j'ai eu un message d'erreur disant qu'un fichier distant existait et non en local, avec l'obligation de faire une procédure de "repair" de la tâche avant de la relancer. Donc j'ai un petit doute..
J'ai l'impression qu'il s'agit d'une synchronisation à deux voies, avec les changements en local répercutés dans le cloud, et pas un simple backup à une voie vers le cloud.

Je me trompe?
 

maerlin

Nouveau membre
Hello,

Merci j'attendais une solution comme celle-là depuis quelques temps car les solutions de base sur le NAS ne permettent pas facilement de scheduler les backups.

Sinon sur mon AS-5002T j'ai eu un soucis lors du 1er backup vers Hubic Gratuit (dossier de 11Go environ).
Erreur pas super claire au départ:
Failed while executing "Backup"
System.ArgumentException: array too small. numBytes/offset wrong. Parameter name: array at (wrapper managed-to-native) System.IO.MonoIO:Write
et plein d'exceptions derrière

En fouillant les logs du produit j'ai pu voir que mon /tmp ne lui suffisait pas en terme d'espace libre. J'ai pu contourner via la variable tempdir de duplicati (dans le paramétrage du backup). D'autres auront peut-être le même soucis. Je sais pas si c'est normal...

Donc pour le moment ça tourne: pas encore d'upload, je vois seulement un gros fichier (l'archive cryptée j'imagine) qui grossi dans le dossier temporaire.
 

maerlin

Nouveau membre
maerlin a dit:
Hello,

Merci j'attendais une solution comme celle-là depuis quelques temps car les solutions de base sur le NAS ne permettent pas facilement de scheduler les backups.

Sinon sur mon AS-5002T j'ai eu un soucis lors du 1er backup vers Hubic Gratuit (dossier de 11Go environ).
Erreur pas super claire au départ:
Failed while executing "Backup"
System.ArgumentException: array too small. numBytes/offset wrong. Parameter name: array at (wrapper managed-to-native) System.IO.MonoIO:Write
et plein d'exceptions derrière

En fouillant les logs du produit j'ai pu voir que mon /tmp ne lui suffisait pas en terme d'espace libre. J'ai pu contourner via la variable tempdir de duplicati (dans le paramétrage du backup). D'autres auront peut-être le même soucis. Je sais pas si c'est normal...

Donc pour le moment ça tourne: pas encore d'upload, je vois seulement un gros fichier (l'archive cryptée j'imagine) qui grossi dans le dossier temporaire.

Résultat des courses, ça plante :(

En grosj'ai l'impression que tout se passe bien lors de la constitution du backup en local
2016-11-16 01:22:32Z - Profiling: Starting - Running Backup
2016-11-16 01:22:32Z - Warning: Hyper-V backup works only on Windows OS
2016-11-16 01:22:32Z - Information: The operation Backup has started
...
2016-11-16 02:33:03Z - Profiling: BackupMainOperation took 01:10:14.941
2016-11-16 02:33:03Z - Profiling: Starting - FinalizeRemoteVolumes
...
2016-11-16 02:33:09Z - Profiling: Starting - CommitUpdateRemoteVolume
2016-11-16 02:33:10Z - Profiling: CommitUpdateRemoteVolume took 00:00:00.846
2016-11-16 03:00:21Z - Profiling: Starting - RemoteOperationPut
2016-11-16 03:00:21Z - Profiling: Starting - CommitUpdateRemoteVolume
2016-11-16 03:00:22Z - Profiling: CommitUpdateRemoteVolume took 00:00:00.333
2016-11-16 03:00:22Z - Profiling: FinalizeRemoteVolumes took 00:27:18.732
2016-11-16 03:00:22Z - Profiling: Starting - UpdateChangeStatistics
2016-11-16 03:00:22Z - Information: Backend event: Put - Started: duplicati-b7b10dc3015c7410db7fa23451df78b8a.dblock.zip.aes (9,05 GB)

Mais ensuite ça se met à déconner:

2016-11-16 03:00:24Z - Profiling: Starting - VerifyConsistency
...
2016-11-16 03:03:45Z - Profiling: VerifyConsistency took 00:03:21.268
2016-11-16 03:03:48Z - Profiling: Starting - Uploading a new fileset
2016-11-16 03:04:57Z - Profiling: RemoteOperationPut took 00:04:35.871
2016-11-16 03:04:58Z - Warning: Operation Put with file duplicati-b7b10dc3015c7410db7fa23451df78b8a.dblock.zip.aes attempt 1 of 5 failed with message: Request was cancelled.
System.Net.WebException: Request was cancelled. ---> System.IO.IOException: Cannot close the stream until all bytes are written
--- End of inner exception stack trace ---
at System.Net.WebConnectionStream.Close () [0x00183] in <59be416de143456b88b9988284f43350>:0
at System.IO.Stream.Dispose () [0x00000] in <1170fb08300b4d0db71c1d1db8555768>:0
at Duplicati.Library.JSONWebHelper.GetResponse (Duplicati.Library.Utility.AsyncHttpRequest req, System.Object requestdata) [0x00067] in <430d4da14fe447f29c11ec7b7fc027eb>:0

2016-11-16 03:05:00Z - Information: Backend event: Put - Retrying: duplicati-b7b10dc3015c7410db7fa23451df78b8a.dblock.zip.aes (9,05 GB)
2016-11-16 03:05:03Z - Information: Backend event: Put - Rename: duplicati-b7b10dc3015c7410db7fa23451df78b8a.dblock.zip.aes (9,05 GB)
2016-11-16 03:05:03Z - Information: Backend event: Put - Rename: duplicati-bdc43fc55eb8a4d68b786641ee05c75f0.dblock.zip.aes (9,05 GB)
2016-11-16 03:05:03Z - Information: Renaming "duplicati-b7b10dc3015c7410db7fa23451df78b8a.dblock.zip.aes" to "duplicati-bdc43fc55eb8a4d68b786641ee05c75f0.dblock.zip.aes"

A ce stade, le process meurt, l'IHM ne répond plus, pas d'autre solution que relancer l'app via AppCentral.

Je continue d'investiguer...!
 

maerlin

Nouveau membre
Réglé le dernier problème: j'avais joué avec la taille de volume dans les paramètres. Sans trop savoir j'ai mis 25Gb pensant qu'il s'agissait de la taille max de la sauvegarde distante. De retour aux 10Mb par défaut, ça m'a l'air de bien mieux fonctionner.......
Le produit m'a l'air très bien.
 

Hawaga

Apprenti
Bon, en fait ça coince.

Aujourd'hui, impossible de reprendre la sauvegarde.

J'ai le message d'erreur suivant:

Fatal error
System.Exception: Failed to authorize using the OAuth service: Error: TrustFailure (The authentication or decryption has failed.). If the problem persists, try generating a new authid token from: https://duplicati-oauth-handler.appspot.com?type=amzcd ---> System.Net.WebException: Error: TrustFailure (The authentication or decryption has failed.) ---> System.IO.IOException: The authentication or decryption has failed. ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. Error code: 0xffffffff800b010a
at Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord (System.IAsyncResult asyncResult) [0x00040] in <e220be0b0a364127860ee43376ab6f2b>:0
at Mono.Security.Protocol.Tls.SslClientStream.SafeEndReceiveRecord (System.IAsyncResult ar, System.Boolean ignoreEmpty) [0x00000] in <e220be0b0a364127860ee43376ab6f2b>:0
at Mono.Security.Protocol.Tls.SslClientStream.NegotiateAsyncWorker (System.IAsyncResult result) [0x00071] in <e220be0b0a364127860ee43376ab6f2b>:0
--- End of inner exception stack trace ---

J'ai essayé d'obtenir un nouveau code OAuth à plusieurs reprises, relancé Duplicati, ça ne change rien. Du coup, je suis bloqué :(
 

cyrilP

Nouveau membre
maerlin a dit:
Réglé le dernier problème: j'avais joué avec la taille de volume dans les paramètres. Sans trop savoir j'ai mis 25Gb pensant qu'il s'agissait de la taille max de la sauvegarde distante. De retour aux 10Mb par défaut, ça m'a l'air de bien mieux fonctionner.......
Le produit m'a l'air très bien.

En effet, j'ai 50 Mo de mon côté pour de l'upload en FTP chez OVH, ça fonctionne bien.
Le script de démarrage force l'utilisation de /usr/local/AppCentral/duplicati/tmp comme répertoire temporaire, c'est bien ce que tu constatais ? Car par défaut, /tmp est en ramfs sur les asustor, et 25 Go en ramfs... ça coince.
 

cyrilP

Nouveau membre
Dami1 a dit:
vois avec Cyril ;)
J'ai échangé par mail avec Hawaga, en lui suggérant de lancer la commande « mono /usr/local/AppCentral/duplicati/mozroots.exe --import –sync » afin de bien disposer des certificats racines en local. Cette opération est réalisée automatiquement à l'installation du package.
On verra si ça améliore les choses.
 

maerlin

Nouveau membre
cyril@pawelko.net a dit:
maerlin a dit:
Réglé le dernier problème: j'avais joué avec la taille de volume dans les paramètres. Sans trop savoir j'ai mis 25Gb pensant qu'il s'agissait de la taille max de la sauvegarde distante. De retour aux 10Mb par défaut, ça m'a l'air de bien mieux fonctionner.......
Le produit m'a l'air très bien.

En effet, j'ai 50 Mo de mon côté pour de l'upload en FTP chez OVH, ça fonctionne bien.
Le script de démarrage force l'utilisation de /usr/local/AppCentral/duplicati/tmp comme répertoire temporaire, c'est bien ce que tu constatais ? Car par défaut, /tmp est en ramfs sur les asustor, et 25 Go en ramfs... ça coince.

50Mo a bien l'air d'être la vrai valeur par défaut tu as raison. J'étais tombé sur 10Mo en parcourant les issues du Github, et avec cette valeur tout s'est bien passé, le backup est arrivé au bout. Je ne sais pas si passer de 10 à 50Mo ne va pas flinguer le backup déjà fait :)
J'ai compris après coup que cette valeur servait à définir la taille avec laquelle le process saucissonne le backup. Donc avec 25Go, ça me pondait un unique gros fichier => d'où le plantage.

A propos du dossier tmp:
Le script de démarrage force avec la commande --tempdir=$APKG_PKG_DIR/tmp
Je suis pas expert de l'installation des packages ASUSTOR, mais tout se comportait chez moi comme si le tempdir était sur /tmp au lieu de /usr/local/AppCentral/duplicati/tmp
Un soucis avec la variable $APKG_PKG_DIR ??

C'est pour ça que j'ai forcé un autre dossier manuellement.

PS: pour définitivement valider le produit, je tente actuellement de restaurer sur une autre machine pour voir ce qu'il se passe en cas de catastrophe :) Si ça marche c'est tout bon.
J'ai remarqué que le tout est beaucoup moins intrusif que le package DataSync for Hubic dont je me servais jusqu'à présent. Ce dernier avait tendance à faire tourner mes disques un peu trop souvent.
 

cyrilP

Nouveau membre
En effet c'est bien la taille de la tranche de saucisson.
J'ai cru voir sur Github qu'il n'est pas conseillé de la modifier une fois le premier backup réalisé.

Le script de démarrage force avec la commande --tempdir=$APKG_PKG_DIR/tmp
Je suis pas expert de l'installation des packages ASUSTOR, mais tout se comportait chez moi comme si le tempdir était sur /tmp au lieu de /usr/local/AppCentral/duplicati/tmp
Un soucis avec la variable $APKG_PKG_DIR ??
Tu peux le vérifier en faisant:
Code:
root@NAS:/volume1/.@root # ps | grep Duplicati
 2982 root     219:55 /usr/local/bin/mono Duplicati.Server.exe --webservice-port=8201 --webservice-interface=* --log-retention=30D --server-datafolder=/usr/local/AppCentral/duplicati/config --tempdir=/usr/local/AppCentral/duplicati/tmp
 

maerlin

Nouveau membre
cyril@pawelko.net a dit:
En effet c'est bien la taille de la tranche de saucisson.
J'ai cru voir sur Github qu'il n'est pas conseillé de la modifier une fois le premier backup réalisé.

Le script de démarrage force avec la commande --tempdir=$APKG_PKG_DIR/tmp
Je suis pas expert de l'installation des packages ASUSTOR, mais tout se comportait chez moi comme si le tempdir était sur /tmp au lieu de /usr/local/AppCentral/duplicati/tmp
Un soucis avec la variable $APKG_PKG_DIR ??
Tu peux le vérifier en faisant:
Code:
root@NAS:/volume1/.@root # ps | grep Duplicati
 2982 root     219:55 /usr/local/bin/mono Duplicati.Server.exe --webservice-port=8201 --webservice-interface=* --log-retention=30D --server-datafolder=/usr/local/AppCentral/duplicati/config --tempdir=/usr/local/AppCentral/duplicati/tmp

Merci pour l'info.

la commande ps me donne bien un --tempdir=/usr/local/AppCentral/duplicati/tmp
donc j'ai testé en retirant du paramétrage duplicati mon dossier tempdir perso.

* en relançant un backup, le process va écrire dans /tmp au lieu de /usr/local/AppCentral/duplicati/tmp
Et pour cause, /usr/local/AppCentral/duplicati/tmp n'existe même pas.
* Je crée moi même le tmp sous duplicati et je relance un backup: même punition.
* Je stop and start le package via l'AppCentral, et je relance un backup => c'est toujours /tmp qui est utilisé.

Il y a quelque chose qui cloche!
Vu que la tranche de saucisson est à 10Mo, le backup ne plante plus, mais ça reste dommage et plus risqué de polluer le /tmp :)
 
Haut Bas