3 votes

Déplacement de fichiers actifs sur un système de type Unix

Dans une offre d'emploi récente pour un administrateur Unix général dans un centre de données, une des exigences énumérées était de déplacer des fichiers actifs dans un centre de données. Qu'est-ce que cela signifie et comment peut-on déplacer des fichiers actifs ?

7voto

Bart Silverstrim Points 31022

Déplacer des fichiers en direct... pour autant que je sache, aucun administrateur sain d'esprit n'essaierait de le faire (non pas que la plupart des administrateurs soient complètement sains d'esprit). Habituellement, le fichier est verrouillé de sorte que vous ne pouvez pas le déplacer jusqu'à ce que le système d'exploitation ou l'application le libère, et si vous déplacez un fichier actif, certaines applications vont planter et/ou corrompre des données.

Il y a de fortes chances que l'annonce ait été mal rédigée ou qu'elle ait été postée par quelqu'un qui ne sait pas de quoi il parle (ou encore que ce soit un bon indice de la raison pour laquelle un ancien titulaire du poste s'est enfui en hurlant).

Ou bien ils restent vagues et parlent de migration en direct de machines virtuelles, de services de basculement, de mise en grappe, etc., mais la publicité ne fait que spéculer.

La seule chose que vous pouvez faire si vous êtes intéressé par le poste est de postuler et, lors de l'entretien, de leur demander ce qu'ils veulent dire exactement, car vous ne connaissez aucun moyen sûr de déplacer un fichier en cours d'utilisation sans mécanismes supplémentaires de basculement ou de migration en direct des machines virtuelles pour y parvenir. Voulaient-ils dire qu'il est possible d'installer un nouveau serveur et de mettre hors service un serveur actuellement en production ?

1voto

A.Rashad Points 293

S'agit-il de fichiers ou d'images en direct ?

ils pourraient parler de machines virtuelles pour passer en direct d'un système en fonctionnement avec une certaine plateforme à un autre sans interrompre ces images.

1voto

Duane Points 606

S'il s'agit de fichiers actifs, il s'agit essentiellement d'une solution HA ; si les fichiers ne doivent pas être à jour à 100% mais que vous devez empêcher la corruption, quelque chose comme fssnap doit être utilisé.

0voto

stew Points 9143

Je suis d'accord avec les autres réponses que cette question est trop vague, et doit être clarifiée.

Si l'on part du principe que déplacer un "fichier actif" signifie déplacer un fichier qui est actuellement ouvert par un processus qui est en train de le lire ou d'y écrire, ce n'est généralement pas un problème compte tenu de certains paramètres. Lorsqu'un programme ouvre un fichier, il le fait généralement en se référant à un nom de fichier. Dans notre exemple, nous utilisons "/var/log/monimportant.log". Ce nom de fichier n'est en fait qu'un pointeur vers un inode sur le disque. Une fois que le processus a ouvert ce fichier, il importe peu que vous supprimiez cette entrée de répertoire vers l'inode, ou que vous ajoutiez une nouvelle entrée de répertoire pointant vers ce même inode. Et le déplacement d'un fichier peut souvent être juste cela : supprimer une entrée de répertoire à un inode et en ajouter une autre. Je dis souvent au lieu de toujours car ce n'est PAS vrai si vous essayez de déplacer le fichier d'un système de fichiers à un autre.

Notez que c'est ainsi que fonctionne la rotation des journaux. Le fichier dans lequel un processus est probablement en train d'écrire est déplacé. Le processus continue à écrire dans le fichier même après qu'il ait été déplacé. Puis, un peu plus tard, le processus est redémarré ou reçoit un signal HUP, ce qui déclenche l'ouverture d'un nouveau fichier à l'emplacement d'origine.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X