Welcome back to vSphere 8 in the real world. Now we're going to discuss storage policies.
So storage policy-based management is just a way for us to use our storage policies to align our vSphere environment with all the other aspects of our vSphere environment.
For example, we have network I.O. control so we can make sure that certain virtual machines have the necessary bandwidth for that application to perform correctly,
that lower-priority virtual machines don't overwhelm the more important higher-priority virtual machines.
We have ways of making sure that our storage I.O. control, which we don't really need that for storage policy-based management,
but we have storage I.O. control to make sure that we can give VMs the right amount of I.O. to storage.
We also have things like resource groups, right? We can use our resource groups or resource pools to allocate a certain amount of resource, CPU, and memory to VMs to make sure they have all the CPU they need,
they have all the memory they need, they have a certain number of shares, and they have reservations.
And we have all these tools to ensure our virtual machines' performance.
Well, this will help us to ensure our virtual machines' performance from the storage side as well as other things besides performance.
We can also ensure things like recoverability. We can configure – say we want things like replication.
We can also ensure security because we can say we need encryption. We can say we need deduplication.
So we can create policies that express the needs of this VM, and then when we assign that VM to a policy and then we want to put on a certain piece of storage,
we'll say, nope, that storage doesn't have the things that you said you needed.
You said you needed replication, and that storage array you're trying to put it on and that data store doesn't have replication configured, so you can't put that VM there.
So it can help us to ensure that we are meeting the needs of our virtual environment.
And maybe it's our performance needs, maybe it's our security needs, maybe it's with deduplication something like our efficiency needs.
So storage policy-based management will just help us to automate that to make sure that people aren't like, well, yeah, this is supposed to be encrypted.
I'm going to put it here for a minute while I do something so I can do some maintenance over here and then forget to put it back,
and this very critical, highly sensitive information isn't encrypted on your storage or something like that, right?
So it helps us to align all the different needs from our businesses, our security needs and performance needs and budgetary needs, right?
Maybe we don't want – it says it cannot be on Flash.
These VMs are really not that big a deal and their performance is really not that important, and I do not want them going to Flash.
I only want them on an inexpensive spinning disk, right, so I can help my budgetary needs line up.
I don't want to put those VMs on Flash, fill up that Flash array.
I'm like, oh, I've got to buy more storage, I need more Flash, I've got to spend big dollars again when I have less expensive storage available,
or I could buy more less expensive storage if that's what's getting full.
All right.
I have a unified control panel so I can go into vCenter and I can manage all these things through vCenter.
I can go and manage all my policies the same way I manage my networking, the same way I manage creating my data stores and creating VMs.
That's also how I manage my storage policy-based management.
I don't have to be a SAN admin and go in there to the SAN and make sure that these things are happening, right?
The SAN side will need to be set up, of course.
I'm not trying to say it won't have to be anything, but my SAN admin can give me my storage
and I can make sure things are assigned to the right place through my policies.
And the SAN will tell vCenter whether or not those things are on that data store.
It will know if it's true or not, okay?
Make sure I can build policies, define capabilities of the storage array, all right?
So we'll show you how to do that in our demo.
And interpret your requirements.
So basically you've gone in, you tell it what it needs, and then when you go to put a VM somewhere, it says,
well, here's the things you said you need and here are the things the SAN says this can do.
It lines up, you're good.
Go ahead.
So some storage policy components.
Policy can include, for example, we can define services that are going to be available to the VM, right?
We can define, you know, we want replication available.
We want things to be encrypted.
We can define all these different components in there, right?
We can say what are the future needs of the VM going to be?
Are we going to end up needing more space?
Are we going to end up needing more I.O. and things like that?
And then we can associate these things to a policy.
So some of the different things we can define in that policy, we can define compression.
We can say caching, encryption, replication.
So compression basically is like going in kind of like a way of zipping the different blocks.
It's not exactly that, obviously, but a way of, you know,
basically reducing the amount of space that is used by a block so we can get more data into a block.
So if we have a file that normally would take up, without compression, eight blocks,
maybe with compression it only takes up six blocks so we can save space.
Of course, that means there's a lot of overhead with using that when you're writing it,
so hopefully you're probably only doing that with maybe like archive data.
You're not going to be doing that with data that is accessed often.
And so your policy can say, this machine over here is, you know, an older machine.
We don't access that data hardly ever.
It takes up a lot of space for data that's hardly ever used.
Let's compress that.
But this other VM, even though it's equally large, it uses the same amount of space,
this is data that's used every day by a lot of people.
We need it to be fast, and compression would slow that down.
We need it to be readily available,
and we don't want a lot of overhead on the system to try and compress and decompress that data.
So we're not going to compress this often used data.
We're going to compress this rarely used data.
Kind of think about if you're familiar with like AWS
and they have those different levels of storage and one's Glacier where it takes, you know,
days to get your data back from them.
So that's what they would put over there.
That data you put over there is what you're going to rarely, rarely ever use.
So compression is going to be for less used data
and you're not going to want to compress more often used data.
Caching, if you want to enable caching,
we want to help make our slower disks a little faster,
our spinning disks a little faster by putting cache in front of them,
and that could help improve their performance.
But, again, if this is a machine that I don't care a lot about
and I'm not really worried about performance that much on this one,
a small number of users use it, not high priority.
So we're not going to waste the money on giving them that cache for those VMs.
So we won't put that VM on a data store cache.
I will put these, you know, higher priority, much more often used,
more critical to the business, and we need really great performance,
that will go on a LUN or data store that has caching.
Encryption, if we have financial data, if we have HR data,
some companies have a policy that we encrypt everything,
and that's a great policy.
That's a great policy.
If you have the resources to do that, that's great.
But maybe we don't have those resources.
And encryption, you know, is an additional overhead for us,
and we don't want to necessarily worry about, you know,
spending that overhead on data that is just not that critical
and it's not that sensitive.
It's not HR related.
It's not finance related.
It's not, you know, business secrets to help my business run.
So maybe we'll put that on unencrypted storage, right,
and not worry about the processor overhead that we have
encrypting that data.
Okay.
Replication, what are we going to replicate?
Maybe there's certain data we want to replicate once every 24 hours,
certain data we replicate once a week.
Some data we're going to replicate every five minutes.
We're going to replicate this constantly and keep it always up to date
because this is a mission critical business application,
and if there's a failure somewhere,
I need this back up and going and to be current within the last five
minutes, and that's what I have told the higher ups that we are going
to deliver, that this application will be within five minutes of
whenever it failed.
You won't lose more than five minutes worth of data.
So I can set, you know, replication targets like that,
and I can, again,
say this application needs this five-minute replication storage policy,
and if I try moving it somewhere that doesn't have five-minute
replication, it has one-day replication,
it will fail and not go over there.
All right.
And then we can also enable, you know, storage I.O. control.
So some best practices.
Components can only have one rule set.
What they're saying there is in a rule set, we can add something.
In the policy,
we can add a rule that says what storage array that I want this VM on.
I want this on my really high-end enterprise storage array that has all
these bells and whistles so I can do all these things like compression
encryption.
And I've tried moving it to an older storage array that isn't in that
policy, then it will fail.
Well, if I try to add storage array twice and I put both of them there,
then which one do I need, right?
So I can only add that once.
Things like that.
If a component is referenced by a VM,
if I have a policy and it's referenced by a VM,
I can't delete that until I remove it from that VM.
That's what they're trying to say there.
So one component for, you know, for a category,
when you're adding things to a policy, again,
we only want to add certain types of things once.
So to create this, we're going to go into our vSphere client.
We can go into our storage policies.
We're going to say we want to create a new,
hit the create button to create a new policy.
We're going to give it a name, right?
And then we're going to go ahead and say next.
We're going to set what category we're going to put this in.
So, for example, it's going to be like our pure storage.
I keep saying pure storage, that's what we're going to do in our demo.
Pure storage, you know,
storage policy for our pure storage storage arrays.
And then we can start going in and adding additional services, right?
So what storage we're going to provide the service and what features of
that do I want?
I want replication and I want encryption or something like that.
You can specify those things.
And you can also say for replicating, what do you want replicated to?
I want it replicated and I want it replicated to over there.
I want the target to be this.
I can say replication and not also add target,
or I can add target and say I want it replicated
and I want it replicated to this other SAM.
All right.
So let's go ahead and go in and do a quick demo.
In our demo environment,
I'll show you how to actually create a storage policy
and apply it to a virtual machine.
So here we are in VMware's hands-on lab environment.
So you can get to here by going to hol.vmware.com.
So you also, yourself, from home,
can do the same exact demo all on your own.
Now I'm jumping to Section 4, which talks about the storage policies.
But there is actually, it has, I think, five sections.
So you can do one through three yourself,
and that will have you create VVols and some other things
and also do replication policies.
So a lot of great stuff on here.
The first thing it will want us to do is to log into the storage array.
And right over here, it actually has all the step-by-step, you know,
actions you're going to take.
So it's saying to log into storage array A, right,
tells you what the, you know, that's what the screen is going to look like.
It will give you the name and password for it.
And then once you're in,
it's going to show you what it wants you to look at.
So, for example, it wants me to go to this protection group.
And here I have, I'm sorry, not protection group, but protection.
And here I see what array I'm connected to.
I'm in array A.
If I go down here, I see I'm in array A.
And I'm connected to array B.
So if I click on this little icon here,
it will show me that I'm connected to array B, right.
This is the controller for array A's controller address.
And then this is array B's controller address, right.
And I see that the connection is up.
If I go over to array B and log in.
Again, I go to protection.
I'll show that array B, which is the one we're looking at,
is connected to array A.
And, again, I can look at this little map icon.
And it will show me that here's the address for array B
and the address for array A.
And, again, that connection is up.
So I have a connection from A to B.
They both see each other and they see each other's B up.
All right.
So next what we're going to do is go into vSphere.
And from here, we're going to go to policies and profiles.
And we're actually going to create a storage policy.
Now, I do want to jump to that part in the labs
because I want to make sure I get all the names correct,
all the spelling and things like that because it does matter.
So here I'm going to say create.
And the first thing I want to do is to name that policy.
So one really cool thing is we can type this in
or we can just copy it.
Wipe that out of there.
And right up here in the HOL toolbar,
I can paste it in there and say send it.
And I just now made sure I got it typed in exactly correct.
I'm going to say next.
Now, it's going to want me to enable this rule for pure storage.
So I'm going to say next.
Next thing I'm going to do is I'm going to add a rule.
And I'm going to say do I want this to be a pure storage FlashArray?
I'm going to say yes.
Now, I'm just going to catch up real quick here
so I don't get too far ahead.
So I went to placement, right, add a rule, pure storage FlashArray.
That's the step I just did.
So yes.
And now I'm going to add another rule and FlashArray group.
And here what I'm going to do is it says make sure you type this in
and it needs to be exactly like this and it is case sensitive.
So let's say I come over here and I'm going to say pure Flash.
And I'm going to forget the word array and just say A, right.
So I'm not going to copy and paste it in.
I'm going to just type it in there and I accidentally typed it in wrong.
So I got my FlashArray group.
Okay, that's great.
I think it's correct, right.
And I'm going to go ahead and go to replication.
I'm going to say custom.
My provider is pure storage.
Add a rule.
And I want to say target, right.
Oh, I'm sorry.
Replication capable is supposed to be the first one.
There we go.
That one.
Then I'm going to say yes to this.
And then the next thing it wants me to do is say target.
So let's say target.
And now it's going to add a new rule.
So let's say target.
And now it's going to ask me to send it to my storage array B.
I'm going to go ahead and just do this one correctly.
All right.
So I said I want to replicate, right.
I want this to go from storage array A.
I want it to be placed on storage array A.
And I want to make sure that storage array A is replicating to storage array B.
But I accidentally mistyped the names for storage array A.
I'm going to say next.
And then from here it's going to tell me to just go next and next, right.
And just verify everything's right.
I missed the fact that I spelled the storage array A's name wrong.
But I do see that I got everything else right, right.
But this is wrong.
And we know what's wrong.
We'll come back and fix it after I show you what I'd like to show you.
But let's just say, again, double-checking myself, I missed it here too.
And we're going to say finish.
Now what it wants me to do is go over to this vCenter.
This is vCenter B versus the vCenter A that I'm currently in.
And I'm going to go to policies and profiles.
And I'm going to create.
And I've got a name for this one.
And what we're doing is we're basically setting up a policy that says if it's
running on A, replicate it from A to B.
And if it's running in vCenter B, replicate it from B back to A.
I'm just creating that reverse policy there.
So that way if there is a failure and it does fail over to B,
the changes from B get replicated back to A automatically so that then I can
do a fail back if I'd like.
And all my data's been replicated.
I'm just going to type this one in.
There we go.
Got it that time.
For some reason it wasn't copying from there.
I created that policy.
This clip here is saying it wants me to do it from vCenter B.
And I'm in vCenter B.
So I'm going to say I want to do a peer storage array.
And I'm going to add a rule.
And I want to do a flash array.
I'm going to say yes, right, for replication, custom,
my provider's peer storage, replication capable, yes.
And what is the target site?
It works this time.
If not, I'll start typing it in.
Okay, that's how it works.
Cool.
All right.
So we have those set there.
Compatible there.
All right.
So here I see that I did say I want the storage array to be flashed,
but I forgot to put in the group.
So I can just hit back, back, go back to here,
say what do I want my array group to be.
And I want it to be B because B is the primary one for this vCenter.
So now if I go and look at this, yes, I want a flash array.
I want my group to be B, and I want to replicate, yes,
and I want to replicate to A.
So I did the exact same thing in vCenter 2 that I did in vCenter 1,
or I should say vCenter B that I did in vCenter A, except in reverse.
So B is the primary.
The replication target is A for vCenter B.
For vCenter A, it was the primary was A and the failover was B.
So I just set that all up.
So now it's saying to go to A over here, back to A.
What we're going to do now is we're going to set up replication.
Okay.
So back in Pure Storage A array, right, I'm going to go to protection,
protection groups, all right,
and we're going to look for that vFault 04 group,
and we're going to go to targets, add,
and I'm going to add B to A as replication, right,
and I need to create a schedule next.
So I created the replication target, right, added that,
and I said I checked B and added it.
So now under my replication schedule, I'm going to go to here,
and I'm going to change how often it replicates.
It's going to want me to replicate, I think, every five minutes.
Just to make sure, though, replicate every five minutes.
And how many do I want to retain?
I want to retain 30 of these guys.
I'm sorry.
I want to retain all of these guys for 30 minutes.
I'm sorry.
I want to retain all my snapshots for 30 minutes.
So once it becomes 30 minutes old, it just dumps them.
I make them every five minutes, so if you think about it,
that's a lot of snapshots, you know, being created,
and so that means that each one's going to be 30 minutes old and then dump,
and I will still have a lot of snapshots there, right.
I'm going to go ahead and say save, leave all the other settings alone.
All right.
So now I'm going to go back to my inventory,
and I'm going to create a virtual machine.
So I'm going to go back to vCenter A.
I'm in A. That's the correct one.
Go back to my inventory here, here.
On this region here, I can say I want to new virtual machine.
And I'll say create a new virtual machine, X.
We're going to give it a name.
This is the name that VM they want us to use.
And we want it to be correct because we're going to see it later on in the lab.
So we want to know what we're looking for.
Send.
All right.
Gave it a name.
We've got to pick a VM for it.
We're going to say put it on ESX-501.
Next.
So now here is where that mistake I made earlier,
that storage policy is going to come around.
So this is the storage policy I created.
And I'll say, okay, I want to put it on this datastore.
And it says this datastore doesn't work for that VM.
I'm like, well, why not?
Why doesn't this datastore work?
That's my policy, and that's the datastore,
and I know it's on that storage array.
So what's wrong with my policy?
So I'm going to get out of here and go back to policies and profiles.
And I'm going to find that policy I created.
And there's the policy I created.
I'm going to edit that.
And this time I'm going to pay really close attention to what I did,
and I'll be like, oh, I typed that name wrong, right?
That should have been named pure flash array.
Did I spell it right?
Okay.
And then say next, next.
And finish that.
Like, okay, yeah, see, now this is right.
I'm paying more attention now.
I didn't really, I kind of went next, next, next, finish,
thinking I did it right.
But obviously I made a mistake, and now I see that this name is correct.
I'll hit finish.
All my tasks are completed.
I'm good.
So I'm going to go to inventory again.
And I'm going to create a new VM, a new virtual machine, create a new VM.
And this is the name I want to use there.
And I'm going to put it on ESXY1.
Okay, that's good.
I'm going to choose that policy.
I'm going to choose a data store.
Now it checks out.
Now it's good.
Okay.
So you need to make sure that everything's typed out exactly right.
You know, even if you're doing it in your own environment,
you want to make sure you have the names for the arrays, you know,
exactly right.
They are case sensitive.
You want to make sure you're matching all that up.
Okay, perfect.
Now that's good.
This also shows you that my policy is working, right,
because it was saying, well,
I can't put that VM on that policy because I can't connect to that array.
The array you specified, I can't connect to.
I'm going to go ahead and say next.
ESXI is great.
Windows is great.
I'm going to go ahead and just reduce this.
I'm not taking up too much resource on here.
I think 16 megs of RAM is plenty nowadays.
We do not need to overfeed these guys, right.
And I'll say 64 megs of RAM.
This is going to be a really small operating system.
Say next and finish.
All right.
So now it should create that virtual machine for me.
And while that's being created, there it is.
Let's go ahead and just go forward in our lab guide.
And it wants us to go back to our pure storage A array and to verify that it
actually did create that virtual machine and that snapshot.
So let's go ahead and go back to array A.
We're going to go to storage.
We're going to go to volumes.
And there is my VM4, my pure replication VM4.
I see I have it configured here.
That's the size on the disk there, right.
And I can also go to B and go to storage and volumes.
I need to go to protection, sorry, and protection groups.
And there's that VM, right, or my group.
All right.
If I go back to A and go to protection and protection groups, right,
now I'm starting to see stuff coming up.
All right.
So we did go in.
We created that VM.
We created a policy first, right.
We created our storage policy.
And we created a VM at that storage policy.
We configured replication on our storage array,
and we saw the VM creating snapshots on there.
All right.
So that was a pretty good demo of how storage policies work.
Again, remember, you can run through the same thing yourself by going to HOL,
which is hands-on labs, HOL.VMware.com.
Just log in with your VMware account and start checking this out.