Il problema
Su un server CentOS/RHEL 6, tutti gli accessi hanno iniziato a non riuscire al sistema con i seguenti errori:
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
Anche le applicazioni e l'istanza del databasea sul server hanno iniziato a non funzionare.
La soluzione
Questo può accadere se il file si trova nella directory /dev/shm vengono rimossi. Quando si tenta di liberare spazio trovando file di grandi dimensioni da rimuovere in /root e /tmp, potremmo anche rimuovere involontariamente file in /tmp/shm. /dev/shm (noto anche come tmpfs) è un file system utilizzato per la memoria condivisa tra sistemi o processi utente. tmpfs utilizza la memoria virtuale, anziché accedere all'archiviazione su disco, offrendo miglioramenti significativi delle prestazioni ed è gestito dal kernel Linux.
Se tmpfs contiene file eliminati manualmente da esso, può influire sul sistema in esecuzione o sui processi e servizi dell'utente che non possono più accedere al contenuto della memoria condivisa che stavano utilizzando e può quindi causare errori del sistema o dell'applicazione.
tmpfs non è destinato all'archiviazione a lungo termine e non dovrebbe essere necessario modificarlo o alterarlo manualmente dagli utenti. In questo caso, la rimozione dei file da tmpfs ha causato il fallimento dell'assegnazione dei terminali agli utenti che tentavano di accedere al sistema, quindi è diventato impossibile per qualsiasi utente accedere al sistema. Alcuni file utilizzati anche dalle istanze dei database sono stati rimossi, causando il fallimento dei database e delle applicazioni.
Poiché tmpfs utilizza la memoria virtuale per l'archiviazione dei file, il contenuto di tmpfs non persiste tra i riavvii e il contenuto di tmpfs viene generato di recente ogni volta che un sistema viene riavviato. Per risolvere questo problema, riavvia/reimposta il sistema.