ISCSI Digests & vSphere

Que tal gente, el día de hoy vamos a hablar de iscsi digest , esta capacidad del protocolo iscsi nos permite la prevención de errores en los datos enviados a través de este protocolo utilizando el algoritmo CRC32 . Tenemos que tener en cuenta que para que esta capacidad funcione ambos lados tanto el almacenamiento (iscsi target) y nuestros hosts ESX (iscsi initiator) tienen que tenerla habilitada, ya que esta prevención de errores es bi-direccional.

Con esta capacidad activada se identifican los PDUs (Protocol Data Unit’s) que en este caso son datos ya que el protocolo iscsi reside en la capa 5 del modelo OSI, una vez que se identificaron los paquetes corruptos estos no son aceptados y se necesita hacer una re-transmisión de los mismos.

Esta prevención de errores o verificación de la integridad en los paquetes es adicional a otras medidas de verificación de los paquetes que se tienen el el protocolo TCP/IP.

vSphere 4.1 tiene la capacidad de utilizar dos tipos de iscsi digest:

  • Header Digest: la verificación de los datos se hace al nivel de la cabecera del PDU.
  • Data Digest: la verificación se realiza directamente en los datos contenidos en el paquete de información.

Al igual que todos los mecanismos de verificación de integridad de cualquier protocolo estos “digests”  requieren ciclos de cpu para realizarse por lo cual causan un impacto al performance, en el caso de servidores basados en arquitectura Nehalem de intel esto se ve reducido ya que este tipo de procesadores tienen instrucciones especificas para el cálculo del algoritmo CRC32.

Bueno se estaran preguntando como habilitamos esta función en nuestros servidores ESX. Para habilitarlo ingresamos a nuestros servidores utilizando nuestro vSphere client  y vamos a Configuration> Storage Adapters , una vez en dicha sección seleccionamos nuestro adaptador de ISCSI  y damos click en “properties”:

Esto nos abrirá la ventana de propiedades de dicho adaptador, ahí tendremos un botón de “advanced…”  damos click sobre dicho botón y se nos abrirá de nuevo una ventana de “advanced settings” donde ya podremos configurar este parámetro. Se tienen 4 opciones:

  • Prohibited (opción default)
  • Discouraged
  • Preferred
  • Required

Tenemos que recordar que estas opciones tienen que ser consistentes con nuestro almacenamiento ya que  al inicio de la  comunicación de iscsi es cuando se negocian estos parámetros entre el iniciador y el target.

Leave a Reply