Come posso uscire da questa situazione in sicurezza?
I dettagli sono i seguenti:
Un server xen ha dispositivi a blocchi allocati alle macchine virtuali. Ma questi dispositivi sono stati montati anche all'interno di Xen.
Infatti 44 di questi dispositivi a blocchi sono stati montati in questo modo. A peggiorare le cose, ogni dispositivo fisico è visto su 4 percorsi e ognuno di essi è montato su un mountpoint separato. In altre parole, i dispositivi sono effettivamente montati 5 volte ciascuno.
Il SO guest VM vede il percorso tramite uno pseudo dispositivo PowerPath (allocato come dispositivo phy: block alla domU)
Alcuni dei dispositivi sono formattati come ext2 e reiserfs.
Non c'è bisogno di spiegarmi i rischi di corruzione del file system qui coinvolti.
Temo che anche solo smontare i file system possa causare la corruzione e ritengo che a questo punto trarre energia dall'host sia l'opzione più sicura .
Si noti che le applicazioni, i database Oracle per la maggior parte, in tutte le macchine virtuali sono ancora in esecuzione e in uso.
Ho scoperto questo quando ho studiato un elevato utilizzo della CPU su dom0. Esiste un processo "find" non verificabile, con cwd -> / media / disk-12 che è montato da / dev / sdf1, che appartiene a / dev / emcpowerr
Prima che qualcuno lo chieda, l'unica volta che ho visto i processi non possono essere uccisi e continuare a usare CPU e RAM (a differenza di un processo defunto / zombi), è quando ci sono I / O commessi in sospeso, ad es. Sincronizzazione restituita ma non fisicamente ancora su disco . Più comunemente ciò si verifica sull'I / O su nastro.
Suggerimenti !?
PS Mi sarei aspettato che i dispositivi fossero "riservati" una volta montati, per evitare questo tipo di cose? O non è possibile su Linux?
EDIT: in primo luogo sono convinto che KDE all'interno dell'hypervisor) sia il colpevole. Sembra che KDE stia montando i dispositivi possibili durante la registrazione per creare icone del desktop. La stessa cosa però non sta accadendo su altri server Xen, ma tutti gli altri server eseguono una versione molto più vecchia di SLES e KDE ... V4 sembra essere quello offensivo, con 3.4 che si comporta meglio).
Inoltre, due VM non critiche sono state bloccate. Dopo averli chiusi, non si riavvierebbero a causa della corruzione del file system. La VM principale / di produzione è ancora in esecuzione e il database su di essa funziona ancora, ma chiaramente questa è una bomba a orologeria. Il cliente sta tentando di ricostruire l'ambiente su un'altra macchina virtuale su un altro server ma è bloccato su problemi di configurazione di alcuni componenti, quindi stiamo aspettando ...
In ogni caso, sento che nessuna delle risposte è stata finora più di "la migliore pratica è sempre chiusa con garbo" E spero di ottenere qualcosa di più concreto ... In ogni caso, sento che questa situazione può giustificare un po 'più di attenzione pensiero. La chiusura causerà la sincronizzazione degli IO in sospeso, in particolare gli aggiornamenti dei metadati del file system dall'hypervisor, e la corruzione del file system potenzialmente maggiore?