What’s New in vSphere 6.0: Content Library
VMware has finally officially announced what is to be included in vSphere 6.0 after lifting the lid on parts of the update during VMworld 2014 keynotes and sessions.
See my introductory post: What’s New in vSphere 6.0: Finally Announced (about time!) for details of all the components.
Content Library is a planned new addition to vSphere 6.0 which was talked about for the first time in a session at VMworld. Content Library is a way to centrally store VM templates, vApps, ISO images and scripts.
This content can can be synchronised across sites and vCenters. Synchronised content allows you to more easily deploy workloads at scale that are consistent. Having consistent content is easier to automate against, will be easier to keep things in compliance and make an admin’s life more efficient.
Content Library provides basic versioning of files in this release and has a publish and subscribe mechanism to replicate content between local and remote VCs which by default is synchronised every night. Changes to descriptions, tags and other metadata will not trigger a version change. There is no de-dupe at the content library level but storage arrays may do that behind the scenes.
Content library can also sync between vCenter and vCloud Director.
The content itself is stored either in vSphere Datastores or actually preferably on a local vCenter file system since the contents are then stored in a compressed format. A local file system is presented directly to the vCenter Servers, for a Windows VC it can be another drive or folder added but for the vCenter Appliance the preferred approach is to mount a NFS share directly to your vCenter appliance. This may mean you need to amend your storage networking as many installations have segregated storage networks which are directly accessible by hosts to store VMs but not by vCenter.
There are a number of ways to populate your content library. VMs and vApps can be cloned directly to your content library and are stored as OVFs. .OVA file format is not supported in this release. VM Templates can also be cloned to folders in your Content Library again stored as .OVFs. Scripts and .ISOs can be uploaded but unfortunately .ISOs can’t be directly mounted to a VM via the Content Library which is a pity as this would be great functionality, perhaps something that could be added as the Content Library is enhances in future versions.
Once you have content in your library, templates for example can be deployed directly to a host or cluster or to a Virtual Datacenter.
Previously you were able to directly convert a template to a VM, update it and then convert it back. With Content Library it would require extra copies as VMs are stored as .OVF in the library. You would need to deploy a VM out of the template, make the changes to it and then export it back to an .OVF to the same library item. In place changes to the .OVF are not currently supported which is a shame.
For the synching and replication there is a publish and subscribe process. You create a Content Library and then publish it. You then go to your secondary vCenter and subscribe to the published library. You can also choose to synchronise just the meta-data which is then replicated between your subscribed vCenters. When you deploy a VM or other content is needed, the content is then downloaded. By default the library is synced every day and you can limit sync bandwidth if you need to. You can however force download by right clicking on items (individually or multi-select) and selecting “Synchronise Now”. Only updated files will be replicated so if you have two disks and only one is changed, then only the changed disk file is replicated.
In this release of vSphere you can have 10 libraries up to 64 TB in size, with a total of 256 library items and it will use HTTPS as the replication protocol. The numbers will increase in future releases possibly also adding some more replication protocol options.Content Library is a great addition, hopefully it gets built out with further functionality to allow directly mounting .ISOs