Le problème
Sur un serveur CentOS/RHEL 6, toutes les connexions ont commencé à échouer sur le système avec les erreurs suivantes :
Server refused to allocate pty /etc/profile: line 48: /dev/null: Permission denied /etc/profile: line 76: /dev/n ull: Permission denied /etc/profile: line 76: /dev/null: Permission denied /etc/pr ofile: line 76: /dev/null: Permission denied /etc/profile: line 76: /dev/null: Permission denied /etc/profile: line 76: /dev/null: Permission denied /etc/profile: line 76: /dev/null: Permission denied /etc/profile: line 76: /dev/null: Permission denied
Les applications et l'instance de base de données sur le serveur ont également commencé à échouer.
La solution
Cela peut arriver si le fichier sous le répertoire /dev/shm sont enlevés. Lorsque vous essayez de libérer de l'espace en trouvant des fichiers volumineux à supprimer dans /root et /tmp, nous pouvons également supprimer involontairement des fichiers sous /tmp/shm. /dev/shm (également connu sous le nom de tmpfs) est un système de fichiers utilisé pour la mémoire partagée entre les systèmes ou les processus utilisateur. tmpfs utilise la mémoire virtuelle plutôt que d'accéder au stockage sur disque, ce qui améliore considérablement les performances et est géré par le noyau Linux.
Si tmpfs contient des fichiers supprimés manuellement, cela peut avoir un impact sur le système en cours d'exécution ou sur les processus et services utilisateur qui ne peuvent plus accéder au contenu de la mémoire partagée qu'ils utilisaient, et cela peut donc entraîner des défaillances du système ou de l'application.
tmpfs n'est pas destiné au stockage à long terme, et il ne devrait pas être nécessaire de le modifier ou de le modifier manuellement par les utilisateurs. Dans ce cas, la suppression de fichiers de tmpfs a entraîné l'échec de l'attribution de terminaux aux utilisateurs essayant de se connecter au système, de sorte qu'il est devenu impossible pour les utilisateurs de se connecter au système. Certains fichiers qui étaient également utilisés par les instances de bases de données ont été supprimés, ce qui entraîne l'échec des bases de données et des applications.
Comme tmpfs utilise la mémoire virtuelle pour le stockage de fichiers, le contenu de tmpfs ne persiste pas entre les redémarrages et le contenu de tmpfs est fraîchement généré chaque fois qu'un système est redémarré. Pour résoudre ce problème, veuillez redémarrer/réinitialiser le système.