Meus servidores Xen são o openSUSE 11.1 com open-iscsi no nosso cluster SAN iSCSI. Os módulos SAN estão em um grupo de failover de IP atrás de um IP virtual ao qual os iniciadores se conectam.
No caso de o servidor SAN principal ficar inativo, o secundário assume a função de servir como destino. Tudo isso é tratado pelo software LeftHand SAN / iQ e funciona bem na maioria das situações.
O problema que tenho é que, ocasionalmente, algumas das minhas Xen DomUs terão seu sistema de arquivos raiz somente para leitura após um failover de IP. Não é consistente e acontece com um subconjunto diferente cada vez que ocorre um failover. Todos eles estão executando a mesma imagem do software openSUSE 11.1.
Os sistemas de arquivos raiz para cada DomU são montados pelo open-iscsi no Dom0 e, em seguida, o Xen usa o driver de dispositivo de bloco padrão para expô-lo ao DomU.
O sintoma exato é que, como raiz, a execução touch /test
retorna o erro "sistema de arquivos somente leitura". No entanto, a saída de mount
mostra como sendo montado de leitura e gravação. Obviamente, todas as outras E / S na domU também estão falhando neste momento, portanto a máquina cai com dificuldade. Simplesmente reiniciá-lo a xm
partir do Dom0 sem sequer reconectar a sessão iSCSI faz com que tudo funcione novamente.
No lado do Dom0, as mensagens do syslog durante o failover são algo como o seguinte:
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)
Estou tendo dificuldade para descobrir em que camada depurar esse problema, é algo no kernel do DomU? ou no nível Dom0 ou Xen? Eu acho que provavelmente existe algum parâmetro em algum lugar que precisa de ajustes para aumentar algum tipo de tempo limite, mas não sei ao certo onde procurar.
Eu realmente não acho que seja um problema com o open-iscsi simplesmente porque o dispositivo de bloco conectado ainda é legível e gravável no Dom0.