VDS, VSS y Snapshots

En una reunión el pasado viernes con Jorge, de NetApp, además de aprender muchas cosas en poco tiempo, recordé un tema que tenia pendiente hace algún tiempo; intentar aclarar en pocas palabras que es esto de Virtual Disk Service (VDS), Volume Shadow Copy Services (VSS) y su relación con las tan traídas y llevadas instantáneas, omnipresentes hoy en el mundo de las copias de seguridad y estrategias de recuperación ante desastres.

El Virtual Disk Service entró por primera vez en escena en Windows Server 2003 para resolver un problema clásico en la gestión del almacenamiento en Windows. Se trataba de ofrecer a las aplicaciones de una interfaz única para manejar discos y volúmenes, independiente del hardware que fuese finalmente responsable de las mismas, por lo general, sistemas SAN (Storage Area Network). La idea es que el fabricante del almacenamiento ofrece in "VDS hardware provider" para su hardware, y por otro lado, pueden escribirse aplicaciones de gestión del almacenamiento multi-fabricante, llamando a un único conjunto de APIs. Esta es la arquitectura de la solución:

VDS

Como puede observarse, en el propio sistema operativo ya se incluyen tanto herramientas de gestión del almacenamiento (DiskPart, DiskRAID y el propio Administrador de Discos) como dos "Software Providers" que son los que nos permiten crear discos básicos o dinámicos. Otro buen ejemplo de aplicación que se basa en VDS y en los "Hardware Providers" correspondientes a nuestra solución de almacenamiento es la MMC de Storage Manager for SANs (Administrador de Almacenamiento para redes SAN, presente en Windows Server 2003 R2 y Windows Server 2008) que nos permite llevar a cabo tareas básicas de administración y aprovisionamiento de estos entornos sin tener que usar herramientas específicas del fabricante. Todo esto y mucho más está muy bien descrito detalladamente en What Is Virtual Disk Service? y How Virtual Disk Service Works.

Por otro lado, los Volume Shadow Copy Services se introdujeron para resolver parte del problema clásico de la copia de seguridad de ficheros que estaban en uso por las ampliaciones encargadas de almacenar datos en ellos. Siempre ha habido software con la capacidad de sacar una copia de un fichero abierto, pero otra cosa es muy distinta es hacerlo asegurando que la información que hemos almacenado en la copia está en un estado consistente y que podrá ser utilizada con posterioridad. VSS nos permite por tanto extraer instantáneas o copias en el tiempo de determinada información, y para ello requiere de diferentes componentes:

VSS

Por un lado, el "Requestor", o aplicación que solicitará la extracción de la instantánea, que será típicamente una solución de copia de seguridad. Por otro lado, un "VSS Writer" específico contiene toda la lógica y conocimiento de cómo se debe extraer esa instantánea para una aplicación en particular. Un gran número de aplicaciones y servicios para Windows incluyen un VSS Writer, como son el caso del propio Sistema Operativo, los servicios de Directorio Activo, Exchange, SQL, Sharepoint, ISA, Virtual Server y un largo etcétera, en el que se encuentra, como no, Hyper-V. Por último tendremos diferentes "providers" hardware y software que se encargaran de gestionar el almacenamiento físico que está detrás de los volúmenes de donde se sacan las instantáneas y en el que se almacenan. De nuevo, todo esto, y lo que sucede detalladamente cuando se saca una instantánea, está descrito en What Is Volume Shadow Copy Service? y How Volume Shadow Copy Service Works.

Gran parte de las funcionalidades avanzadas que ofrece el software especializado de copia de seguridad para sistemas y productos Windows, y también las equivalentes que ofrecen los fabricantes de sistemas de almacenamiento están basados en el uso combinado de las funcionalidades de VDS y VSS. Es importante por tanto preocuparse de tener correctamente instalados y configurados los correspondientes "hardware providers" de nuestras cabinas para poder hacer uso de las facilidades que estos servicios nos ofrecen a la hora de gestionar y automatizar las operaciones del almacenamiento y de las copias de seguridad mediante instantáneas de los productos Windows que corren en nuestros servidores. Es decir, tener disponibles todas las piezas de este cuadrito:

clip_image002

De todo esto hay un documento muy recomendable para acabar de tener claro el funcionamiento y la potencia de todo esto:

Saludos

David Cervigón