I miei server Xen sono openSUSE 11.1 con open-iscsi per il nostro cluster SAN iSCSI. I moduli SAN si trovano in un gruppo di failover IP dietro un IP virtuale a cui si connettono gli iniziatori.
Nel caso in cui il server SAN primario non funzioni, il secondario assume il ruolo di servire come destinazione. Tutto questo è gestito dal software SAN / iQ LeftHand e funziona bene nella maggior parte delle situazioni.
Il problema che ho è che occasionalmente alcuni dei miei DomU Xen avranno il loro filesystem di root andare in sola lettura dopo un failover IP. Non è coerente e si verifica in un sottoinsieme diverso ogni volta che si verifica un failover. Stanno tutti eseguendo la stessa immagine del software openSUSE 11.1.
I filesystem di root per ogni DomU sono montati da open-iscsi in Dom0 e quindi Xen utilizza il driver di dispositivo a blocchi standard per esporlo a DomU.
Il sintomo esatto è che come root come in esecuzione touch /test
restituisce l'errore "filesystem di sola lettura". Tuttavia, l'output di lo mount
mostra come montato in lettura-scrittura. Naturalmente, anche tutti gli altri I / O sulla domU non funzionano in questo momento, quindi la macchina si arresta. Il semplice riavvio xm
da Dom0 senza nemmeno ricollegare la sessione iSCSI fa funzionare di nuovo tutto.
Sul lato Dom0 i messaggi syslog durante il failover sono simili ai seguenti:
kernel: connection1:0: iscsi: detected conn error (1011)
iscsid: Kernel reported iSCSI connection 1:0 error (1011) state (3)
iscsid: connection1:0 is operational after recovery (1 attempts)
Sto facendo fatica a capire a quale livello eseguire il debug di questo problema, è qualcosa nel kernel DomU? o a livello di Dom0 o Xen? Penso che ci sia probabilmente qualche parametro da qualche parte che ha bisogno di modifiche per aumentare una sorta di timeout, ma non sono sicuro dove cercare.
Non penso davvero che sia un problema con open-iscsi semplicemente perché il dispositivo a blocchi collegato è ancora leggibile e scrivibile da Dom0.