Un dispositivo SCSI puede tener varios números de unidad lógica o LUN. Una unidad de cinta o cdrom sofisticada puede tener varios LUN. Estos nombres de dispositivos son esencialmente la puerta de entrada al controlador del kernel y pueden ofrecer características ligeramente diferentes para una aplicación específica. También hay unidades lógicas que se asignan a diferentes dispositivos físicos. Además del número de unidad lógica, los dispositivos SCSI se pueden asignar a una unidad lógica. Los controladores SCSI del kernel también verifican el estado de los HBA. El orden en que se verifican es completamente aleatorio, por lo que no tiene control sobre él. Los adaptadores ISA más antiguos requieren que los controladores se verifiquen en un orden determinado. Cuando se detecta un dispositivo SCSI, se crea una estructura de dispositivo. A continuación, el nombre del dispositivo se asocia con el ioctl. Si no se encuentra este dispositivo, el kernel generará un error EINVAL.

¿Qué son los dispositivos SCSI?

SCSI significa Interfaz de sistema de computadora pequeña. Es una interfaz que puede agregar hasta 15 dispositivos periféricos a una computadora. Estos dispositivos pueden incluir discos duros, escáneres, impresoras u otros periféricos. Hay cuatro tipos diferentes de dispositivos SCSI. Los dispositivos SCSI también se denominan SCSI conectado en serie. En Linux, los dispositivos SCSI son compatibles con el sistema operativo. Estos dispositivos deben admitir los cuatro comandos.

¿Qué son los dispositivos SCSI?¿Dónde está el dispositivo SCSI en Linux?¿Qué es un ejemplo de SCSI?¿Por qué se usa SCSI?¿Cuáles son los diferentes tipos de SCSI?¿Cuántos dispositivos admite SCSI?¿Cuál es la diferencia entre SCSI e IDE?

Se puede acceder a los dispositivos SCSI a través de dos modos: directo y mmap. Direct IO permite que los datos sean directamente DMA desde un controlador de nivel inferior. mmap-ed IO es más lento, pero más rápido, y requiere menos recursos de CPU. Sin embargo, tiene algunos inconvenientes. Para usar E/S mapeada en memoria, el controlador no debe intentar intercambiar páginas en la aplicación del usuario. La forma más común de identificar dispositivos SCSI en Linux es leer los dispositivos del sistema de archivos /proc. El directorio /dev/sda contiene una lista de dispositivos SCSI reconocidos. Estos dispositivos están numerados según el tipo y están etiquetados como /dev/sda, sdb y sdc. Si hay varios SCSI HBA, cada uno se incrementa y se trata como un dispositivo.

¿Dónde está el dispositivo SCSI en Linux?

Para determinar la ID SCSI de un dispositivo SCSI, use el directorio /proc/scsi/scsi. Este directorio es análogo al directorio /proc/ide/ en Windows. Aquí encontrará una lista de todos los dispositivos SCSI conectados a su sistema. Cada entrada contiene la identificación del dispositivo, el nombre del modelo, el proveedor y el canal SCSI. Si tiene varios dispositivos SCSI, use la opción -l para generar sus atributos en pares iguales. Para determinar el nombre de un dispositivo SCSI, primero debe determinar su tipo. El comando SCSI tiene dos partes: el comando SCSI WRITE y el comando SCSI GET. Este comando envía un comando al dispositivo al solicitarlo. Si el dispositivo es un disco duro o una unidad de cinta, el controlador sg es responsable de enviar los datos con el comando. El controlador sg es un controlador de nivel inferior, a menudo llamado “adaptador”. Si el comando SCSI no se envía correctamente, devolverá un error de estado del host a la aplicación del usuario. La interfaz SCSI le permite agregar hasta 15 dispositivos periféricos adicionales a su computadora. Los dispositivos que son compatibles con esta interfaz son discos duros, escáneres, impresoras y otros periféricos. El subsistema Linux SCSI tiene una capa inferior y almacena controladores para cada dispositivo de hardware. También es una interfaz basada en paquetes, por lo que puede conectar varios dispositivos simultáneamente. Además, puede admitir hasta tres puertos USB.

¿Qué es el ejemplo de SCSI?

Se puede encontrar un ejemplo de SCSI en muchas aplicaciones. Un ejemplo es un sistema de archivos que se puede utilizar para transferir datos de un sistema a otro. El siguiente ejemplo muestra el proceso. El iniciador envía el comando al destino. El objetivo luego decodifica el comando y devuelve los datos. El iniciador luego envía el comando de detección de solicitud al objetivo y recibe los datos de detección. Los comandos SCSI se basan en el modelo de un sistema SCSI. El conjunto de comandos tiene diferentes comandos, y los más utilizados se enumeran en la Tabla 1. Básicamente, todos los comandos SCSI comienzan con un código de operación, que indica qué tipo de operación está realizando el comando. El último byte está reservado para información específica del proveedor. El controlador SCSI genérico se utiliza para otros fines. SCSI es un bus inteligente y está controlado por un microprocesador. Un solo dispositivo SCSI puede abordar hasta 15 dispositivos periféricos, como discos duros, escáneres, impresoras, unidades de CD-ROM y unidades de cinta. Cada dispositivo en un bus SCSI tiene una ID SCSI, que se usa para direccionarlo e identificarlo. Un solo dispositivo puede tener varios LUN, mientras que un dispositivo más complejo puede tener más de uno.

¿Por qué se utiliza SCSI?

El subsistema SCSI tiene tres niveles: el nivel superior, el nivel inferior y el hardware subyacente. Las operaciones SCSI las realiza un solo controlador en cada uno de estos tres niveles: el controlador sd, el nivel medio SCSI y el controlador aic7xxx. El nivel medio define las interfaces entre los niveles superior e inferior y proporciona servicios comunes a los controladores de nivel superior e inferior. Mientras tanto, los controladores de nivel inferior brindan una serie de servicios útiles. SCSI tiene un nivel de abstracción extremadamente alto, siendo un protocolo de comando que abstrae los dispositivos de almacenamiento modernos. Linux tiene un controlador scsi especializado para manejar una amplia gama de hardware de almacenamiento. El conjunto de comandos scsi se utiliza para la interfaz de paquetes ATA, la clase de almacenamiento masivo USB y FireWire SBP-2. Sin embargo, no es sólo SCSI lo que se usa en Linux.

¿Cuáles son los diferentes tipos de SCSI?

Los comandos SCSI se describen en un conjunto de palabras estandarizadas denominadas bloque descriptor de comandos (CDB). Describen las operaciones que puede realizar un dispositivo SCSI. Los comandos SCSI se pueden dividir en dos tipos: comandos de datos, que transfieren datos, y comandos que no son de datos, que cambian los parámetros de configuración. Los comandos más comunes se enumeran en la Tabla 1. El primer byte de cualquier comando SCSI se denomina código de operación. El segundo byte es un byte de control, que indica si el comando es específico del proveedor o genérico. Los controladores SCSI deben estar habilitados en un sistema Linux para poder detectar dispositivos SCSI. Para habilitar la compatibilidad con SCSI, instale el módulo kernel SCSI y ejecute el comando make xconfig. Encontrará el módulo kernel SCSI en Soporte SCSI. Si ve un dispositivo SCSI, asegúrese de configurarlo correctamente. Puede utilizar dispositivos SCSI como discos duros y unidades de cinta. Además, hay varios dispositivos que funcionan con Linux, incluidos dispositivos de almacenamiento USB, versiones de puertos paralelos de unidades IOMEGA ZIP y Fibre Channel.

¿Cuántos dispositivos puede admitir SCSI?

La respuesta a la pregunta “¿Cuántos dispositivos admite SCSI en Linux?” depende del tipo de controlador SCSI y del número de dispositivos SCSI conectados al controlador. Los dispositivos SCSI suelen tener varias unidades lógicas cada uno. Cada unidad lógica tiene una dirección específica, pero un solo dispositivo puede abarcar varias unidades lógicas. Por ejemplo, un controlador SCSI puede direccionar hasta 15 números de identificación. Algunos controladores SCSI admiten hasta siete dispositivos, incluidos discos duros SCSI y unidades de cinta SCSI. El disco duro SCSI normalmente se establece en SCSI ID 0. Para obtener más información, consulte la Tabla B-1 para conocer los controladores y módulos de controlador SCSI compatibles. Una vez que haya identificado el controlador apropiado, cargue el módulo de controlador apropiado ejecutando /sbin/modprobe modname. El modname hace referencia al nombre del módulo del controlador SCSI. El controlador SCSI proporciona información sobre las velocidades de transferencia a los dispositivos conectados. También indica el tamaño de los archivos leídos y escritos. También es posible especificar múltiples iniciadores en un solo bus. Linux no es compatible con esta función, pero la admite a través de parches. Si tiene varios dispositivos, debe consultar lo siguiente. También puede intentar instalar el kernel más reciente. De esa forma, podrá utilizar tantos dispositivos SCSI como desee.

¿Cuál es la diferencia entre SCSI e IDE?

La principal diferencia entre las unidades IDE y SCSI es el tipo de interfaz. Las unidades IDE se pueden instalar directamente en la placa base, pero las unidades SCSI requieren una tarjeta de expansión de interfaz. Las unidades IDE requieren más recursos en la computadora y, por lo general, son más lentas que las SCSI. Las unidades IDE son más económicas, pero no admiten programas ni software de alto rendimiento. Si planea actualizar su computadora, asegúrese de que el tipo de unidad sea compatible con el sistema operativo. SCSI es una interfaz de mayor velocidad que se desarrolló anteriormente. A diferencia de IDE, tiene circuitos integrados que controlan el flujo de información. SCSI es mejor para sistemas de alto rendimiento. También fue la primera interfaz compatible con matrices RAID, lo que aumentó la velocidad y la confiabilidad. En Linux, los controladores IDE están integrados en las placas base y se pueden configurar para conectar hasta cuatro discos duros.