La meilleure façon d'empêcher le remplissage du système racine lorsqu'un montage échoue?

Nous avons un serveur Web interne (virtualisé, hébergeant ReviewBoard, mais pas super pertinent) et nous avons un mode de défaillance relativement constant avec des montages NFS défaillants provoquant / complétant. Distro est Ubuntu (ne demandez pas) si une solution dépend d'une distribution différente, il sera plus lent à mettre en œuvre.

Les sauvegardes sont effectuées sur / mnt / backup /, ce qui est supposé être un montage NFS sur un autre système. Malheureusement, lorsque la monture échoue ou diminue, les sauvegardes sont effectuées sur le système de fichiers racine, ce qui, comme vous pouvez l'imaginer, ne prend pas longtemps avant / est plein, et les services commencent à échouer.

Un certain nombre de solutions possibles ont été discutées.

  1. Surveillez / mnt / sauvegardes et assurez-vous qu'il n'est pas root. Peut-être un travail de cron.

  2. Utilisez / mnt / protected / backups, et montez / protégé d'abord dans un petit système de fichiers, peut-être un montage en boucle sur un fichier local, donc il est beaucoup moins susceptible d'échouer.

  3. Chmod a-rwx / mnt / backups (le point de montage du système de fichiers racine). Je ne sais pas si le montage sur le directeur protégé fonctionnera, je pense qu'il le fait.

  4. Sur l'arbre monté, créez un répertoire intitulé «Sauvegardes», puis le lien logiciel «ln-s / mnt / backup / Backups / Backups». L'utilisation / les sauvegardes pour les sauvegardes échoueront à moins que le / mnt / backup ne soit monté, car l'arborescence locale ne contient pas le sous-répertoire.

  5. Effectuer un contrôle que le répertoire est correctement monté dans le script de sauvegarde.

Je suis intéressé par les commentaires sur ces approches, les avantages sociaux ou toute autre technique utilisée par les gens comme moyen standard de protéger le système de fichiers racine de ce type de méchanceté.

4 Solutions collect form web for “La meilleure façon d'empêcher le remplissage du système racine lorsqu'un montage échoue?”

Numéro 5 – Mettez un test dans votre script de sauvegarde pour vous assurer que le répertoire est installé avant de continuer. Le script devrait échouer si le montage n'est pas disponible ou présent. Ou vous pouvez simplement vous assurer que les choses sont montées avant d'exécuter la sauvegarde.

Essayez la commande mountpoint , qui vérifie si un répertoire spécifié est un point de montage:

mountpoint -q /mnt/backups || mount /mnt/backups

La solution la plus résistante aux erreurs est de rendre le point de montage inscriptible. Ce serait votre solution n ° 3. Cependant, il faut faire une étape supplémentaire. chattr +i /mnt/backups . C'est parce que même sans aucune autorisation, la racine pourrait toujours écrire dans le répertoire. Avec chattr +i (définit un drapeau immuable), ni même root ne peut l'écrire. Une fois que la monture est montée, les autorisations ne sont pas importantes car les autorisations seront du répertoire distant, et non de celles locales.

Ce que Ewwhite a dit. En outre, une surveillance supplémentaire pour la santé du système de base ne serait pas une mauvaise idée.

Quelque chose comme Monit peut vérifier pour voir combien d'espace reste . Si vous voulez aller pleinement sur la surveillance du système, vous pouvez regarder Nagios, mais Monit est léger et fera les bases.

Puisque vous utilisez Ubuntu, Monit est déjà en compte, vous pouvez faire "sudo apt-get install monit", puis commencer à regarder les fichiers de configuration pour lui dire d'envoyer des alertes au bon endroit, de surveiller les bons services, etc. Voici un tutoriel rapide.

Pour une solution à plus long terme: Vous ne savez pas comment le faire sur Ubuntu (je suis centré sur RH) ou si cela vaut la peine (si vous avez juste une machine), mais une méthodologie qui a fonctionné pour nous pendant de nombreuses années est de créer des logiques distinctes Les volumes, les systèmes de fichiers, même les groupes de volumes sur les machines serveur. Donc, en pratique standard, nous créons des volumes logiques LVM pour /, / tmp. / Usr, / usr / local, / opt, / home, / var, swap space et une partition séparée pour / boot. Cette approche rend plus difficile pour les systèmes de fichiers de remplir et de désactiver le système. En fait, cette approche rendra presque impossible de remplir le système de fichiers. Vous devez toujours regarder / tmp, / var bien sûr. Si nous devons stocker des données, nous créons un groupe de volumes totalement différent. Cette approche présente d'autres avantages, développez les systèmes de fichiers à volonté, déplacez-les, créez-les, etc. Et, en tant que note historique, nous avons transmis cette méthode à Linux depuis le système d'exploitation AIX dans les années 1990!

  • Permet l'access RDP à Azure VM après Sysprep
  • synchronisation en time réel pour les servers partageant les files
  • Système de files avec une déduplication de données en time réel
  • Version automatisée du système FileSystem sur (Linux) Server
  • Suppression sécurisée des files sur Linux Journaled Filesystem
  • Accélération de la création d'un directory / binding de files
  • La meilleure façon d'empêcher le remplissage du système racine lorsqu'un assembly échoue?
  • Alternative au robocopy / MIR
  • Rangez plusieurs versions de gros files binarys avec une duplication de données minimale (de preference Linux)
  • Rsync prend 8 heures et plus pour sauvegarder des files 15M +
  • Sauvegarde incrémentielle du système de files - idéalement sans time d'arrêt pour le site Web
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.