[Aide] - transfert de données suite à des erreurs disque

Voici la liste des applications sachant que je n’ai pas encore tout installé :

yunohost app list | grep "id:"
    id: 299ko__2
    id: baikal
    id: bludit
    id: bookstack
    id: facilmap
    id: my_webapp
    id: my_webapp__3
    id: navidrome
    id: netdata
    id: plainpad
    id: rustdesk-server
    id: searxng
    id: snappymail
    id: stirling-pdf
    id: thelounge
    id: vaultwarden
    id: wallos
    id: webmin
    id: webtrees

Je ne suis pas sûr que la commande soit bien passée, mais voici le resultat :

sh -c '
for pid in $(pgrep -f python); do
  if [ -d /proc/$pid ]; then
    cmd=$(tr "\0" " " < /proc/$pid/cmdline 2>/dev/null)
    count=$(ls -1 /proc/$pid/fd 2>/dev/null | wc -l)
    limit=$(grep "Max open files" /proc/$pid/limits | awk "{print \$4}")
    echo "$count / $limit  $pid  $cmd"
  fi
done' | sort -rn
535 / 1024  306583  python3 /usr/bin/yunohost-api 
90 / 1024  306585  python3 /usr/bin/yunohost-api 
25 / 1024  305903  /var/www/searxng/searxng-pyenv/bin/python3 /var/www/searxng/searxng-pyenv/bin/gunicorn --timeout 3600 --graceful-timeout 3600 --workers 2 --threads 2 --bind unix:/run/searxng.sock searx.webapp:app 
23 / 1024  305906  /var/www/searxng/searxng-pyenv/bin/python3 /var/www/searxng/searxng-pyenv/bin/gunicorn --timeout 3600 --graceful-timeout 3600 --workers 2 --threads 2 --bind unix:/run/searxng.sock searx.webapp:app 
19 / 1024  591  /usr/bin/python3 /usr/bin/fail2ban-server -xf start 
10 / 1024  755  /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal 
10 / 1024  305902  /var/www/searxng/searxng-pyenv/bin/python3 /var/www/searxng/searxng-pyenv/bin/gunicorn --timeout 3600 --graceful-timeout 3600 --workers 2 --threads 2 --bind unix:/run/searxng.sock searx.webapp:app 
8 / 1024  633  python3 /usr/bin/yunohost-portal-api 
6 / 1024  635  python3 /usr/bin/yunomdns 
4 / 1024  451406  sh -c 
    limit=$(grep "Max open files" /proc/$pid/limits | awk "{print \$4}")
  if [ -d /proc/$pid ]; then
for pid in $(pgrep -f python); do
  fi
    echo "$count / $limit  $pid  $cmd"
done 
    count=$(ls -1 /proc/$pid/fd 2>/dev/null | wc -l)
    cmd=$(tr "" " " < /proc/$pid/cmdline 2>/dev/null)
  • pour la réstauration, j’ai :
    • réinstallé la dernière version de l’image iso de YunoHost officielle sur un autre PC “DELL Optiplex 3050” sur un SSD NVMe de 512G.
    • entre temps, j’ai fait une sauvegarde des applications, une par une de l’ancien PC (ce que j’ai pu sauvegarder).
    • j’ai modifié toutes les redirections de ports de l’ancien PC vers le nouveau dans ma box.
    • j’ai recréé mes comptes, sauf un que je ne voulais plus utiliser “un compte admin” que j’ai surement utilisé avec une ou peut-etre plusieurs applications à l’installation (je le specifie, peut-etre que le problème peut aussi venir de là).
    • j’ai recréé mes domaines et sous-domaines à l’identique pour pouvoir réstaurer mes applications.
    • J’ai réstauré mes applications qui avaient les 2 fichiers de restaurations dans les fichiers *.TAR.
    • J’ai optimisé les ecritures du swap pour éviter de faire vieillir trop vite ma SSD NVMe, aillant 32Go de RAM, pas vraiment besoin du SWAP.
    • J’ai aussi désactivé l’IPv6 pour n’utiliser que l’IPv4 sur mon serveur.

Pour les autres applications, il va falloir les restaurer à la main, mais ce sera après la résolution de ce problème, car j’aurai aussi besoin d’aide pour celà.

Je suis bien embêté.
On va tenter de modifier les paramètres système et augmenter la limite de fichiers ouverts globalement :

sudo nano /etc/security/limits.conf

A la fin du fichier, tout en bas, vérifie s’il y a ces lignes, sinon les ajouter :

*               soft    nofile          65536
*               hard    nofile          65536

Puis reboot et on verra :person_shrugging:

J’ai fait la modification et je reboot.

voici les infos de la fin de fichier :

#<domain>      <type>  <item>         <value>
#

#*               soft    core            0
#root            hard    core            100000
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#ftp             -       chroot          /ftp
#@student        -       maxlogins       4
*               soft    nofile          65536
*               hard    nofile          65536

# End of file

Bon, après environ 3 minutes après le reboot, le problème persiste toujours …

Le problème ne vient pas de là apparemment.

Dernier recours, on augmente 65536 à 550000 et on modifie le systemd de yunohost-api et yunohost-portal pour ajouter la limite du nombre de fichiers ouverts
sudo nano /etc/systemd/system/yunohost-api.service (meme chose pour portal), dans la section Service, ajout de la ligne LimitNOFILE=550000
Puis sudo systemctl daemon-reload et systemctl restart pour les 2 services. Et un reboot :grimacing:
Mais ce serait intéressant aussi de surveiller le serveur avec htop, iotop et iftop (dans des consoles différentes)

Je vais voir si je peux faire les modifs du boulot autrement ce sera ce soir en rentrant.

Mais pour info, les consoles “terminal” se coupes quand le serveur à le problème donc le tassage va être compliqué …

OK, juste pour essayer.
Arrête les services de searxng un peu pour voir avant de faire les modifications

Bonjour @jarod5001 ,

J’ai arrêté le service de seargnx, toujours pas de changement.

Je me demande si je ne vais pas arrêter les services de toutes les applications, voir ce que ca donne et les relancer au fur et à mesure, qu’en penses-tu ?

Oui ça peut être utile

@jarod5001

J’ai juste gardé les applications que j’utilise au boulot, car j’en ai un réel besoin.

Ce que je garde :

  • bitwarden
  • bookstack
  • netdata (pour les mails du serveur)
  • rustdesk (PMAD du poste à la maison)
  • tous les autres services de yunohost

Entre temps, le problème continu, car il s’est encore déconnecté après tous les arrêts des services.

Nous sommes bien d’accord que je ne devrais pas avoir ce problème normalement et que je ne devrais pas être obligé de modifier quoi que ce soit dans le serveur ?

Entre temps j’ai fais la modif que tu m’a dit :

puis j’ai fait un reboot, on verra bien.


Bon le problème persiste même âpres les modifications …

Je pense que je vais être bon pour faire une réinstallation complète du serveur, à mon avis …

Je viens d’avoir ca comme message :

The automatic diagnosis on your YunoHost server identified some issues on your server. You will find a description of the issues below. You can manage those issues in the 'Diagnosis' section in your webadmin.

---

=================================
État des services (services)
=================================

[ERROR] Le service yunomdns est failed :-(
  - Vous pouvez essayer de redémarrer le service, et si cela ne fonctionne pas, consultez les journaux de service dans le webadmin (à partir de la ligne de commande, vous pouvez le faire avec 'yunohost service restart yunomdns' et 'yunohost service log yunomdns' ).