Catégories
Non classé Technique

🐛 Perturbations durant le mois de janvier 🐛

Bonjour tout le monde. Avec un peu de retard, nous souhaitions communiquer sur des difficultés que nous avons eues durant le mois de janvier :

  • L’indisponibilitĂ© d’un espace Nextcloud
  • Du retard dans l’acheminement des mails

OĂč il est question d’un disque peut-ĂȘtre fatiguĂ©

Tout a commencé au mois de décembre 2023. Nous remarquons une alerte sur un de nos serveurs, chif.fr. Cette alerte nous indique que le disque dur principal subit des erreurs de lecture.

Ce genre d’alerte est d’habitude un signe de « pre-fail » : aucune donnĂ©e n’est perdue pour l’instant, mais cela suggĂšre que le disque est en fin de vie. chif.fr est le premier serveur que nous avions louĂ© lorsque nous avions lancĂ© le Cloud Girofle, en 2018. Six ans plus tard, il n’est pas absurde qu’un disque sollicitĂ© 24h/24 donne des signes de faiblesse.

Nous tentons d’en savoir plus sur l’erreur. Sur les quelques jours d’observation, le systĂšme d’alerte nous enverra une ou deux alertes supplĂ©mentaires, mais nous ne rĂ©ussirons pas Ă  la confirmer ou la prĂ©ciser avec les outils d’analyse traditionnels. Nous nous demandons si c’est un faux-positf ou non.

L’architecture du serveur chif.fr

chif.fr est le premier serveur que nous avons louĂ©. Il a traversĂ© notre inexpĂ©rience, nos expĂ©rimentations, et nos dĂ©boires. C’est aussi le serveur qui accumule le plus de dette technique, et qui nous demande le plus de maintenance. Nous avons Ă©galement identifiĂ© depuis plus d’un an qu’il constitue un « SPOF », un single-point of failure (un Ă©lĂ©ment critique du systĂšme) pour plusieurs services :

  • Pour l’Ă©dition collaborative : c’est le serveur qui hĂ©berge OnlyOffice ;
  • Pour les mails : c’est la passerelle centrale par laquelle part tous les mails envoyĂ©s par le Cloud Girofle (y compris nos alertes par mail) ;
  • Pour les documents internes Ă  l’association : c’est lĂ  qu’ils sont stockĂ©s. Sans ceux-lĂ , nous perdons les informations liĂ©es Ă  qui nous hĂ©bergeons ;
  • Pour certains collectifs hĂ©bergĂ©s (les premiers Ă  nous avoir rejoints) ;
  • Pour notre systĂšme de monitoring : le nƓud central du VPN est hĂ©bergĂ© sur cette machine ;

Ainsi, en cas de panne du disque, tous ces services se seraient retrouvĂ©s impactĂ©s. Par ailleurs, le disque n’Ă©tant pas redondĂ© (pas de RAID), nous nous trouvons contraints de rĂ©aliser un changement de disque avec une interruption de service. Enfin, la machine Ă©tant hĂ©bergĂ©e chez notre prestataire Kimsufi, nous ne pouvons ni rĂ©aliser le changement de disque nous-mĂȘme, ni un clone du disque, nous devrons repartir depuis nos sauvegardes. Kimsufi nous informe que le changement de disque peut ĂȘtre anticipĂ© Ă  une heure prĂ©cise, et que l’opĂ©ration prend une demi-heure environ.

AprĂšs prise en compte de tous ces Ă©lĂ©ments, du risque de pertes de donnĂ©es et de service, et malgrĂ© le fait que nous n’arrivons pas Ă  isoler l’erreur du disque ou Ă  confirmer qu’il ne s’agit pas d’un faux-positif, nous dĂ©cidons de programmer le remplacement du disque.

Anticiper le remplacement du disque

Tout d’abord, nous listons les services qui seront impactĂ©s par le changement de disque, et la rĂ©installation qui va s’en suivre. Pour pouvoir minimiser les effets sur les utilisateur⋅ices. Nous choisissons de profiter de ce changement de disque pour rĂ©duire la concentration des services sur cette machine, ou pour les dĂ©placer (semi)-temporairement :

  • ✅ Ă©dition collaborative OnlyOffice : nous migrons le service vers une autre machine. Il y aura un impact pour un collectif que nous avons oubliĂ©
  • ✅ documents internes Ă  l’association : nous migrons notre dossier Nextcloud vers un autre serveur
  • ✅ Monitoring/VPN : nous prenons note que notre systĂšme de monitoring sera hors-service pendant la coupure
  • 🛈 mails : le protocole de mails est normalement rĂ©silient Ă  des coupures de plusieurs heures (les mails ne sont pas perdus). Nous dĂ©cidons d’informer les utilisateur⋅ices de la coupure. Malheureusement, il y aura des effets de bord.
  • 🛈 collectifs hĂ©bergĂ©s : nous prenons la dĂ©cision de les migrer vers d’autres instances

Ensuite, nous nous assurons que nous disposons de sauvegardes intĂ©grales du serveur (d’habitude, nous sauvegardons seulement les donnĂ©es, ce qui oblige Ă  tout rĂ©installer si nous perdons le serveur). Nous rajoutons la sauvegarde de la racine « / » du serveur Ă  nos backups.

Le dĂ©roulement de l’opĂ©ration

L’opĂ©ration dĂ©marre le samedi 13/01 au matin. Au dĂ©but, tout se passe bien, Kimsufi a remplacĂ© le disque Ă  1h du matin, nous attaquons la restauration Ă  9h. Nous pouvons accĂ©der Ă  la console de secours, et commencer la restauration.

Le partitionnement se dĂ©roule bien. L’objectif Ă©tant de remonter le service le plus rapidement possible, on avait dĂ©cidĂ© de garder le mĂȘme partitionnement que sur le prĂ©cĂ©dent disque. Les partitions sont simples, sans LVM ni RAID.

Une fois le partitionnement en place, il nous faut remonter le systÚme. Pour cela, on se base sur une archive Borg de tout le systÚme (toute la racine /, sauf les dossiers /sys/, /proc/, /tmp/, /dev/ et /run/ ) que nous avions lancé la veille.

Le systĂšme maintenant en place, on peut quitter la console de secours et redĂ©marrer le serveur. C’est lĂ  que les choses se compliquent: le systĂšme ne semble pas dĂ©marrer. Sur ce serveur, il n’y a pas malheureusement pas de console IPMI, il nous est donc impossible de diagnostiquer la panne. AprĂšs plusieurs longues tentatives de redĂ©marrage/console de secours, nous changeons le fusil d’Ă©paule et dĂ©cidons de repartir sur l’installation d’un Debian via l’installateur Kimsufi 😿

A partir de lĂ , on arrive bien Ă  dĂ©marrer le systĂšme et Ă  s’y connecter, mais c’est un systĂšme vierge, sans nos services et outils. Nous retournons donc sur la console de secours, et nous tentons de remplacer les dossiers du systĂšme par ceux de l’archive Borg. Le systĂšme dĂ©marre ensuite correctement mais nous avons rapidement des messages d’alertes nous indiquant que tout n’est pas opĂ©rationnel. Certain fichiers n’ont pas Ă©tĂ© restaurĂ©s correctement (les liens symboliques n’ont pas Ă©tĂ© restaurĂ©s). Cette erreur aurait pu ĂȘtre Ă©vitĂ©e en testant des restaurations au prĂ©alable, chose que nous n’avions pas fait par manque de temps.

Nous avons finalement rĂ©ussi Ă  remettre en route les services « à la mano » un Ă  un, sur plusieurs jours, jusqu’au mardi 16/01, en priorisant les services les plus critiques.

L’impact sur les services et les utilisateur⋅ices

Au final, les utilisateur⋅ices ont Ă©tĂ© impactĂ©s de la maniĂšre suivante :

  • Mail : nous n’avions pas identifiĂ© que notre serveur DNS Ă©tait centralisĂ© sur la machine, et qu’il a eu des soucis Ă  redĂ©marrer. Cela a causĂ© des problĂšmes d’expĂ©dition des mails pendant plusieurs jours.
  • OnlyOffice : un collectif a Ă©tĂ© oubliĂ© de la migration vers le nouveau serveur, les documents collaboratifs ont Ă©tĂ© indisponibles pour eux pendant quelques jours Ă©galement
  • Nextcloud : les utilisateur⋅ices qui ont Ă©tĂ© dĂ©mĂ©nagĂ©s vers de nouvelles instances ont eu peu de temps pour adapter leurs usage (utiliser la nouvelle adresse).

Ce que nous en retirons

Nous sommes capables d’effectuer des interventions en cas de problĂšme matĂ©riel, sans perte de donnĂ©es.

Nous avons encore des progrĂšs Ă  faire dans l’anticipation de toutes les Ă©tapes, et Ă  l’avenir nous nous assurerons que deux administrateur⋅ices « racine » sont bien prĂ©sents pour la migration.

Pour en savoir plus : nous essayons de rédiger un rapport technique (parfois succinct) pour chaque intervention majeure sur nos serveurs. Celle liée au changement de disque est disponible sur notre wiki technique.

OĂč il est question d’Ă©dition collaborative qui saute

En parallĂšle des soucis de disques, vous avez Ă©tĂ© nombreureuse Ă  nous signaler une panne sur l’ouverture des documents collaboratifs. En effet, sur certaines instances Nextcloud, lors de l’ouverture d’un fichier Office (Word, Excel, etc…) il Ă©tait proposĂ© de tĂ©lĂ©charger le fichier, alors qu’il devait simplement s’ouvrir dans le navigateur.

Nous pensons que cette panne est liĂ©e Ă  une nouvelle fonctionnalitĂ© introduite en 2023 qui vient vĂ©rifier pĂ©riodiquement si le service Onlyoffice (l’outil d’Ă©dition collaborative que nous utilisons) est bien joignable depuis chaque Nextcloud. Nous avons pour l’instant dĂ©sactivĂ© cette fonctionnalitĂ© car nous disposons dĂ©jĂ  d’outils de suivi de notre instance Onlyoffice.

Faites nous signe si vous rencontrez à nouveau ce problùme 🙏

Le mot de la fin

Nos services sont gĂ©rĂ©s par des bĂ©nĂ©voles, sur leur temps libre. Nous faisons de notre mieux pour vous fournir des services performants et disponibles mais nous ne pouvons pas garantir une prĂ©sence constante de nos Ă©quipes de support. Nous vous remercions donc de votre comprĂ©hension, patience et soutient đŸ„°