Mis servidores Xen son openSUSE 11.1 con open-iscsi en nuestro clúster SAN iSCSI. Los módulos SAN están en un grupo de conmutación por error de IP detrás de una IP virtual a la que se conectan los iniciadores.
En el caso de que el servidor SAN primario se caiga, el secundario toma la función de servir como objetivo. Todo esto lo maneja el software LeftHand SAN / iQ y funciona bien en la mayoría de las situaciones.
El problema que tengo es que, ocasionalmente, algunas de mis Xen DomU tendrán su sistema de archivos raíz de solo lectura después de una conmutación por error de IP. No es coherente y le sucede a un subconjunto diferente cada vez que se produce una conmutación por error. Todos ejecutan la misma imagen de software openSUSE 11.1.
Los sistemas de archivos raíz para cada DomU están montados por open-iscsi en Dom0 y luego Xen usa el controlador de dispositivo de bloque estándar para exponerlo a DomU.
El síntoma exacto es que, como root como en ejecución, touch /test
devuelve el error "sistema de archivos de solo lectura". Sin embargo, la salida de mount
muestra que está montado como lectura-escritura. Por supuesto, todas las demás E / S en domU también están fallando en este momento, por lo que la máquina se cae con fuerza. Simplemente reiniciarlo xm
desde Dom0 sin siquiera volver a conectar la sesión iSCSI hace que todo vuelva a funcionar.
En el lado Dom0, los mensajes de syslog durante la conmutación por error son similares a los siguientes:
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)
Me está costando entender en qué capa depurar este problema, ¿hay algo en el núcleo de DomU? o en el nivel Dom0 o Xen? Creo que es probable que haya algún parámetro en algún lugar que necesite ajustes para aumentar algún tipo de tiempo de espera, pero no estoy seguro de dónde buscar.
Realmente no creo que sea un problema con open-iscsi simplemente porque el dispositivo de bloque conectado aún se puede leer y escribir desde Dom0.
Esto suena como un problema con el iniciador iSCSI ejecutándose en dom0. El iniciador no debería enviar fallas SCSI a la pila tan rápido. Probablemente desee configurar ConnFailTimeout en iscsi.conf, esta es la configuración que determina cuánto tiempo antes de considerar un error de conexión un error y lo envía a la pila SCSI.
También analizaría cuánto tiempo lleva realmente esa conmutación por error, puede tardar más de lo esperado. Si es así, tal vez la conmutación por error VIP tarde demasiado debido a problemas relacionados con ARP.
fuente
¿Hay algún mensaje en dom0 que indique algún tipo de error de lectura / escritura o error scsi en el momento de la conmutación por error? Si es así, parece que este error de escritura se pasa a domU. DomU no "sabe" que es un dispositivo iSCSI, por lo que se comporta como si el disco subyacente se hubiera ido y vuelva a montar el sistema de archivos de solo lectura (consulte la página de manual de mount (1) -
errors=continue / errors=remount-ro / errors=panic
)Desde la perspectiva de dom0, no se cambiará a solo lectura: este comportamiento de solo lectura es un sistema de archivos semántico, no un dispositivo de bloque semántico.
Usted menciona que "todas las demás E / S están fallando" en este momento, ¿se refiere a domU o dom0?
Por lo general, cuando configuro una solución iSCSI de HA, utilizo múltiples rutas en lugar de una toma de posesión de IP virtual: permite una mayor visibilidad para el host y no tiene una sesión iSCSI que desaparece repentinamente y luego necesita reiniciarse; siempre está ahí, solo hay dos . ¿Es esta una opción en este entorno?
fuente
Um ... Parte del problema también es que no estás ejecutando / como RO. Las mejores prácticas de seguridad indican que debe tener "/" montado ro, y que cualquier sistema de archivos que necesite rw debe montarse por separado (es decir, / var y / tmp). Si hay directorios en / etc que necesitan escritura, se deben mover a / var / etc / path y enlazarlos a / etc.
"/" solo debe montarse RW en modo de usuario único.
La configuración de esta manera podría evitar la falla predeterminada en la situación anterior cuando se combina con las otras sugerencias.
fuente