 Okay So it's time to start Hello, I'm Dennis. I work in redhead and I developed overt Today probably you heard couple of times like yeah, there was over it and now we have cube weird now We have whatever I don't care because I work in over it But probably no one told me what is over it and over to the enterprise grade open source virtualization system Very nice system. I'm not going to talk too much about the overt itself. Come on guys. You can just join our booth and Talk a discussion and have a discussion with us, but I would like to a little bit mention How it looks internally so in overt we have three main components We have a storage subsystem Substorage pool and storage domains and that's actually the place Where you store all your VM data your images snapshots team plates ISO images all the data is here and the only thing we acquire from that storage storage needs to be shared storage needs to be available on each host on a Cluster on a video Sam host and we call them video Sam host code video Sam is a tool that actually host agent that lives on your compute hardware and Runs your VMs mounts your storage. Yeah, I'm like to save our storage. I work in storage team. That's why Maintains like migrations and so on but video Sam is really really really stupid thing It only may it's like a minion Yeah, and it's same stupid It's only controlled by the engine the engine a huge application written in Java Knowing all the stuff like where we am belongs How to start them where to run them when to kill them? Everything everything is controlled by the engine and the best part here engine is an application Living inside of a VM Yeah, that's true We saw that problem you have a VM control in other VMs and that we am redundant, but Why do we need that thing at all? Why do we need virtualization? Why do we need the toilet and stuff? Answer is simple. You would like to utilize your resources and Then utilize them more and more and more, you know in they are living in 21st century If you buy two times bigger M it will cost like 10 percent small Two times bigger drive, maybe five percent small. I don't know and it's cheaper to buy a better more resourceful Hardware and slice it into several VMs and your finance department are happy now like oh guys We bought just one server and installed ten services on it now. Wow. Cool. Wait a minute Are you using them all the time? Do you really use all the resources you allocated to your VMs and then I think oh no, maybe not Maybe I'm not using them and Maybe some VMs don't really need them. They they'd say they need them But maybe they don't need them all the time and you start, you know Squeezing more and more and more resources and then you come to the dark side You realize that some VMs or some services don't need the resources all the time You can only allocate and provide resources to something for two hours and then Steal it and give to some other VM that needed and so on and so on so now you don't overbooking I hope you will never be overbooked on the airline because it's same bet even for VMs and Yes, Overt is quite great in that area We started making Think provisioning all the stuff like years ago. We start with really simple approach I'm not going to talk too much about this fine part of same provision, but you know, you can just tell VM dear VM Trust just believe me you have 50 gigabytes and actually you allocate, you know zero bytes and only when VMs start See the sum of gigabytes you allocate it. How we can do that? Simple that I told it's really ancient times If you are running on a file system storage domain, it will be just a sparse file. I will let the gentleman's center. I Said enter not exit Okay, so it's quite simple You have a file with holes you allocate you not allocate file But you pretend you have it and you only use it when it's actually written. I Hope it will work or probably it may yeah for block domain we use LVM and We started using LVM for block domains in a really ancient era. There was no thin pool So we invented a better scheme We only allocate one gigabyte VM and start looking into it and using how much it's utilized and when the utilization hits some of Some thresholds say 80% We immediately create we immediately extend that volume to next gigabyte and start monitoring again Trash holds heat new volume created and we are monitoring and so on and so on Can we do more to be honest not really? We don't control storage in that case because what I told you we only think we Expect from a storage. It needs to be shared. It needs to be available from all the hosts so it can be some Network attached storage and can be some NFS server everywhere can be anything we don't care and we don't control it We don't can we can't do too much, but what if We need shared storage. We need shared namespace and can we build it? What if we will have some kind of say software defined storage Probably scalable Probably redundant Haven't I seen one? Oh, yeah, Glaster Glaster Open source file system running commodity hardware on Glaster You can export any part of your locally attached storage and we don't care which one of the stores so you just attach some bytes and export them and You export those bricks and you can combine them into volumes and you may have several types of volumes like Just a pending brick-to-brick-to-brick to increase some space or Replicating data from brick-to-brick from brick-to-brick. So now you have some redundancy and volume is a thing that you actually mount and And When you mount it on some client guess what happens clients sees all the data on that volume And if you mount it on a another one client another one client sees all the same data on the volume same namespace Isn't that what we are looking for? Let's try to combine it together Let's try to get Glaster and overt and now we have hyperconverged environment for overt So Glaster volumes are over storage domains right now and we use exactly same hardware to run your storage to run your VMs to run your management plane engine and Storage due to Glaster abilities is highly redundant and available highly available at the same time amazing We control the whole stack can we squeeze more from it? Yes Yes, we can now we can use LVM simple below Glaster So from the over point of view nothing changed, but the Glaster Uses logical volumes here is a slide showing like how we usually split the storage you have So usually you have some drive we create an LVM volume group on it We create pre-allocated volume for engine and we create thin pool For two more bricks or for two more storage domains sharing steam same thing pool and they have Same size so now you pretend you have say 200 gigabytes of available storage domain space from just 100 gigabyte Drive and on top of it. You can still create your VM. So you may create say Five VMs 50 gigabyte each So in total your VMs we believe they have 250 gigabyte on top of just 100 gigabyte and still using just 10 of them Isn't that good? What else we have here with a simple scheme with sparse files or LVM. We have a problem We can grow your VMs, but you never reclaim space back. Sorry. It's not possible Not this time. We have seen LVM and Simple in LVM is a quite smart thing and When you remove some data From your VM say this one this one VM you remove some block and Your file system sends a trim comment back to QEMU and it's translated to Glaster and Glaster translated back where to LVM simple and it's automatically reclaimed Now your VM cannot just grow but also shrink back amazing But if you remember on my first slide I had three things Like utilizing more resource squeezing and overbooking Now we are draining dark site. We don't have cookies here But you have something better. We have compression and the duplication the typical use of any virtualization system is running Almost same VMs. I don't believe that any one of you I hope no one will just read this hand right now But that any one of you tried to run all versions of Windows on the same did the click on the same virtualization system Please say no, please say no Okay, nobody said yes. So yeah, usually you have like You tied to a couple of different operating system and probably to different to couple of versions of that operating system You try to keep your environment homogenous just to make it easier to maintain it And when I say environment homogenous, yeah I Completely agree with you So I just got a command that there is a use case for keeping lots of Versions of different VMs for our training providers called they have to keep a lot of environments for it Yes, you are right, but I'm right too when you have a training provider What do you do you have a version single version save for really? weird operating system 075 for example And now a class with 20 student comes and you make 20 copies of that weird of 075 systems So it's same. Yeah, you have a lot of different versions But you still have same copies and when I hear same copies I think about compression and the application and yes, we have it in overt. We really have it in overt. Oh My dear video, please start running Go go go. Yes mobile internet is working great there Not Wi-Fi We use virtual data optimizer Device mapper driver that plugs in into device mapper so it can consume any of device mapper device and Produce a new logical device that will be logically bigger and What it actually does? Can I just move it back? So what it actually up it's hard to It starts looking what blocks are hitting your device and analyzing them At the first stage it checks. Do I have a block consisting of a same bite? So it makes a run length encoding and if they found them They just disappeared We don't keep them at all Then it starts. Okay, maybe I already thinking maybe I already seen of some of those blocks keeps track of blocks and same blocks are merged together like here and Finally they are compressed and only after that They are actually written to the device Saving a lot lot lot of space we put it between our Simple and the storage Making simple even bigger than actually storage you have for example, you may have Say 10 gigabyte hard drive. No, you can't buy it probably But when I was making those slides, I made the actual tests for it and I was playing on a Virtual system is really 10 gigabyte drives. So you have 10 gigabyte drive You put LVM on it and pretend now you have 100 gigabyte drive and Then you put a simple of it and pretend you have 200 gigabyte drive and Then you have 50 same provision in VMs on it 50 gigabyte and 5vm. So now you believe you have 250 gigabytes and you install operating system and you use just 5 gigabytes on each drive and internally It's only 4 gigabyte on your real hard drive down below. So 10 to 250 Amazing Don't try this at home No, come on. I did it at home. I I've survived. So it's totally fine. I can give you some more real data I made those screenshots and calculations during During actually that test when you install first VM. I use CentOS 73 in 74 like Distributing them first VM takes just one or three gigabyte on space on a physical space while Give them up for 5 gigabyte I'm sorry while having about 5 gigabyte on logical space then next VM It's just a gigabyte and third VM and all other VMs like add just like half of gigabyte The difference in differences sizes of VMs is I installed a little bit different set of software in them Just to not to keep them same because it would be useless So I installed just a different roles with those VMs like this VM will handle some podcast kill data by this family handle some HTTP on this VM. I will install say drama and so on. So let it's a little bit different But still you have third VM use it 8 gigabytes and Increase was just half of gigabyte. What does it does with others? I told you it's a dark site You will not be cut and put into the government don't worry But the problem here is a leverage works in both sides So if you have 250 gigabytes there, you have just 10 gigabyte there And if you try to write too much a gigabyte on that side your 10 gigabytes on that side will exhaust immediately So you really have to be careful. You really have to monitor all that space Constantly and it can just disappear in a second or millisecond that you will not see it at all And they wow all my VMs are stopped. What I did wrong. I have a lot of space and why why is saying running out of space? But we can help you We can help you know worth What we have we call that physical available space a guaranteed space because you are guaranteed to be able to write at least That number of bytes may be more but definitely not less. So trust us and And as I told you a video device virtual data optimizer is a part of device mapper So it can be stacked you can have Video on top of simple or seem to simple of top of video or like layer simple video simple video until you're tired We can handle that you wouldn't believe me But we still handle all the possible configurations of your storage stack and we actually scan it and Try to find the smallest device Even if it's still seen device, maybe it's on top of another one seen device But we find a smaller device with a little bytes and reported as a brick Available space you remember we have plaster down there and then we recalculate cause we know the configuration of a volume and There are like 10 or 9 possible configuration of volume. So for all of them we recalculate raw brick data to the Volume data and finally if you have linked your volume to storage domain You need to actually set a checkbox like link it, please. It will be automatically reported. So for brick you will see How much space you have and how much space you actually have and There is no de-application compression savings because it's that was just a clean brick nothing to say. Sorry guys Same data Wrong blurring same data you have on the main storage domain view. So it's really important for everyone. So it's Nice to have it right there and even better You can also configure some threshold and when you're physically guaranteed space It's too low Over it will start automatically bugging you like You are running out of space. Please do something you are running out of space It will be sent every six hours if I remember correctly and you can get it by my via SNMP via UI everything But that's not all that was the biggest issue you can see But that's not all the compression and the de-application is safe. Isn't free itself isn't free. Sorry and In worst case it is your IOPS because if your storage is fast enough and CPU is not fast enough Like it was in my case Up to minus 30 percent Theoretically if your storage is slow enough like you have a spinning drive and modern CPU It can be faster because you are having more or sorry. You're having less physical IO actually I've seen that on my test lab. I guess like plus 20 percent. Yeah, I've heard that story like Oh, you can compress data on a drive and it will be faster. I've heard it from 90s from a drive space time Now it actually works That's not all We have to keep the index of same blocks in RAM and you may see we use a lot of RAM for it We also keep copy of that index on a storage space on an actual storage Because we would like to read it on a startup and save it and we use a lot of space for it It's really a lot of space But the best part here all the calculations I show you earlier Especially on a slide where I installed the VMs and it only gives you plus half of gigabyte. They include all the overhead I Mean storage overhead. So that's including that one gigabyte of RAM 70 gigabyte per gigabyte of for blah blah blah blah It's all included. So it still make sense. It still saves your space. So I'm almost done Yep Five minutes left. I'm almost done as I told you you can virtualization is about Utilizing your resources and you try to squeeze more and more and more and overbook them and we have all this stuff To keep it. Sorry, and we have all the stuff to allow you to do that on any layer of your evilness So if you'd like to Overbook here you have compression. It's not free if you would like to ask to Utilize it better senior women hyperconverged if you would just like to be a little bit light evil guy who just not even evil Okay, use all scheme and you will be safe. Nothing bad here. You can't you can't use it in any better way That's probably all Thank you your questions Why do you deal with Glaster break stuff then put device mappers on top on top on top then just using an OBD volume out of itself storage Because you the only thing that is missing is compression, right? So you can have snapshots with thin provisioning all that good stuff But why you choose in the way to layer stuff on top of each other and do this crazy amount of work Okay, so the question was why we are using Glaster, but not safe because safe already have all the stuff right Nice question. Maybe cause we already started using Glaster and hyperconverged. It started several years ago And when we evaluated safe, it wasn't that good, but now we support safe too With upcoming release, we will have Cinder Leap and You may be you may use safe with it and actually You can take that video stuff because it yet works as a device mapper area and Build safe file system on top of it. You're free for that Thank you