Pack (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 pack modela un grupo de discos, una colección de discos y volúmenes administrados por el proveedor de software básico o dinámico. Un proveedor puede contener varios objetos pack.
Con la API, las aplicaciones pueden dirigir VDS para agregar uno o varios discos a un paquete, enlazar los discos a volúmenes y, opcionalmente, mover los discos como una unidad entre hosts. No se puede importar un volumen existente en un paquete.
Nota
La pertenencia a un paquete no implica coherencia entre los discos con respecto al rendimiento, los medios, el protocolo de interconexión u otras características.
Los objetos de disco no están asignados y se administran mediante VDS, o son miembros de exactamente un paquete. El proveedor de software básico puede tener cero o más paquetes, cada uno de los cuales contiene un único disco básico. El proveedor no impone límites al número de volúmenes en un disco básico. El proveedor dinámico puede tener cero o más paquetes con varios discos dinámicos en cada paquete. Este proveedor limita el número de volúmenes en un disco, en función del tamaño de un megabyte de la base de datos del administrador de discos lógicos (LDM). Dado que un volumen tiene al menos un plex y una extensión de disco, el número máximo de volúmenes a un paquete es de aproximadamente 1000. El número máximo deja de funcionar a medida que aumenta el número de discos.
Además de los objetos de disco, un paquete puede contener uno o varios objetos LUN implementados por uno o varios proveedores de hardware. En el kernel de Windows, un LUN es solo otro disco. (Los objetos LUN deben desenmascararse en el equipo que ejecuta el programa de proveedor). Cuando el disco es un LUN, el objeto LUN expone las interfaces IVdsLun e IVdsDisk . Un objeto pack usa IVdsDisk, en lugar de IVdsLun, para enumerar los LUN de un paquete. Para obtener una descripción más detallada de un LUN, consulte el objeto LUN.
En la ilustración siguiente se muestra un paquete con dos miembros: un disco y un LUN. Una aplicación puede agregar estos objetos a un paquete en línea y crear un volumen a partir de las extensiones de disco y unidad subyacentes representadas por ejes.
Use el método IVdsSwProvider::CreatePack para crear un nuevo objeto pack. Los autores de llamadas pueden obtener un puntero a un paquete específico seleccionando el objeto de paquete deseado en la enumeración devuelta por el método IVdsSwProvider:: QueryPacks . Con un objeto pack, puede agregar, quitar o reemplazar los miembros de un paquete. Al agregar un objeto de disco a un paquete, VDS inicializa un disco para desenlace todos los volúmenes existentes. Por el contrario, un LUN conserva todos los detalles de enlace cuando se agrega a un paquete. Si quita el último disco de un paquete, VDS elimina el objeto pack cuando el autor de la llamada libera la última referencia al objeto .
Las propiedades del objeto incluyen un identificador de objeto, un nombre, un estado del paquete y marcas. Un paquete en línea está disponible para la configuración y el uso, un paquete sin conexión no está disponible. VDS admite cualquier número de paquetes en línea y sin conexión.
Windows Server 2003: Solo admite un paquete en línea a la vez.
VDS aplica un cuórum de discos en línea dentro de un paquete. El cuórum determina si un paquete puede tener un estado en línea e impide que varios hosts concedan un estado en línea al mismo paquete. Si el número de discos en línea de un paquete está por debajo del cuórum (n/2 + 1), VDS desconectará el paquete en línea.
En la tabla siguiente se enumeran las interfaces, enumeraciones y estructuras relacionadas.
Tipo | Elemento |
---|---|
Interfaces expuestas siempre por este objeto | IVdsPack e IVdsPack2*. |
Enumeraciones asociadas | VDS_PACK_FLAG y VDS_PACK_STATUS. |
Estructuras asociadas | VDS_PACK_PROP y VDS_PACK_NOTIFICATION. |
*Windows Server 2003: Esta interfaz no se admite hasta Windows Vista.