CETS

Ir a: navegación, búsqueda de
CETS
Sourceforge-scst-project-logo.gif
Versión estable 3.0 / 19 de septiembre de 2014(19 / 09 / 2014)
Sistema operativo GNU/Linux
Tipo Almacenamiento en bloque
Licencia Licencia Pública General de GNU
Sitio web https://scst.sourceforge.net/

CETS es un GPL con licencia Destino SCSI pila de software. Los objetivos del diseño de esta pila de software son de alto rendimiento, alta fiabilidad, estricta conformidad existentes SCSI normas, ser fácil de usar y fácil de extender. CETS no sólo soporta múltiples (protocolos) SCSIiSCSI, FC, SRP, ...) Pero también es compatible con múltiples interfaces de almacenamiento local (pass-through de SCSI, bloque E/S y E/S de archivos) y también controladores de almacenamiento implementados en espacio de usuario mediante el controlador scst_user.

Para lograr máximo rendimiento CETS se ha implementado como un conjunto de controladores de kernel. CETS se combinan a menudo con RAID, Deduplicación o Cluster de alta disponibilidad software para aumentar su funcionalidad. La pila de software CETS es el software de base de muchos SAN sistemas.[1] Con sistemas SAN basados en CETS se han establecido varios récords mundiales.[2][3][4][5]

CETS compite con LIO blanco para el mismo propósito de proveer un módulo de destino SCSI genérico dentro del núcleo de Linux.[6] Para el propósito más estrecho proporcionando un Linux destino iSCSI, los módulos vamos y STGT mayores también disfrutan de apoyo de la industria.[7]

CETS ahora es desarrollada principalmente por SanDisk personal, después de Fusion-io adquirido en 2013 la puesta en marcha ID7 que inicialmente desarrollado CETS[8][9][10] y después SanDisk adquirido Fusion-io en el año 2014.[11]

Contenido

  • 1 Arquitectura
  • 2 Historia
  • 3 Véase también
  • 4 Referencias
  • 5 Enlaces externos

Arquitectura

Arquitectura CETS

CETS consta de tres grupos de módulos:

  • El núcleo del CETS, un motor independiente del protocolo para el procesamiento de comandos SCSI.
  • Los controladores de destino que reciban comandos SCSI de un iniciador de SCSI, pasar estos SCSI al núcleo CETS y enviar respuestas posteriores al iniciador.
  • Controladores de almacenamiento también conocido como los controladores de dispositivo que interactúan con el medio de almacenamiento. Las interfaces de almacenamiento local compatibles son SCSI, dispositivo de bloque, archivo y scst_user. scst_user es un protocolo de CETS específico que permite una implementación eficiente de controladores de almacenamiento en espacio de usuario.

Configuración de todos estos módulos ocurre vía una Sysfs interfaz. Aunque la configuración directa de CETS vía su Sysfs interfaz es conveniente, la herramienta llamada scstadmin permite controlar CETS mediante su interfaz sysfs y también para guardar y restaurar la configuración del CETS.

Los siguientes aspectos de diseño ayudan a CETS para alcanzar el alto rendimiento de por que este proyecto se caracteriza:

  • El número de hilos por dispositivo de almacenamiento que procesa los comandos SCSI es configurable.
  • Todo blanco conductor y función del controlador de almacenamiento invocado por el núcleo CETS es asíncronas, al menos cuando el kernel de Linux lo permite. Por ejemplo no cabe todavía realizar E/S asincrónica o directa de dentro del núcleo de Linux.[12]
  • Uno Máquina de Estados finitos se asocia con cada comando SCSI. Esto permite que un subproceso único comando procesar simultáneamente varios comandos SCSI.
  • Incluso cuando se utiliza múltiples hilos por dispositivo de almacenamiento todos estos hilos comparten al mismo planificador de I/O. Este intercambio mejora el rendimiento considerablemente cuando se utiliza por ejemplo la CFQ Planificador de I/O.
  • Un alijo de vector de dispersión. Esta caché evita tener que asignar memoria a través del núcleo para cada comando SCSI.
  • Sin bloqueo acceso a ciertas estructuras de datos necesarios para procesar comandos SCSI. Esto también significa que I/O debe suspenderse antes de cualquiera de las estructuras de datos que se acceden sin bloqueo puede ser modificado.[13]
  • Comandos SCSI pueden presentarse por un controlador de destino a la base de la CETS del contexto softirq. Esto resulta en un menor número de cambios de contexto en comparación con tener que presentar los comandos SCSI del contexto del hilo de rosca.[14]

Historia

En el año 2000 un framework de destino SCSI fue desarrollado por el laboratorio de interoperabilidad de la Universidad de New Hampshire (UNH-IOL). Aunque sólo es compatible con la aplicación de destino SCSI UNH-IOL la iSCSI protocolo fue diseñado tal que soporte para otros protocolos de almacenamiento serían fáciles de añadir.[15]

En 2004 se anunció el proyecto CETS, proporcionando Fibre Channel y soporte de iSCSI. El objetivo inicial de iSCSI en CETS se basó en la aplicación de destino iSCSI UNH-IOL.[16]

En esa época una pila de software de destino iSCSI alternativo fue desarrollado por la empresa llamada Ardis Technologies.[17]

El objetivo de la empresa software, iSCSI anunciado en 2005, es una evolución de la pila de Ardis.[18][19]

Más tarde en 2005 Chelsio anunció un controlador de destino iSCSI CETS para la familia de adaptadores Ethernet Chelsio T2.[20]

En 2006 se agrega un controlador de destino para las tarjetas de LSI/MPT.[21] Más adelante en este año se añadió la herramienta scstadmin. Esta herramienta permite guardar y restaurar la configuración del CETS desde o hacia un archivo.[22]

En 2007 el parche UNH-IOL iSCSI target en el proyecto CETS fue reemplazado por un fork del IET.[23]

En 2008 un SRP controlador de destino fue donada por Mellanox.[24] Más adelante este controlador se ha optimizado por Bart Van Assche.[25]

En 2009 Marvell donó un controlador de destino para sus tarjetas de SAS.[26]

También en 2009 un controlador para Emulex destino Fibre Channel/FCoE Emulex anunció tarjetas adaptadoras.[27][28][29]

El mismo año una interfaz sysfs se ha agregado a la CETS junto a la interfaz procfs ya existente.

En 2010 un FCoE controlador de destino fue donado por Cisco[30] y Bart Van Assche portado el IBM System p Controlador de destino SCSI a CETS.[31]

En 2011 se agregó soporte ALUA implícito para el núcleo CETS y la herramienta de configuración de scstadmin.[32] Los tres guiones (CETS, iscsi-CETS y qla2x00t) se fusionaron en un script de inicio único, simplificando la instalación y gestión de CETS.

En 2013 se agregó soporte para de QLogic InfiniBand HCA en el controlador de destino SRP.[33]

En enero de 2014 Mellanox donó una implementación del controlador iSER blanco al proyecto CETS.[34]

En mayo de 2014 QLogic hizo un controlador de destino 16 Gbit/s de QLogic disponibles y también anunciado para apoderarse de manteniendo del controlador de destino CETS QLogic.[35]

Véase también

  • Fibre Channel
  • Fibre Channel sobre Ethernet (FCoE)
  • InfiniBand
  • iSCSI
  • SCSI RDMA Protocol (SRP)

Referencias

  1. ^ Bolkhovitin, Vladislav (20 de diciembre de 2012). "Los usuarios CETS".
  2. ^ Fusion-io (10 de mayo de 2013). "VMmark Cloud Computing récord mundial establecido con Cisco UCS y VMware Fusion-io".
  3. ^ Fusion-io (12 de septiembre de 2013). "HP logra dos nuevos #1 VMmark virtualización referentes con acelerador de iones datos".
  4. ^ HP (octubre de 2013). "HP alcanza récords para hoja de 2P y rendimiento de virtualización de servidores 2P de montaje en rack en benchmark VMmark 2.5.1".
  5. ^ Kaminario (04 de octubre de 2012). "El K2 como máximo 2 millones IOPS utilizando un sistema de almacenamiento único todo-Flash".
  6. ^ https://LWN.net/articles/424004/
  7. ^ Florian Haas "Replicar todo! ISCSI altamente disponible del almacenaje con DRBD y marcapasos", (Linux iSCSI: una sección de la historia de cuatro objetivos) Linux Journal Edición #217, de mayo de 2012
  8. ^ David Meyer (18 de marzo de 2013). "Fusion-io recoge la firma definida por software de almacenamiento ID7 CETS chuletas". GigaOM. 20 de julio 2014.
  9. ^ Kevin OBrien (18 de marzo de 2013). "Fusion-io adquiere ID7, desarrolladores de CETS". 20 de julio 2014.
  10. ^ "Fusion-io ID7 - acelerando el almacenamiento compartido con soluciones de Software definido". Fusion-io. 20 de julio 2014.
  11. ^ Jay Iyer (23 de julio de 2014). "SanDisk completa adquisición de Fusion-io". SanDisk.
  12. ^ Borde, Jake (03 de abril de 2012). "Almacenamiento 2012 Linux, sistema de archivos y memoria gestión Cumbre - día 1".
  13. ^ Van Assche, Bart (25 de diciembre de 2012). "Más detallado encerrando CETS".
  14. ^ Bolkhovitin, Vladislav; Van Assche, Bart (26 de septiembre de 2012). "CETS README".
  15. ^ Palekar, Ashish; Ganapathy, Narendran; Chadda, Anshul; Russell, Robert D. (2001). "Diseño e implementación de un objetivo de Linux SCSI para redes de área de almacenamiento". Actas de la Conferencia & 5th anual Linux Showcase (USENIX Association) 5:: 11 – 18.
  16. ^ Bolkhovitin, Vladislav. "Anunciar genéricos SCSI Target de nivel medio para Linux (CETS) con los controladores de destino".
  17. ^ Fujita, Tomonori; Masanori, Ogawara (2004). "Análisis de software iSCSI target". Actas de la jornadas internacionales de almacenamiento de red arquitectura y E/s paralelo (ACM): 25 – 32.
  18. ^ Fujita, Tomonori (01 de junio de 2004). "empresa destino iSCSI".
  19. ^ Fujita, Tomonori (01 de marzo de 2005). "Anunciar el software de destino iSCSI enterprise".
  20. ^ Smith, Randy (07 de septiembre de 2005). "Chelsio entrega Next-Generation iSCSI producto familia presentando avances en rendimiento y densidad de puertos". Chelsio.
  21. ^ Habbinga, Erik (13 de diciembre de 2006). "Controlador de destino LSI/MPT".
  22. ^ Buechler, marca R. (14 de noviembre de 2006). "Cometer scstadmin inicial".
  23. ^ Bolkhovitin, Vladislav (15 de agosto de 2007). "Cometer inicial iSCSI-CETS".
  24. ^ Pham, Vu (17 de mayo de 2008). "SRP inicial blanco conductor se comprometen".
  25. ^ Van Assche, Bart (20 de diciembre de 2010). "Parche 4/7 CETS: controlador de SRP Añadir destino".
  26. ^ Yan, Andi (14 de abril de 2009). "Controlador de destino para tarjetas de Marvell 88SE64xx(3G) y 88SE94xx(6G) SAS".
  27. ^ Bolkhovitin, Vladislav (08 de julio de 2009). «Controlador de destino CETS anuncian apoyo a adaptadores Emulex lpfc FC/FCoE».
  28. ^ Lane, Katherine (15 de septiembre de 2009). "SDK aporta mayor valor y oportunidad de mercado ampliado para los desarrolladores de solución de almacenamiento Data Center". Emulex.
  29. ^ "Fibre Channel TargetConnect ™ Linux Software Developer Kit (SDK) para aplicaciones en modo Target". Emulex. 15 de septiembre de 2009.
  30. ^ Eykholt, Joe (20 de febrero de 2010). "FCoE inicial blanco conductor se comprometen".
  31. ^ Van Assche, Bart (20 de diciembre de 2010). "Parche 5/7 ibmvstgt: Puerto de tgt CETS".
  32. ^ Van Assche, Bart (11 de mayo de 2011). "Parche CETS: agregar respaldo implícito de ALUA".
  33. ^ Van Assche, Bart (17 de marzo de 2013). "Parche ib_srpt: añadido soporte para de QLogic InfiniBand HCA".
  34. ^ Burman, Yan (21 de enero de 2014). "Parche 0/9 iSER apoyo CETS".
  35. ^ Grigsby, Duane (20 de mayo de 2014). "Ayuda a FCoE/FC HBA de QLogic 16G".

Enlaces externos

  • Enterprise Storage OS (ESOS) - un código abierto, alto rendimiento, plataforma de almacenamiento de nivel de bloque.
  • Bill Childers, OpenFiler: un aparato de almacenamiento de red de código abierto, Linux Journal issue 181, de mayo de 2009.
  • Errol Neal, ¿SSD, ZFS/bcache/EnhanceIO + CETS = matriz de almacenamiento híbrido?, ja-guru.com, 22 de julio de 2014.
  • Drivers para Emulex Linux, SourceForge.

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=SCST&oldid=629574844"