SCENARIchain-server 5.0 (Linux) - Pbs pour déplacer la base de données sur un volume de données

Bonjour,

Suite à l’installation de SCENARIchain-server 5.0 (Linux), nous avons voulu regarder pour déplacer sur un volume de données la base de données de SCENARIchain-server 5.0 (Linux) en effectuant les commandes ci-dessous sur le serveur où SCENARIchain-server 5.0 (Linux) est installé:

  • systemctl stop apache2
  • systemctl stop jetty9
  • cd /var/lib/scenarichain-server5.0
  • mv data /media/vdata_scenari-pp/scserver50/
  • ln -s /media/vdata_scenari-pp/scserver50/data data
  • systemctl restart apache2
  • scenarichain-server5.0-cfg reconfig

Cependant après avoir effectué ces commandes, dans le fichier de logs comme ci-dessous dans le fichier /var/log/scenarichain-server5.0/scstatic_2021-06-18.log, nous avons les erreurs ci-dessous en gras que nous n’avons pas dans le fichier de logs lorsque nous revenons en arrière :

1— Info : Fri Jun 18 17:08:58 CEST 2021[10] (main) —
================================================================================
Starting SCENARIchain-server 5.0 : SCENARIchain-server 5.0.010 202102021055 on OpenJDK 64-Bit Server VM 11.0.11+9-post-Debian-1deb10u1 / Linux amd64

1— Info : Fri Jun 18 17:08:58 CEST 2021[18] (main) —
OpenDocument editor found by env. var. ‹ PATH › in: /usr/lib/libreoffice/program

1— Error : Fri Jun 18 17:08:59 CEST 2021[308] (main) —
Init Scenari webapp in eu.scenari.core.execframe.httpservlet.servlets.InitAppContextListener failed

2— Error : Fri Jun 18 17:08:59 CEST 2021[308] (main) —
Init application ‹ /tmp/jetty-0_0_0_0-8080-scenarichain-server5_0_war-_scenarichain-server5_0-any-11218628241639511769/webapp/WEB-INF/universeInit.prl-chain.xml › failed.

3— Error : Fri Jun 18 17:08:59 CEST 2021[306] (main) —
Error on parsing xml end element 'universe’

4— Exception : Fri Jun 18 17:08:59 CEST 2021[306] (main) —
Cannot open local storage ‹ /media/vdata_scenari-pp/scserver50/data/prl-chain/db › with mode=rw
com.orientechnologies.orient.core.exception.OStorageException: Cannot open local storage ‹ /media/vdata_scenari-pp/scserver50/data/prl-chain/db › with mode=rw
at com.orientechnologies.orient.core.storage.impl.local.OStorageLocal.open(OStorageLocal.java:186)
at eu.scenari.orient.engine.DbDriver.acquireDatabase(DbDriver.java:346)
at eu.scenari.orient.engine.DbDriver.getStorage(DbDriver.java:698)
at eu.scenari.jobodb.store.JobOdbStorage.startStore(JobOdbStorage.java:694)
at eu.scenari.core.executor.ExecutorLocal.startExecutor(ExecutorLocal.java:208)
at eu.scenari.core.service.executor.SvcExecutor.startSvc(SvcExecutor.java:245)
at eu.scenari.core.service.executor.SvcExecutor.getExecutor(SvcExecutor.java:198)
at eu.scenari.wsp.service.repos.SvcRepos.createRepos(SvcRepos.java:181)
at eu.scenari.wsp.service.repos.SvcRepos.initAndLinkSvcs(SvcRepos.java:150)
at eu.scenari.core.universe.Universe.xInitEnd(Universe.java:571)
at eu.scenari.core.universe.UniverseLoader.xEndElement(UniverseLoader.java:231)
at eu.scenari.commons.util.xml.FragmentSaxHandlerBase.endElement(FragmentSaxHandlerBase.java:242)
at eu.scenari.xml.parser.piccolo.Piccolo.reportEndTag(Piccolo.java:831)
at eu.scenari.xml.parser.piccolo.PiccoloLexer.parseCloseTagNS(PiccoloLexer.java:1599)
at eu.scenari.xml.parser.piccolo.PiccoloLexer.parseTagNS(PiccoloLexer.java:919)
at eu.scenari.xml.parser.piccolo.PiccoloLexer.parseXMLNS(PiccoloLexer.java:868)
at eu.scenari.xml.parser.piccolo.PiccoloLexer.parseXML(PiccoloLexer.java:839)
at eu.scenari.xml.parser.piccolo.PiccoloLexer.yylex(PiccoloLexer.java:4042)
at eu.scenari.xml.parser.piccolo.Piccolo.yylex(Piccolo.java:958)
at eu.scenari.xml.parser.piccolo.Piccolo.yyparse(Piccolo.java:1046)
at eu.scenari.xml.parser.piccolo.Piccolo.parse(Piccolo.java:502)
at eu.scenari.xml.parser.PoolXmlReader$XXmlReader.parse(PoolXmlReader.java:96)
at eu.scenari.core.execframe.httpservlet.servlets.InitAppContextListener.contextInitialized(InitAppContextListener.java:145)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1068)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572)
at org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:997)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:746)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:911)
at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:46)
at org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188)
at org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:517)
at org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:157)
at org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:173)
at org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:442)
at org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:66)
at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:785)
at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:754)
at org.eclipse.jetty.util.Scanner.scan(Scanner.java:641)
at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:540)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:146)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:605)
at org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:252)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:423)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.server.Server.doStart(Server.java:387)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
at org.eclipse.jetty.xml.XmlConfiguration.lambda$main$3(XmlConfiguration.java:1907)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1857)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.eclipse.jetty.start.Main.invokeMain(Main.java:218)
at org.eclipse.jetty.start.Main.start(Main.java:491)
at org.eclipse.jetty.start.Main.main(Main.java:77)
Caused by: java.io.FileNotFoundException: /media/vdata_scenari-pp/scserver50/data/prl-chain/db/default.0.oda
at com.orientechnologies.orient.core.storage.fs.OAbstractFile.openChannel(OAbstractFile.java:438)
at com.orientechnologies.orient.core.storage.fs.OFileMMap.openChannel(OFileMMap.java:490)
at com.orientechnologies.orient.core.storage.fs.OAbstractFile.open(OAbstractFile.java:139)
at com.orientechnologies.orient.core.storage.impl.local.OMultiFileSegment.open(OMultiFileSegment.java:93)
at com.orientechnologies.orient.core.storage.impl.local.ODataLocal.open(ODataLocal.java:108)
at com.orientechnologies.orient.core.storage.impl.local.OStorageLocal.open(OStorageLocal.java:131)
… 66 more

Pour précisions, nous avons essayé sans succès d’effectuer les commandes ci-dessous pour essayer de corriger ces erreurs :

  • chmod 777 /media/vdata_scenari-pp/scserver50/data/prl-chain/db/*
  • chmod 777 /media/vdata_scenari-pp/scserver50/data/prl-chain/*
  • chmod 777 /media/vdata_scenari-pp/scserver50/data/*
  • chmod 777 /media/vdata_scenari-pp/scserver50/*

Est-ce que vous voyez ce qui pose problème, svp?
Merci,

Bien à vous,

Isabelle

Bonjour,

Je vous invite à vous reporter à la page décrivant le paramétrage de SCENARIchain-server (DEB) dans la documentation :
https://doc.scenari.software/SCENARIchain-server@5.0/linux/fr/#$1:configSC_deb

En particulier webapp.work.dir dans la rubrique webapp.properties et surtout au bloc Attention qui explicite les modifications à apporter à la configuration de systemd.

Je vous conseil donc de :

  • ne pas utiliser un lien symbolique pour déplacer le dossier de travail, Ni Jetty, ni SCENARI, ni Systemd ne peuvent être bernés si simplement :slight_smile:
  • modifiez le paramètre webapp.work.dir de /etc/scenarichain-server5.0/conf/webapp.properties
  • reportez cette modification dans /etc/systemd/system/jetty9.service.d/scenarichain-server5.0.conf
  • revertez vos chmod (chmod 755 /media/vdata_scenari-pp/scserver50 etc)
  • contrôlez que votre webapp.work.dir doit apartenir à l’utilisateur de Jetty.
  • rechargez la configuration des services systemd (systemctl daemon-reload)
  • lancez la commande scenarichain-server5.0-cfg reconfig

Bonjour,

Ok merci beaucoup pour votre retour.

J’ai pu remettre d’équerre les 2 fichiers de configuration que vous m’avez indiqués, ainsi que les droits précédemment accordés.
Dans le fichier /etc/systemd/system/jetty9.service.d/scenarichain-server5.0.conf, j’ai ajouté une ligne pour indiquer le chemin du répertoire data en plus, et c’est bon, je n’ai plus d’erreurs dans le fichier /var/log/scenarichain-server5.0/scstatic_2021-06-24.log, et je peux désormais me connecter en tant qu’admin.

J’ai aussi modifié le fichier /etc/scenarichain-server5.0/cfg.conf pour mettre à jour en conséquence le dataFolder.

Bonne journée,