Update: this article has been updated for vSphere 6.7U1.
I would like to write a small series on Content Libraries as I think they are handy and useful. I will start by saying that I sat in a few meetings about Content Libraries while at VMware R&D and it was something that was important to me as I know it was important to customers. This is in fact the second try that you might know about. VMware talked about it, and even had an alpha / beta of it, but it was not quite right and was not released. What was released with vSphere 6 is much more useful then what was envisioned in the far past and that is a darn good thing. But is it ready for common use yet – you may be surprised? Lets get started with it.
BTW, this article will be updated as we get more vSphere updates. As we get those updates I hope we get some goodness for Content Libraries (we have).
What is a Content Library?
A Content Library is a place to store templates, vApps, OVA / OVF, as well as other files. A Content Library (CL) can be local to one vC or subscribed across multiple vCenters. Even in a single vC environment it will provide value as a single place to store files, but in a multi – vCenter environment you will really be able to take advantage of a CL – think about it. One place to find a template, or a VA that you use often. This promotes consistency as well as better space management.
What does it look like?
In some ways it looks quite like you would expect. Meaning it is out of sight, until you need it – for the most part and then you only see a little for what you need. At least that is mostly true.
Working with a template that is stored in a Library?
You can create a VM from a template that is stored in the CL in a number of ways. You could go right into the CL and right click on the item and use it. But a more common or familiar way is to use the Action menu and select New Virtual Machine \ New VM from Library.
Which starts a wizard ….
And on the second screen of the wizard you see the ability to customize the OS.
So this works pretty good.
Since my Content Library is on inexpensive NAS it is slower then deploying from a template hosted on my nice storage, but it still works and is mostly the same as you are used too. So these two things are the main complaints I have had in the past on Content Libraries. Glad they are fixed!
How do I get a template into a Library?
You would start in the VMs and Templates view.
Now you right – click on the template and you will see some new options.
Use the Clone to Library option.
This is an interesting screen. Fill in the typical info, and pick your library. But note the two options at the bottom? There is not much info I can find on them in the docs. But they make more sense when you realize that inside the library the template is stored in .OVF format and those two options are about OVF. I think in a single vC environment there is not need for those options.
This will take longer then importing the ISO, but you can watch the status in the Recent Tasks – as seen above.
Working with an ISO from a Library
Lets start in the vSphere Web Client and assign a Win2K16 ISO to a VM.
We Edit Settings on this VM.
We select the Content Library ISO File option from the CD/DVD Option drop down list.
Next, select the appropriate ISO file.
One you select the right ISO and OK, you see ….
Make sure you have the Connected box checked.
If we look in the VM we will see the ISO.
So this works pretty easy and good!
How do I get an ISO into the Library?
We start at the Home page and access Content Libraries.
Once we see the list of Libraries – in our case only one so far called ISO.
We click on the Library (ISO) and we will be inside of it and see something like below.
We want to add an ISO that our users can use. So lets change to the Other Types area which makes more sense to add ISO to as compared to the Templates area where we are now.
Now that we are on the Other Types area we can use the Import button as seen above with the red arrow point at it. If using the HTML5 6.7 U1 client, you will find the import option under Actions.
I have selected in the screenshot above my Win2K16 ISO. I put some notes to help identify this ISO and we continue.
Before you know it we have an ISO in the library.
If you are curious what this ISO looks like in the storage location you can see below in the screenshot.
If you click on the Library item – in this almost empty library it is the Win2K16 ISO, you will see additional options. Or, if you clock on the Template tab there will be options like changing memory or CPU on the template.
BTW, there has been some industry chatter about only having templates and ISO type stuff in your library. Here is an example of that not being true.
I am uploading a cert to the library.
Install and configure of your first Content Library
You will need a vSphere 6, or later, environment to start with. It is nice how in vSphere 6 everything is installed, which means we do not need to install the CL but rather create one and configure it. If you need help upgrading to vSphere 6 check out this article I wrote as it will help, or this one for 6.7. You can find more info in the vSphere 6 docs in this section But,if you need 6.7 docs you can find them here.
Creating a Content Library
We start at the Home page as seen below.
As seen above there is a Content Libraries option – lets select it. If using the HTML5 client you will see something a little different.
Once selected we see the CL area but with no Libraries.
We can create our first CL by using the Create icon as indicated with the red arrow above. However, if we are in the HTML5 client it will look a little different, and will be a + sign as seen below.
We add a name, and a description, and continue.
We are now at an important screen.
We are creating a Local content library, and could decide to let other people use it now by selecting the Publish content library externally option. We can require a password if necessary. This is almost a 1.0 product so a single password is your choice, but I expect that to change in future versions. We are going to save the Subscribed content option for another article as it is a bit bigger subject! As I mentioned above we are doing the one vCenter option that I think many customers will start with.
Note: you can use the Publish content library externally option to connect to another content library inside your environment. Meaning if you have two (or more) vCenters in your environment you could have one CL you maintain, and it sync’s with the others. When you select Publish, you copy the URL it provides and when you create a new CL in a different vCenter environment you paste that URL in and you are good. You can download it all immediately or not and just have metadata. Works really good. Only gets complex when firewalls are in-between the environments.
So I have made the choices I need, and we continue.
What you can see here is that you can use a local file system or a datastore. The text on this screen is interesting. It sounds like to me if you wish to replicate the data you have in the CL you need to use a datastore. It also sounds like the use of datastore is optimized somehow (for cloning?) if you select a datastore. So I am using a datastore as you can see in the screen.
We see our summary and the Finish button. Once it is finished we can see something like below.
Now we have an empty library, we can start using it now, or we can advertise it with out users. I believe you will normally want to have one person or maybe one team, publishing to the library and have others consume.
You now know a lot more about Content Libraries – you can create them and move things up to them and consume as needed the content. You learned that there has been serious changes to Content Libraries and you can easily use them now for several things – not possible in the past – like deploy from template and using ISO.
Thanks for reading this far! As always I appreciate any comments or questions. I will keep this document current and update it as I learn more.
- 2/23/19 – Updated for the HTML5 client in vSphere 6.7 U1, and some minor readability updates but the article still works good!
- 10/22/17 – added the bit about external above, but also, wanted to mention that I just connected two C:’s that were different versions and everything worked exactly as expected. Wow!
- 7/3/17 – big changes for vSphere 6.5. Content Libraries are now very useful!
- 2/24/17 – added two articles (vSphere 6 CL related – one about deploying content, and one about distributing.
- 4/5/16 – updated for vSphere 6.0 U2, and for readability.
- 9/7/15 – An interesting article about the impact of configuration on synchronize times. Another article about efficiently deploying VMs – actually more about performance overall.
- 5/23/15 – Transfer Server Properties, which talks about some of the properties you can change around transferring files. Using Content Libraries is the parent of some useful information in the docs. Both of these are in odd locations one is VM and one is API.
- 3/28/15 1818 – someone heard my comments. All I can say is no comment.
=== END ===