 Hi My name is boy and cross not from store pool And I'm here to tell you about high performance block story system that we're doing So we started doing store pool. We started store pool about three years ago exactly with the purpose of Solving brought block storage for service providers who are hosting a lot of virtual machines in their clouds so our approach to solving this is Distributed software defined storage Which you know the traditional approaches on the right side here in storage you have like a big storage box from EMC or Dell or HP someone like that You have a network which could be fiber-channel recent at and you have your compute nodes And the distributed storage approaches distributed software defined storage approaches you take standard servers You you put some clever software on them and make a number of these say ten of these servers behave like one big storage system So why why is now the the best time for? Switching your storage approach where there are a few market trends One of them is cost of interconnect has dropped so much So you can now get a 64 part 10 gigabit ethernet switch for about $4,000 Which is about say 50 euros 65 dollars per part And the other one is the other market trend is Multicore CPUs so the typical server hypervisor server today has 20 cores 256 gigabytes of RAM and Good software defined storage solution would take say one maybe two CPU cores out of that And we'll leave the other 18 cores for your virtual machines, right? So what do we do store for the other distributed block layer high performance storage system? Running on standard x86 servers and we deliver it as software and services So we we help you along in designing the best solution in figuring out all the details installing it upgrading it all of that The use cases hosting of virtual machines and containers on Linux for service providers and private clouds and people Our customers select store pool because of performance and efficiency. That's the the main reason they choose us and The problem is safe In this is that it's a very good and scalable object store, but it really fails at delivering a fast high-performance box storage And here a few We did a performance test on the same hardware store pool versus safe and here is the result So store pool this graph is CPU usage on the yx axis and IOPS on the x axis so store pool the store pool solutions are with the green and the blue line and service with the red line and With for a lot lower performance for something like 2000 IOPS safe Basically fills the CPU of the three storage nodes. So it really cannot do more Because the CPUs are full right So in this example, which is random rates only in these specific configurations store pool does About seven times as many IOPS with about six times Less CPU usage So that's the kind of difference about 50 times you can get between not so, you know optimized Solution and something like store pool and as an end result you get You know because you have a high-performance storage system, you can do things like run storage and compute on the same nodes and you do that by Allocating one maybe two CPU cores if you want really high performance For the storage system in the other 18 cores are left for for your virtual machines And this is a lot of advantages. So this kind of Propagate through through the whole stock and gives you a lot lower to see all Less servers less network parts less base in the data center a lot of advantages of doing it this way So what's the deal with store pool and open stock? Our customers our current customers use these custom hypervisor management systems and We store pool has kind of a custom integration with each of these custom management systems that our customers have and we see store pool sees an opportunity in open stock to have You know one integration with the most popular hypervisor management system And then everyone uses open stock with store pool or open stock with some other storage system So the things are that they exist today. There is a center driver There is a novel storage driver for attaching the touching volumes It works with ice ice house in Juneau and we are hoping to have it upstream in kilo in the next three days and we are also working on an Glance backend So that Creating a volume from an image would be instantaneous instead of having to copy the date over If you're familiar with That may be something for you So I want to show you today The store point open stock integration Store pool API and also some something on performance Okay No, not here All right, so this is your you know familiar open stock dashboard And in here we have A an instance that is actually using store pool So the way to Right, I think it's Sorry So the two volumes in the one is attached as VDB to that instance to that virtual machine That one is attached to VDC one volume is three gigabytes that one is one hundred gigabytes. These are Volumes which are stored in store pool This is a running instance, so Do you see that it's not large enough, okay, let me just fix that Should be large enough, right? This is the hypervisor of this instance is running on and this is the you know the Quemu KVM Process that that's actually this specific instance and you can see here that that instance is on store pool storage, this is all you know Provision through open stack you can Anything you do with you know, we support all the standard standard functions, so volume snapshots everything so you could This is a snapshot which is of this volume and if we want to we can create another snapshot of it just by going over there and Giving it a name so the snap snap to Create a snapshot Then we have Then we have another snapshot. Okay it's all So most of the operations are instantaneous So the you know creating a snapshot from volume volume some stuff not creating a snapshot extending the snapshot or touching the snapshot to a virtual machine That's all instantaneous So this is basically what you know the high-level overview of the integration with cinder there is Nothing, you know surprising there we hope like it should work as as a good cinder backend We have any questions on this should I move on to the next thing? Good so So the way the way it works one level deeper is that There's a store pool API and there's also a common line tool for it and Store pool CLI just makes an API call and gives you some information We've you know This is an example of you know what kind of information you can get from it so You can get the same information obviously as Jason and If you want to do your own integration or extend, you know the store pool Open stack integration you just talk to our API and you you know ask the API create me a volume It creates the volume you ask the API Attach this volume to the specific host it does that and Let's you know, let's do something This is a list of the volumes Let's create a new volume. Let's say volume open stack summit We'll give it a size and We'll say that's Volume which is going to be on on a hybrid store pool pool I'm sorry about the long names just open syndrome likes to put these really long names so it kind of screws up the Layout a bit Right, so this is the volume. It's you know, thank you about volume three copies There is nothing stored in it at the moment as a store pool is thin provisioned. There is nothing in there you can also Attach the Volume to a specific host and that makes it Appear as a local block device. So there it is And then you you can work with that block devices, you know with any say LVM logical volume or any local as if it was a local hard drive So One thing you can do for example is you can write data to it You can create a say a file system directly on top of the block device or you can attach that block device to a virtual machine Let's say in this example we put a file system directly on top of the block device There it is And and that's you know that file system is now created And we can you know say for example, we mount that file system somewhere Then you have you know, that's a local file system here Other things you can do you can create snapshots from volumes. So, you know Volume OSS snapshot we don't need to give it a name. It has an automatic name So now we have another snapshot And these are actually what I'm showing you now are things like Using store pool directly instead of through through Cinder. So these this snapshot for example is a snapshot which is not not controlled through Cinder And if we look here So that's you know snapshot OSS 23 and it doesn't have a Cinder name. So you can You could use store pool for OpenStack workloads as well as other workloads You can have kind of a one large storage system and have open stock on it and open stock creates its own volumes and snapshots in the system And you could have other volumes which are volumes and snapshots which are not control through open stack and Yeah so that's the You know CLI the our concept with the CLI is Absolutely every function you have in the CLI you also have in a JSON API. So there is nothing that Everything you can do through the CLI every single comment you can do through the CLI. There is also an API call that does exactly that Yeah and That's The CLI API part and are there any questions on this part? Yeah Oh, sorry Sure, so you take a snapshot. We can even take you know the snapshot which is created by Cinder and we say store pool Volume new parent Okay, I Can't paste this for We'll use the short one. I just don't have a kind of a way to copy copy it and paste it back And so you have this new volume which is based on the snapshots, which we just created and You know Attach volume new client for Mount Dev store pool new Into media new and You know, so that's that's it kind of a the same volume we just created. All right. Any other questions? Okay Will Let's move to performance So the performance numbers I mentioned When we talk to a lot of people they think these performance numbers are impossible because you know the generally concept people have is that a hard drive can only do a hundred IOPS and That's not necessarily true. It depends a lot on the way you write data to the hard drive and we do that in a Unusual way so store pool is a The way we do that is different from the way most other storage systems do it Which allows us to do things like Okay allows us to do things like so this is a Random rate with 64 Let's increase that a bit the 256 parallel operations on the volume which we just created from a snapshot. Okay And we do We just launched this random writer And it does that at 16,000 IOPS even though this is a triple replicated volume on a Cluster which has 28 drives in total But Okay store pool placement group HDD list But only these Which are 24 okay, so on 24 hard drives 16,000 random writes on 24 hard drives The way this specific volume is configured at the moment is that it's He has two copies on hard drives and one copy on SSDs so all the reads come from the SSDs from the SSD and I haven't I haven't written the volume fully yet and I mean kind of all the time So I can show it to you later. So all the reads come from SSDs from one client from one store pool client you can get about the hundred thousand IOPS and you can also From each store pool server. You can also get about the hundred thousand IOPS So in a cluster it kind of scales with the size of the cluster and The number of workloads on top any last questions For the volumes we just created No, because we It's kind of out of my depth there so I Where is it? Okay. Yeah. Yeah, so it's yeah, just like a Any, you know, it's in their integration All right Store pool at the moment. It's not on these machines. It's not packaged like an RPM. So but they are Kind of a few processes that run to make store pool work So this is store pools cluster management service the store pool server which manages local drives This is totally API And this is store pool client the store pool bug device driver Okay And all right, okay, and there are a few kernel modules in there All right, and I can sit down with you later because I'm really out of time Thank you all And if you have any other questions, just come by our booth it's e14. Thanks