LIO (destino SCSI)
|
|
LIO Linux SCSI Target
|
|
Autor (es) original | Nicholas Bellinger Jerome Martin |
---|---|
Desarrollador (s) | Datera, Inc. |
Versión inicial | 14 de enero de 2011 |
Versión estable | 4.1.0 / 30 de junio de 2013 |
El adelanto del lanzamiento | 4.2.0-RC5 / 28 de junio de 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
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
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
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
- ^ La versión de distribución donde LIO figuró primero.
- ^ 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
- ^ "Target". Linux-iscsi.org. 23 / 10 / 2012. 25 / 12 / 2012.
- ^ Eric Harney (17 / 12 / 2012). "LIO de apoyo como un backend iSCSI". launchpad.net. 14 / 01 / 2013.
- ^ IBM, Red Hat (febrero de 2013). "KVM virtualizado Performance de I/O".
- ^ Linus Torvalds (2011-01-15). «Fusión de trivial». lkml.org. 2011-03-07.
- ^ Thorsten Leemhuis (2011-03-02). "Registro del núcleo: entrando 2.6.38 (parte 4) - almacenamiento". Heise en línea.
- ^ "Un cuento de dos objetivos SCSI". LWN.net. 2014-01-20.
- ^ 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
- ^ Comité técnico T10. "Interfaces SCSI Storage". T10.org. 24 / 12 / 2012.
- ^ Manual de referencia de comandos SCSI (PDF). 100293068, el reverendo C. Scotts Valley: Seagate Technology. Abril de 2010. 25 / 12 / 2012.
- ^ Ralph Weber (2011-01-17). "Principales comandos SCSI - 4 (SPC-4)". T10.org. 2011-03-07.
- ^ LIO Linux SCSI Target (23 / 12 / 2012). "VAAI". Linux-iscsi.org. 25 / 12 / 2012.
- ^ Jonathan Corbet (24 / 08 / 2005). "Configfs - una introducción". LWN.net. 2011-03-07.
- ^ "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.
- ^ 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.
- ^ "Página de inicio de T11". T11.org. 25 / 12 / 2012.
- ^ "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.
- ^ "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.
- ^ 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.
- ^ "Cómo usar y solucionar problemas de modo de disco FireWire blanco". Apple.com. 24 / 12 / 2012.
- ^ 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.
- ^ Linus Torvalds (2011-07-27). «fusión de iSCSI». lkml.org. 14 / 12 / 2012.
- ^ H. shah et al (octubre de 2007). "Colocación de datos directos sobre transportes confiables". RFC 5041.
- ^ Linus Torvalds (30 / 04 / 2013). "Rama merge ' para-siguiente-merge'". lkml.org. 2013-07-07.
- ^ Linus Torvalds (2012-01-18). «Fusión de InfiniBand/SRP». lkml.org. 24 / 12 / 2012.
- ^ "Rama merge ' usb-blanco-merge'". Torvalds/Linux-2.6.git. 24 / 12 / 2012.
- ^ a b LIO Linux SCSI Target (2012-12-09). "Targetcli". Linux-iscsi.org. 25 / 12 / 2012.
- ^ Jerome Martin (03-08-2011). "Rtslib del paquete". daterainc.com. 25 / 12 / 2012.
- ^ "Capítulo 6. Almacenamiento". Access.redhat.com. 2014-01-20.
- ^ 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.
- ^ "RTS y la GPL". LWN.net. 2014-01-20.
- ^ "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.
Cronología LIO | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Lanzamiento | Detalles | 2011 | 2012 | 2013 | 2014 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ||||||||||
4.x | Versión | 4.1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Característica | Base blanco | Loopback | FCoE | iSCSI | Perf | SRP |
WQ CM | FC USB 1393 |
vHost | Perf | Misc | GFC 16 | iSER | Misc | VAAI | Misc | DIF De ref NPIV |
iSER DIF | |||||||||||||||||||||||||||||||||||||||
Linux | 2.6.38 | 2.6.39 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6 | 3.7 | 3.8 | 3.9 | 3.10 | 3.11 | 3.12 | 3.13 | 3.14 | 3.15 |
|
|
Otras Páginas
- Sistemas de comunicacion vehicular (redireccion de comunicacion Car2Car)
- Continuo (revista)
- Enfermedad celiaca
- Stichting Pensioenfonds ABP (redireccion de inversiones ABP)
- Prestamo de entrega
- Ley de naturalizacion de 1790
- Sistema de compensacion alternativa
- Liquidacion de deudas
- Equivalente anual premium
- Dieter Fenske
- Psion Teklogix
- Front office
- WPRZ