Lun (objeto)
[A partir de Windows 8 y Windows Server 2012, la interfaz COM del servicio de disco virtual se sustituye por la API de administración de almacenamiento de Windows.]
Un objeto LUN (número de unidad lógica) modela una unidad lógica de espacio de almacenamiento direccionable creado por un proveedor de hardware y que expone un subsistema. Cada LUN consta de al menos un lun plex, que a su vez se compone de extensiones de una o varias unidades.
Tipos de LUN
VDS admite cinco tipos de LUN: simple, distribuido, seccionado, reflejado y seccionado con paridad. Los LUN simples, distribuidos y seccionados son tolerantes a errores; los LUN reflejados y paridad son tolerantes a errores. En el resto de esta sección se describe cada uno de los tipos de LUN de VDS.
- Un LUN simple es un LUN tolerante a errores que se compone de una sola extensión de unidad contigua desde una sola unidad. La extensión contigua puede incluir un único intervalo de bloques o varios intervalos de bloques vinculados.
- Un LUN distribuido es un LUN no tolerante a errores que se compone de varias extensiones desuso de varias unidades. Los datos se escriben linealmente en cada una de las extensiones de la primera unidad hasta que se rellenan todas las extensiones de la primera unidad y, a continuación, en cada una de las extensiones de la segunda unidad, etc. Los LUN distribuidos proporcionan un uso eficaz del espacio de unidad en subsistemas que constan de unidades de varios tamaños.
- Un LUN seccionado es un LUN tolerante a errores formado por varias extensiones contiguas y intercaladas de varias unidades. Los LUN seccionados usan una configuración RAID-0, de modo que los datos se "seccionan" cíclicamente en las extensiones de las unidades de contribución. Los LUN seccionados funcionan mejor con unidades del mismo tamaño, modelo y fabricante.
- Los LUN reflejados son LUN tolerantes a errores que proporcionan recuperación ante desastres duplicando los datos en varios plexos lun. Cada plex de un LUN reflejado contiene una copia de los datos almacenados en el plex original. Cada uno de los plexos reside en una unidad independiente. Todos los datos escritos en un LUN reflejado se escriben simultáneamente en cada uno de sus plexos. Si se produce un error en una de las unidades de contribución, el plex en esa unidad deja de estar disponible, pero el sistema sigue funcionando con los plex o plexes no afectados. Un LUN reflejado puede tener cualquier número de plexos.
- Los LUN seccionados con paridad son LUN tolerantes a errores que proporcionan recuperación ante desastres mediante la fragmentación intermitente de los datos de paridad entre tres o más unidades. Si se produce un error en una de las unidades de contribución, los datos perdidos se pueden volver a crear a partir de los datos restantes y la paridad.
Creación de LUN
VDS admite cuatro modelos mediante los cuales las aplicaciones pueden crear LUN: dirigidas explícitamente, dirigidas parcialmente, automagic y específicas del proveedor. Todos los proveedores de hardware deben admitir la creación de LUN explícita y parcialmente dirigida, y se recomienda encarecidamente que admita la creación de LUN automagic. (La creación de LUN específica del proveedor está fuera del ámbito de esta guía).
La creación de LUN dirigida explícitamente permite al autor de la llamada especificar todos los atributos del LUN. La creación de LUN parcialmente dirigida permite al autor de la llamada especificar solo los atributos que son de interés particular y, a continuación, permite al proveedor elegir el resto. La creación de LUN automática implica permitir que el autor de la llamada simplemente especifique el tipo y el tamaño de LUN junto con un conjunto de "sugerencias automáticas" (preferencias predefinidas para los atributos lun) y, a continuación, permitir que el proveedor cree el LUN automáticamente.
Enmascaramiento de LUN
VDS admite la desenmasificación de LUN para subsistemas que ofrecen esta funcionalidad. Todos los LUN se exponen al equipo en el que se ejecuta el proveedor. La desenmascarada de LUN permite que un autor de llamada "desenmascare" los LUN seleccionados en otros equipos de la red. Si desenmasca un LUN en un equipo, el equipo tiene acceso al LUN. Los equipos para los que un LUN está enmascarado no lo hacen.
Un LUN sin máscara expone las interfaces IVdsLun e IVdsDisk al host local. Puede usar IVdsDisk para agregar un LUN a un paquete de proveedor de software, crear y quitar volúmenes, asignar letras de unidad, etc. Para obtener más información sobre las operaciones realizadas en un disco, vea El objeto Disk.
Después de desenmascarar un LUN en una máquina de destino o enmascararse desde una máquina de destino, es posible que la visibilidad del LUN en esa máquina no cambie hasta que se realice un nuevo examen de bus. La aplicación VDS en la máquina de destino inicia el nuevo examen del bus mediante una llamada a IVdsService::Reenumerate. El inicio del examen de bus es responsabilidad de la aplicación VDS, no del proveedor de hardware.
Rutas múltiples de LUN
Los proveedores de hardware que admiten E/S de múltiples rutas (MPIO) pueden establecer directivas de equilibrio de carga en rutas de acceso entre un LUN y el host local. Los LUN que admiten esta funcionalidad exponen la interfaz IVdsLunMpio al host local.
Trabajar con LUN
Use el método IVdsSubSystem::CreateLun para crear un nuevo objeto LUN. Puede consultar los LUN que expone un subsistema específico invocando el método QueryLuns , también expuesto por IVdsSubSystem. Un llamador puede obtener un puntero a un LUN específico seleccionando el objeto LUN deseado en la enumeración devuelta por QueryLuns. Con un objeto LUN, puede establecer el estado de LUN; consultar todos los controladores activos, plexos y sugerencias de automagic; extender y reducir el LUN; agregar y quitar plexos; establecer máscaras; aplicar sugerencias; y elimine el LUN.
Además de un identificador de objeto, un nombre y un número de serie, las propiedades del objeto LUN incluyen el tipo de LUN, el tamaño, el estado, el estado, el estado de la transición y las marcas; una lista de desenmascarado; y una configuración de prioridad de recompilación.
En la tabla siguiente se enumeran las interfaces, enumeraciones y estructuras relacionadas.
Tipo | Elemento |
---|---|
Interfaces que siempre están expuestas por este objeto | IVdsLun |
Interfaces expuestas siempre por este objeto en proveedores de canal de fibra VDS 1.1 y 2.0 solo | IVdsLunControllerPorts |
Interfaces expuestas siempre por este objeto en proveedores iSCSI de VDS 1.1 y 2.0 solo | IVdsLunIscsi |
Interfaces que este objeto puede exponer* |
IVdsMaintenance, IVdsLunMpio, IVdsLunNaming e IVdsLunNumberWindows Server 2008, Windows Vista y Windows Server 2003: No se admite la interfaz IVdsLunNumber . |
Enumeraciones asociadas | VDS_LUN_FLAG y VDS_LUN_STATUS, y VDS_LUN_TYPE |
Estructuras asociadas | VDS_LUN_INFORMATION, VDS_LUN_PROP y VDS_LUN_NOTIFICATION |
* Vea Objeto de disco para obtener una interfaz adicional (IVdsDisk) que se expone si el LUN está desenmascarado como un disco en el equipo host local.