LIO (destino SCSI)

Ir a: navegación, búsqueda de
LIO blanco
LIO Target - targetcli screenshot.png
LIO Linux SCSI Target
Autor (es) original Nicholas Bellinger
Jerome Martin
Desarrollador (s) Datera, Inc.
Versión inicial 14 de enero de 2011(2011-01-14)
Versión estable 4.1.0 / 30 de junio de 2013(30 / 06 / 2013)
El adelanto del lanzamiento 4.2.0-RC5 / 28 de junio de 2012;
hace 2 años
(28 / 06 / 2012)
Estado de desarrollo Producción
Escrito en C, Python
Sistema operativo Linux
Disponible en C, Python
Tipo Almacenamiento en bloque
Licencia Licencia Pública General de GNU
Sitio web Linux-iscsi.org

En computación, Linux-IO (LIO) blanco es una implementación open-source de la Destino SCSI que se ha convertido en el estándar que se incluye en el Kernel de Linux.[1][mejor fuente necesitado] Como tal, LIO no iniciar las sesiones, sino que ofrece una o más Números de unidad lógica (Lun), espera comandos SCSI de un Iniciador de SCSIy realiza transferencias de datos de entrada/salida requerida.

LIO es compatible con telas comunes de almacenamiento, incluyendo FCoE, Fibre Channel, IEEE 1394, iSCSI, iSCSI para RDMA extensiones (iSER), SCSI RDMA Protocol (SRP) y USB. Se incluye en la mayoría Distribuciones de Linux. Soporte nativo para LIO en QEMU/KVM, libvirt, y OpenStack LIO hace también una opción de almacenamiento para las implementaciones de nube.[2]

LIO es mantenida por Datera, Inc., un Silicon Valley proveedor de sistemas de almacenamiento y software. LIO se ha utilizado para lograr un rendimiento de almacenamiento sin precedentes.[3]

El 15 de enero de 2011, Linus Torvalds combinó el motor blanco LIO SCSI en Linux kernel versión 2.6.38,[4][5] que fue lanzado el 14 de marzo de 2011. Tela adicional módulos se han fusionado en posteriores versiones Linux.

Es un competencia módulo de destino SCSI genérico para Linux CETS.[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]

Contenido

  • 1 Fondo
  • 2 Arquitectura
    • 2.1 Destino SCSI
    • 2.2 Backstores
    • 2.3 Módulos de tela
      • 2.3.1 FCoE
      • 2.3.2 Fibre Channel
      • 2.3.3 IEEE 1394
      • 2.3.4 iSCSI
      • 2.3.5 iSER
      • 2.3.6 SRP
      • 2.3.7 USB
    • 2.4 targetcli
  • 3 Distribuciones de Linux
  • 4 Controversia
  • 5 Véase también
  • 6 Notas
  • 7 Referencias
  • 8 Enlaces externos

Fondo

El SCSI estándar proporciona una abstracción semántica extensible para almacenamiento de datos informáticos dispositivos y como tal se ha convertido en un "lingua franca"para sistemas de almacenamiento de datos. Los estándares SCSI T10[8] definir la comandos[9] y protocolos del procesador de comandos SCSI (enviado SCSI CDBs) y las interfaces eléctricas y ópticas para implementaciones diferentes.

A Iniciador de SCSI es el punto final que inicia un SCSI período de sesiones. A Destino SCSI es el punto final que espera para comandos de iniciador y ejecuta la necesaria ENTRADA-SALIDA transferencias de datos. El objetivo de SCSI exporta generalmente uno o más LUNs para los iniciadores a operar.

El objetivo de LIO Linux SCSI implementa un destino SCSI genérico que proporciona acceso remoto a más tipos de dispositivos de almacenamiento de datos de todos los tejidos de almacenamiento prevalente y protocolos. LIO ni acceda directamente a datos ni se comunican directamente con las aplicaciones. LIO proporciona una abstracción altamente eficiente, independiente de la tela y tela transparente para la semántica de numerosos tipos de dispositivos de almacenamiento de datos.

Arquitectura

Arquitectura LIO

LIO implementa una arquitectura modular y extensible alrededor de un versátil y motor de procesamiento de comandos SCSI paralelo, altamente eficiente. El motor de destino SCSI implementa la semántica de un objetivo de SCSI.

El motor de destino SCSI LIO es independiente de módulos específicos de tela o tipos de presentación. Por lo tanto, LIO apoya mezclar y combinar cualquier número de telas y backstores al mismo tiempo. El motor de destino SCSI LIO implementa una amplia SPC-3/SPC-4[10] funciones con soporte para características de gama alta, incluyendo SCSI-3/SCSI-4 Reservas persistentes (PRs), SCSI-4 Asignación unidad lógica asimétrica (ALUA), VMware vSphere API para la integración de la matriz (VAAI),[11] T10 DIF, etc..

LIO es configurable vía un configfs-base[12] núcleo API y puede ser administrada mediante una interfaz de línea de comandos y API (targetcli).

Destino SCSI

El concepto de un destino SCSI no está estrictamente limitado a dispositivos físicos en un bus SCSI, sino que ofrece un modelo generalizado para todos los receptores en una lógica tela SCSI. Esto incluye sesiones de SCSI a través interconexiones con ningún bus SCSI físico en absoluto. Conceptualmente, el destino SCSI proporciona un servicio de almacenamiento de bloque genérico o servidor en este escenario.

Backstores

Backstores proporcionan el destino SCSI con acceso generalizado a los dispositivos de almacenamiento de datos importándolos mediante controladores de dispositivo correspondiente. Backstores no necesita ser físicos dispositivos SCSI.

Los tipos de medios de comunicación más importantes de presentación son:

  • Bloque:: El bloque controlador permite utilizando dispositivos de bloque raw Linux como backstores para la exportación vía LIO. Esto incluye dispositivos físicos, tales como Unidades de disco duro, SSD, CD ' s/DVD ' s, Discos RAM, etc. y dispositivos lógicos, tales como software o hardware RAID volúmenes o LVM volúmenes.
  • Archivo:: El archivo de controlador permite la utilización de archivos que pueden residir en cualquier Linux sistema de archivos o sistema de archivos en clúster como backstores para la exportación vía LIO.
  • Crudo:: El crudo controlador permite utilizar memoria no estructurado como backstores para la exportación vía LIO.

Como resultado, LIO proporciona un modelo generalizado para exportar almacenamiento en bloque.

Módulos de tela

Módulos de tela para implementar el frontend del destino SCSI de encapsulación y abstracción de las propiedades de la interconexión apoyada diversos. Los siguientes módulos de tela están disponibles.

FCoE

Almacenamiento combinado y red de área local

El Fibre Channel sobre Ethernet Módulo de tela (FCoE) permite el transporte de Fibre Channel tráfico a través de protocolo (FCP) Ethernet Lossless redes. La especificación, apoyada por un gran número de proveedores de red y almacenamiento de información, es parte del Comité técnico T11 FC-BB-5 estándar.[13]

LIO es compatible con todas las NIC Ethernet estándar.

El módulo de tela FCoE fue aportado por Cisco y Intely con Linux 3.0 en libertad el 21 de julio de 2011.[14]

Fibre Channel

Fibre Channel es una tecnología de red de alta velocidad que se utiliza principalmente para el almacenamiento de redes. Está estandarizada en la T11 Comité técnico[15] del Comité Internacional de normas de tecnología de información (INCITS).

El QLogic Módulo de tela Fibre Channel soporta 4 - y 8-Gigabit velocidades con los HBAs siguientes:

  • QLogic 2400 Series (QLx246x), 4GFC
  • QLogic 2500 Series (QLE256x), 8GFC (totalmente qual sería)

El módulo de tela Fibre Channel[16] y controlador de bajo nivel[17] (LLD) fueron liberados con Linux 3.5 el 21 de julio de 2012.[18]

Con Linux 3.9, también admiten las siguientes CNAs y HBAs QLogic:

  • QLogic 2600 Series (QLE266x), 16GFC, SR-IOV
  • QLogic 8300 Series (QLE834x), 16GFS/10 GbE, PCIe Gen3 SR-IOV
  • QLogic 8100 Series (QLE81xx), 8GFC/10 GbE, PCIe Gen2

Esto hace que el primer objetivo de código abierto para apoyar 16 gigabit Fibre Channel LIO.

IEEE 1394

LIO Firewire blanco para Mac OS X

El módulo de tela FireWire SBP-2 permite Linux para dispositivos de almacenamiento local mediante la exportación IEEE 1394, para que otros sistemas pueden montarlas como un dispositivo de almacenamiento ordinario de IEEE 1394.

IEEE 1394 es un bus serie estándar para comunicaciones de alta velocidad y transferencia isócrona datos en tiempo real. Fue desarrollado por Apple como "FireWire" en la década de 1980 y principios de los noventa, y Macintosh los equipos han apoyado "Modo de disco FireWire objetivo" desde 1999.[19]

El módulo de tela FireWire SBP-2 fue lanzado con Linux 3.5 el 21 de julio de 2012.[18][20]

iSCSI

El Interfaz estándar de equipos pequeños Internet (iSCSI) módulo de tela permite el transporte de tráfico SCSI a través de redes IP estándar.

Realizando sesiones de SCSI a través de redes IP, iSCSI se utiliza para facilitar las transferencias de datos sobre intranets y para administrar el almacenamiento de información a largas distancias. iSCSI puede usarse para transmitir datos sobre redes de área local (LAN), redes de área extensa (WAN), o por Internet y puede permitir el almacenamiento de datos independientes de la ubicación y localización-transparente y recuperación.

El módulo de tela LIO iSCSI también implementa una serie de características avanzadas iSCSI que aumentan el rendimiento y resistencia, tales como Múltiples conexiones por sesión (MC/S) y Niveles de recuperación de errores 0-2 (ERL = 0, 1, 2).

LIO es compatible con todas las NIC Ethernet estándar.

El iSCSI módulo de tela fue liberado con Linux 3.1 el 24 de octubre de 2011.[21]

iSER

El iSCSI para RDMA extensiones módulo de tela (iSER) permite el transporte de iSCSI tráfico a través de RDMA redes.

iSER permite datos a ser transferidos directamente dentro y fuera de control remoto SCSI los búferes de memoria de computadora sin datos intermedios copia)Ubicación de datos directa o DDP)[22] mediante el uso de RDMA. RDMA es compatible con InfiniBand redes, "mejora" (EthernetDCB) redes vía RDMA sobre Ethernet convergente (RoCE) y en las redes Ethernet estándar con iWARP mejorado DEDO DEL PIE MK 1.

El módulo de tela iSER fue desarrollado juntos por Datera y Mellanox Technologiesy con Linux 3.10 en libertad el 30 de junio de 2013.[23]

SRP

El SCSI RDMA Protocol Módulo de tela (SRP) permite el transporte de tráfico SCSI a través de redes RDMA (véase arriba). A partir de 2013, SRP es más ampliamente utilizado que iSER, aunque es más limitada, como SCSI es sólo un protocolo peer-to-peer, considerando que es plenamente enrutable iSCSI.

El módulo de tela SRP admite los siguientes Mellanox adaptadores de canal de host (HCAs):

  • VPI Mellanox ConnectX-2 PCIe Gen2 HCAs (x 8 carriles), single/doble puerto QDR 40 Gbit/s
  • Mellanox ConnectX-3 VPI PCIe Gen3 HCAs (x 8 carriles), single/doble puerto FDR 56 Gbit/s
  • Mellanox ConnectX-IB PCIe Gen3 HCAs (x 16 pistas), single/doble puerto FDR 56 Gbit/s

El módulo de tela SRP fue liberado con Linux 3.3 el 18 de marzo de 2012.[24]

En 2012, c ' t revista mide casi 5000 MB/s throughput con LIO SRP blanco sobre un puerto Mellanox ConnectX-3 en 56 modo FDR Gbit/s en un Sandy Bridge PCI Express sistema 3.0 con cuatro Fusion-IO tarjetas de memoria flash PCI Express ioDrive.

USB

El Gadget USB tela módulo permite Linux exportar dispositivos de almacenamiento local mediante la Bus serie universal (USB), así que otros sistemas pueden montar como un dispositivo de almacenamiento ordinario.

USB fue diseñado en los mid-1990s para estandarizar la conexión de periféricos de ordenadory también se ha vuelto común para dispositivos de almacenamiento de datos.

El módulo de tela Gadget USB fue liberado con Linux 3.5 el 21 de julio de 2012.[25]

targetcli

targetcli es un espacio de usuario de nodo Administración interfaz de línea de comandos (CLI) para LIO.[26] Soporta todos los módulos de tela y se basa en una arquitectura modular y extensible, con módulos plug-in para módulos de tela adicional o funcionalidad.

targetcli proporciona una CLI que usa una biblioteca genérica objetivo subyacente a través de una API definida. Así la CLI fácilmente puede ser sustituida o complementada por una interfaz de usuario con otras metáforas, como una GUI.

targetcli se implementa en Python y consta de tres módulos principales:

  • el subyacente rtslib y de API.[27]
  • el configshell, que encapsula los atributos específicos de tejido en los correspondientes archivos de 'espec'.
  • el targetcli cáscara de sí mismo.

Instrucciones detalladas sobre cómo establecer objetivos LIO pueden encontrarse en el wiki de LIO.[26]

Distribuciones de Linux

targetcli y LIO se incluyen en la mayoría de las distribuciones de Linux por defecto. Aquí está un resumen sobre los más populares, junto con las fechas de inclusión inicial:

Distribución Versión[a] Lanzamiento Archivo Instalación Fuente git Documentación
Alpine Linux 2.5 2011-11-07 Alpine Linux mirror APK añadir targetcli-fb targetcli-fb.git How-to
CentOS 6.2 2011-12-20 Espejo de centOS su - c 'yum install fcoe-blanco-utils' targetcli-fb.git Notas técnicas
Debian 7.0 ("sibilancias") 2013-05-04 Piscina de Debian su - c 'apt-get install targetcli' targetcli.git LIO Wiki
Fedora 16 2011-11-08 Fedora Rawhide su - c 'yum install targetcli' targetcli-fb.git Objetivo Wiki
openSUSE 12.1 2011-11-08 Requiere instalación manual de Datera targetcli.git Repos.
RHEL[b] 6.2 2011-11-16 Fedora Rawhide su - c 'yum install fcoe-blanco-utils' targetcli-fb.git Notas técnicas
Scientific Linux 6.2 2012-02-16 Espejo SL su - c 'yum install fcoe-blanco-utils' targetcli-fb.git Notas técnicas
SLES 11 SP3 SR. 2013-12 - su -c 'zypper en targetcli' targetcli.git LIO Wiki
Ubuntu PrecisePangolin v12 26 / 04 / 2012 Universo de Ubuntu sudo apt-get install targetcli targetcli.git LIO Wiki

Controversia

RedHat técnico en almacenamiento Andy Grover había acusado Rising Tide sistemas (RTS) de retener algún código fuente relacionados con LIO para el sistema patentado de la RTS, RTS OS. Grover dice este código fuente, que incluye soporte para EXTENDED_COPY y COMPARE_AND_WRITE Comandos SCSI, probablemente no está disponible bajo y con licencia GPL; RTS lo negó.[29][30][31] Sin embargo, el apoyo a esos dos comandos se ha presentado posteriormente por RTS para su inclusión en la versión 3.12 del kernel de Linux.[citación necesitada]

Véase también

  • Fibre Channel
  • Fibre Channel sobre Ethernet (FCoE)
  • IEEE 1394 / Firewire
  • InfiniBand
  • iSCSI
  • iSCSI para RDMA extensiones (iSER)
  • SCSI RDMA Protocol (SRP)
  • USB

Notas

  1. ^ La versión de distribución donde LIO figuró primero.
  2. ^ RHEL 6 había incluido LIO, pero fue el valor por defecto sólo para objetivos de FCoE, mientras STGT se utilizó para iSCSI. En RHEL 7 beta, LIO es el predeterminado para FCoE, iSCSI y Mellanox InfiniBand iSER/SRP.[28]

Referencias

  1. ^ "Target". Linux-iscsi.org. 23 / 10 / 2012. 25 / 12 / 2012.
  2. ^ Eric Harney (17 / 12 / 2012). "LIO de apoyo como un backend iSCSI". launchpad.net. 14 / 01 / 2013.
  3. ^ IBM, Red Hat (febrero de 2013). "KVM virtualizado Performance de I/O".
  4. ^ Linus Torvalds (2011-01-15). «Fusión de trivial». lkml.org. 2011-03-07.
  5. ^ Thorsten Leemhuis (2011-03-02). "Registro del núcleo: entrando 2.6.38 (parte 4) - almacenamiento". Heise en línea.
  6. ^ "Un cuento de dos objetivos SCSI". LWN.net. 2014-01-20.
  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. ^ Comité técnico T10. "Interfaces SCSI Storage". T10.org. 24 / 12 / 2012.
  9. ^ Manual de referencia de comandos SCSI (PDF). 100293068, el reverendo C. Scotts Valley: Seagate Technology. Abril de 2010. 25 / 12 / 2012.
  10. ^ Ralph Weber (2011-01-17). "Principales comandos SCSI - 4 (SPC-4)". T10.org. 2011-03-07.
  11. ^ LIO Linux SCSI Target (23 / 12 / 2012). "VAAI". Linux-iscsi.org. 25 / 12 / 2012.
  12. ^ Jonathan Corbet (24 / 08 / 2005). "Configfs - una introducción". LWN.net. 2011-03-07.
  13. ^ "Fibre Channel: columna vertebral - 5 revisión 2,00" (PDF). American National Standard for Information Technology Comité Internacional de normas de tecnología de información Grupo Técnico T11. 04 de junio de 2009. 2011-05-05.
  14. ^ Linus Torvalds (2011-04-18). "[SCSI] tcm_fc: FC_FC4 agregar proveedor (tcm_fc) para FCoE blanco (TCM - núcleo blanco) admite". Torvalds/Linux-2.6.git. 24 / 12 / 2012.
  15. ^ "Página de inicio de T11". T11.org. 25 / 12 / 2012.
  16. ^ "Linus Torvalds" (15 / 05 / 2012). "[SCSI] tcm_qla2xxx: Añadir > = 24xx serie tela módulo de núcleo objetivo". Torvalds/Linux-2.6.git. 2012-05-22.
  17. ^ "Linus Torvalds" (15 / 05 / 2012). "[SCSI] qla2xxx: infraestructura de modo objetivo añadir LLD para > = serie 24xx". Torvalds/Linux-2.6.git. 2012-05-22.
  18. ^ a b Thorsten Leemhuis (2012-07-03). "Kernel Log: viene en 3.5 (parte 2) - sistemas de archivos y almacenamiento". Heise en línea. 14 / 01 / 2013.
  19. ^ "Cómo usar y solucionar problemas de modo de disco FireWire blanco". Apple.com. 24 / 12 / 2012.
  20. ^ Linus Torvalds (15 / 04 / 2012). "sbp-objetivo: fusión inicial de compatibilidad con el modo firewire/ieee-1394 blanco". Torvalds/Linux-2.6.git. 24 / 12 / 2012.
  21. ^ Linus Torvalds (2011-07-27). «fusión de iSCSI». lkml.org. 14 / 12 / 2012.
  22. ^ H. shah et al (octubre de 2007). "Colocación de datos directos sobre transportes confiables". RFC 5041.
  23. ^ Linus Torvalds (30 / 04 / 2013). "Rama merge ' para-siguiente-merge'". lkml.org. 2013-07-07.
  24. ^ Linus Torvalds (2012-01-18). «Fusión de InfiniBand/SRP». lkml.org. 24 / 12 / 2012.
  25. ^ "Rama merge ' usb-blanco-merge'". Torvalds/Linux-2.6.git. 24 / 12 / 2012.
  26. ^ a b LIO Linux SCSI Target (2012-12-09). "Targetcli". Linux-iscsi.org. 25 / 12 / 2012.
  27. ^ Jerome Martin (03-08-2011). "Rtslib del paquete". daterainc.com. 25 / 12 / 2012.
  28. ^ "Capítulo 6. Almacenamiento". Access.redhat.com. 2014-01-20.
  29. ^ Nick Farrell (15-11-2012). "Peleas de Red Hat con Rising Tide sistemas - herejía y violación de los cargos GPL | TechEye". News.Techeye.net. 2014-01-20.
  30. ^ "RTS y la GPL". LWN.net. 2014-01-20.
  31. ^ "Red Hat Developer exige código fuente competidor - Slashdot". Linux.Slashdot.org. 2014-01-20.

Enlaces externos

  • Sitio web oficial
  • Datera sitio web
  • Video RTS OS VAAI. YouTube.
  • RTS Director video. YouTube.

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=lio _ (SCSI_target) & oldid = 637456218"