 No audio yet. Hello, everybody. Can you? Hello. I'm Ross Turk from Ink Tank. And I'm going to talk to you today about what's coming up in the next version of Ink Tank's f-enterprise and talk a little bit about what Ceph is and how you use Ceph to solve some storage problems. First, a little bit about Ceph. Ceph is different from traditional enterprise storage in a couple of big ways. First, traditional enterprise storage is usually single purpose. You buy one thing for object storage, one thing for block, one thing for a particular use case, and the solution has to usually match the use case, whereas Ceph is a multi-purpose unified platform that allows you to build a lot of different types of storage with the same software. Additionally, traditional enterprise storage is usually a hardware solution. It involves buying something and bringing it into your data center with a forklift. Ceph is software. It's a software-based solution, and it's a distributed software solution. With traditional enterprise solutions, you end up with some vendor lock-in, because if you buy your first one petabyte from a storage vendor, you have to go buy your second petabyte from the same storage vendor to expand your cluster. But with Ceph, it's open. You can use Ceph's open-source software with any hardware vendor to do what you're looking to do. And another difference between traditional storage and Ceph is that traditional storage usually has a limit. Most traditional storage products have a limit of how big they can get. And Ceph has no practical limit, and it scales up to the exabyte. And beyond, although we don't have proof of that because no one's taken it beyond exabyte yet, but theoretically, there's no single point of failure and everything scales out. The Ceph architecture is broken up into sort of three different layers. At the bottom in the storage layer is what we call rados, which is the Ceph object store. And it's made up of monitor nodes and object storage demons. Above that are the interfaces, where there's an object to block in a file system interface that allow you to take what's in that object store and expose it to a variety of applications, like applications using S3 or Swift APIs, hosts and hypervisors needing storage for virtual disks, iSCSI targets, CIPs and NFS clients, and an SDK that you can use to talk directly to the storage cluster. With OpenStack, essentially, Keystone and Swift are integrated into OpenStack for object storage through the Ceph object gateway, which we call the rados gateway. Cinder, Glantz, and Nova are integrated with Ceph through the Ceph block device, which allows storage of images, volumes, snapshots. And it allows you to run virtual machines off of storage that's distributed through an entire storage cluster. And I'm not sure if anybody has heard the news, but Ink Tank, the company that's the principal sponsor of Ceph, was just recently acquired by Red Hat, which expands Red Hat's footprint in software-defined storage. And as a result, Ceph is also well integrated with, well, actually, it's not even as a result. This happened months ago, that Ceph was integrated with RallOSP and certified for use. So a little bit about Ceph's roadmap. Pardon me. Ink Tank's f-enterprise 1.2 is about to come out in a couple of weeks. Keep your fingers crossed. And what it brings support for Rall7, which is a big deal, two features which I'm going to talk a little bit more detail about, a razor-coating and cache tiering, and some additional quotas. And on the Calamari side, Calamari is the interface for Ceph. It's the management console for Ceph. On the Calamari side, we're introducing more management features. Let's talk about tiering a little bit. With the Ceph storage cluster, you have the ability to define pools, different pools of storage. The latest version of Ceph allows you to designate one pool as being a cache for another pool, which gives you this cache tiering. So you can have one pool on the bottom, which is full of slower, cheaper, more cost-effective technology, and then a tiering pool above it with solid-state disks that allows you to have a write that cache that makes reads and writes faster for your hottest data. You can also put this cache into a read-only mode, where it will speed up reads, but writes will still go through to the original parent pool. So using this cache tiering feature in Ceph, which is new, you can define different types of speed for different types of storage needs. Particularly, it's good if you have a back end that is a razor-coated, for example, and then a cache tier pool in front of that that is on solid-state drives. So you can get speed and cost-effectiveness. The second major feature that's coming out in InkTanks of Enterprise 1.2 is erasure coding. The normal Ceph storage cluster pool that has been definable up to this point is a replicated pool, which means that when you put an object into that pool to store it, it's going to make n number of copies of that object. The default is 3, so that you essentially need to have three times as much storage in your cluster to store that data in order to get the durability that Ceph provides. The new erasure-coated pool does a calculation where instead of storing three copies of the object, it'll split the object up into a bunch of pieces and then add a few parity objects as well, so that you end up with, depending on the code that you're using and depending on the setup, you'll end up, instead of needing three times the storage requirements, you'll need 1.4 times the storage requirements, or 1.6 times, or whatever, depending on the code. But the result is, you can put more data in Ceph and have the same amount of durability with less total raw capacity required. The trade-off here is that when you recover, you actually have to do calculations, and so there's a bit more compute required on the recovery. So it's a trade-off that you have to consider, but it allows you to have a much more cost-effective Ceph cluster. So another thing that's kind of interesting is cached hearing plus erasure coding as a combination. And I alluded to this before, which is an erasure-coded pool that is your backing pool and then an SSD pool in front of that, which allows you to have very high performance on the hottest data and erasure-coded durability on what's underneath that that allows you to have a very cost-effective storage mechanism. So at this point, I'm going to break and show you the latest version of Calamari. So, oh, hang on a second. I've got to get this up to the right window. I think I drag it that way. Hey, there we go. So this is Calamari. Calamari is, as I said before, the interface for Ceph. Calamari used to only be available as part of Ink Tank Ceph Enterprise, and it was proprietary, but since Ink Tank was acquired by Red Hat, we're planning to open the code for Calamari, which is really super cool, so everybody will be able to look at Calamari and see what it does and use it. This shows me that I have a cluster that the health is OK as of a minute ago, which is good. It's just running on this laptop here, so let's keep our fingers crossed that it remains OK. Or actually, if it doesn't, that'll be cool. We'll get to see what happens when a cluster is not OK. I have three OSDs. An OSD is the basic building block of Ceph. It's short for Object Storage Demon. And this is the software agent that provides the cluster access to storage resources. So if you have 100 servers with five disks in each one, you'll probably run 500 OSDs. But in this case, I've only got three running because it's running in a virtual environment on my laptop. I also have three monitors. The monitor is the second building block for Ceph. So the OSDs is the main building block for a Ceph cluster. Every Ceph cluster needs monitors as well. And these monitors are responsible for looking at the cluster and evaluating which nodes are in and which nodes are out and the health of the cluster and the status of the cluster. And the monitor is incidentally the first thing that you talk to when you want to talk to a Ceph cluster. And in this cluster, I have five pools. There's three of them that are administrative. And in addition, I have two other pools. I have an erasure-coded pool and a replicated pool in this cluster. If you look at the status of all the placement groups, we can see that most of them are okay. I don't know if you can see this here. There's three little yellow dots that show the placement groups in my cluster that are currently being worked on. This is generally a very healthy cluster. I have about 1,200 placement groups and all but three of them are clean. In a cluster where there's massive recovery happening, you'd see big red stripes or dots throughout this and it gives you the ability to look at the cluster and see with one image what the status is of all the placement groups. And this is really important because when a Ceph cluster is in a recovery state, it's moving around placement groups and scrubbing on placement groups. The placement group is the sort of the measurement of when a Ceph cluster moves data around, it's moving it around by placement group. So knowing the status of a placement group is really important to know the status of your overall cluster. We've got an IOPS scrap here on the lower left which doesn't really have much in it but you can see that a while ago some stuff happened in this cluster. I think, can I actually do that? No, I can't select. You can see that there was some heavy, well not heavy, slight IOPS a little while ago on this virtual machine. There's also a usage thing that tells me I have 81 gigs full of 116 gigs and there are three hosts in this cluster. So this is my dashboard, an overview of Calamari. You can also go into the workbench and do some drilling down. And see the three different OSDs here and see what the different statuses are of each one of these. So right now we have three OSDs that are scrubbing and of course it shows which hosts they're all on but because I have one host it's all the same host. This allows you to sort of sort and filter based on the status of the placement group and view the cluster by status and diagnose which hosts have the placement groups that are in which states. And sort of drill down into the information about this host. It also allows you to get some graphs about your cluster as a whole. You can see the aggregate IOPS for the entire cluster here over time, let me zoom in on that. So you can see the activity and the total disc free and disc user space of your entire cluster or drill down into each individual machine if you want. So let's look at my first step store cluster. If you look at the CPU summary or any of these other things like IOPS for example. So this is Calamari and it's a very new part of Ceph. It's only been around for about six or seven months. So it's very new but we think it's a pretty useful thing for users of Ceph. Let me go back to this. So that was what is coming out in Calamari or an Ink Tank Ceph Enterprise 1.2. In the future, Calamari we hope to add call home support which means that your cluster will let Ink Tank or whoever your support provider know that something's going wrong with your cluster. We're hoping to add Hyper-V support in 2.0 beyond we're looking at VMware support. The next major version of Ceph, the H release, we are targeting to have Ceph FS ready for then which means that the file system, you'll be able to mount to Ceph cluster as a file system with POSIX semantics which is really cool. HGFS support also which allows you to use Ceph as a drop-in replacement for HGFS in Hadoop is targeted for 2.0 as well. And RBD mirroring which allows you to take a virtual block device and mirror it to another virtual block device. And then further in the future is iSCSI, got some quality of service stuff going in, RDMA which a lot of people are asking for and LDAP integration for the cluster is further on. So this is in sort of big building blog. This is the Duplo version of our roadmap for people who need the big blocks. And just finally, I wanna tell you a little bit about Ink Tank and what we do. We're the principal sponsors of the Ceph project but we also sell enterprise subscriptions, professional services and Ceph training to help people deploy Ceph and be successful with Ceph in production. And that was it. Thank you very much for your time. Here's my contact information if you wanna reach out to me and we have our booth right over here. You can see it from here and we'll be there the whole show to answer questions. So thank you very much.