 I'm here for more systems and XC PNG has been my favorite hypervisor for a long time and I want to do a new series on how to get started with XC PNG and that's going to require this video because I want to make a reference for what the whole project is what Zen server is what Zen Orchestra is what XC PNG is in its current state. That way we have a good starting off point for those you that aren't familiar all with the project because the project has changed a lot since the videos I've done in the past on it and it's improved so much it's progressed a lot and it's used by many many companies we do a lot of consulting with it and it's amazing how much the team has accomplished over the last few years since this project launched in 2018 but the Zen hypervisor actually marking here in October of 2023 is now 20 years old itself so this project has long roots in the Linux history is actually part of the Linux Foundation project so we're going to start a little bit of history then we're going to dive into how the system works functionally kind of an overview so we're all on the same page for those of you that go what is the Zen API and how are all these different tools different to each other and how are they integrated with each other so let's get started with that if you just want to jump to any of the playlists or time indexes I have playlists listed down below time indexes of course for in this video so you can jump to the part that's most interesting you so let's get started before we get to XC PNG I want to talk about Zen project which is a Linux Foundation project this has been around for 20 years as the recording this video this is the hypervisor that powers a lot more than just XC PNG now the Zen project being that it's controlled by the Linux Foundation it's part of the Linux Foundation projects it is extremely well supported well funded they have conferences it is very very actively developed anyone time I see people tell me that they think it's kind of old and dead or not being developed I'm like you're quite wrong about that this is actually a very active project virtualization is obviously what we're speaking on specifically but Zen is also used in the cloud not just any cloud this is actually still powering the majority of AWS AWS did start their Nitro system which does use KVM but it hasn't replaced the entirety of AWS and I don't think it will then is really at the core of a lot of these companies and that doesn't include the Alibaba cloud Oracle cloud Rackspace public cloud and IBM cloud security the safest and most reliable hypervisor to use security first environments due to lean architecture advanced security features and an industry leading security disclosure process you really want to spend some time on the Zen project and dig into how they do things they have an absolute clear process and clear team working on security this is also a very forward-thinking project from its architecture the way it partitions things out this is good and bad in terms of development great for security harder for development that's the bad part why some people or why fewer companies other than the larger ones generally jump into Zen as the hypervisor of choice it just creates a lot of challenges around it is actually used extensively in the automotive and embedded industries if you start digging around a Zen project site and go down that rabbit hole you will find that it's in all kinds of industrial control systems there's a lot of specialized hypervisors for specialized environments that are all based on Zen the really important glue that holds us all together is the Zen API the X API this is how the servers communicate so XP and G relies heavily on this and it's going to be important later on because this is how Zen Orchestra talks to an orchestrates this now because this whole tool stack has been around for a long time there is actually a lot of documentation and you can develop a lot of automation for this because you have a full API interface to make all these changes and controls to the system which is how the Zen Orchestra system works when we get to that part you'll just notice that I put that it's using the X API protocol this is the primary way it's going to communicate with all of this and it's also lends itself well to doing scripting and any of the automations you may want to do yourself for Zen so it gives you a nice interface to talk to these different devices now the next company I want to mention is Bates because a little bit of history and a little bit of background Bates is the company behind both XP and G and Zen Orchestra those are two separate products that they make but Zen Orchestra is an orchestration tool for XP and G if you didn't use and orchestra well they have XO like that is in beta as of the recording this video that will be something I do a video on in the future which can control it as well but you can control it from just the command line and the API commands if you want that actually is a thing you can do it's just not obviously that easy to do there was a Windows tool to manage it so pretty much you use Zen Orchestra with XP and G it is the best choice for managing it Bates is the company behind it that matters because they make the Zen Orchestra system and it comes in two flavors I want to get that very clear right here you can get XO a or XO appliance is what they're referring to or Zen Orchestra appliance that is a supported delivered for businesses automatically updating system that is easy to deploy and comes with support that you can buy that's where there's pricing at the top but all of this is open source if you would like to compile it yourself you'll find in my playlist a video of how to compile this you'll find detailed instructions by the team at Bates on how to compile this so if you're a home user or you want to build this in your lab and test it out you can compile and get this full experience of all the fun tools and the things I've talked about in my videos almost all the videos I've done on Zen Orchestra I've done with the fully open source self compiled version because I want you to understand that you can do this yourself you can grab the code you can build it but if you are going to use this in a business you can get support you can have this delivered as an automatic updating solution and they refer that to this or appliance version now you'll find old videos that I did on Citrix Zen server this was Citrix version of Zen server and this is prior to 2018 now they still have it today and I believe they've dropped the word Citrix and just call it Zen server that's their name this is separate from the Zen project but it is the Zen hypervisor and it's spun by Citrix Citrix made the community very angry by having a point release update that removed a bunch of features and put them all behind a paywall so you had a functioning Zen server you loaded an update and the features went away and people like well what happened and Citrix like yeah we decided to start charging for things that were free well a point release version ago and we put it in the notes didn't you read it before you clicked update and by the way you can't go back so Citrix really angered the Zen community and a thing happened on Kickstarter this is where back to Oliver Lambert the president behind the VATES company said you know why don't we just spin this ourselves and manage XCPNG we already have Zen orchestra products so why don't we become the maintainers of this and grow the company and do it a Kickstarter and his Kickstarter went extremely well back in 2018 October of 2023 this has become an extremely popular project especially because it is a drop in replacement for Citrix Zen server without any license fees or any features that you have to buy you can buy support there's a button up there on their website that says pro support if you'd like to purchase support but you can just download this and run it you can grab out an ISO with no license fees attached to it you download it you can start running it and managing all of this hypervisor goodness from here it has become an amazing project that I'm excited about that's why this whole video is about now let's get into how XCPNG works and the term pool versus host matters a lot first every host has to belong to a pool many hosts can belong to the same pool but even if you have a single host it's still a pool this is not a cluster that is not a word used exactly in the Zen Orchestra and XCPNG verbiage we start with the pool and we have a host in the pool inside the pools where you define your network interfaces for all the virtual machines so whether they're VLANs or LACP bonds or whatever you want to do with them you may set them up on the host and attach them to the pool network interfaces so we have the physical you know ETH 0 ETH 1 etc that's on a host and then that maps to the pool network so there is a level of definition between them but you're always defining network at the pool level because it's a resource pool this one host may have local storage and we'll get to remote storage and we'll get to Zen Orchestra in a moment but it's just important to understand how the pools work because when we add more hosts to that same pool we map the ETH 0 and ETH 1 of each one of these hosts so all the physical interfaces for the network but you're always defining the pool network so when I define a VLAN on the pool network all the hosts in that pool get that same VLAN design that can be attached to any one of the VMs so if I have a VM running on either host and I move it from one host to the other it's always going to get those resources defined by the pool in terms of the networking so the networking is always defined at the pool level now let's say we have three hosts and then we have a shared storage when a shared storage is within a pool this allows that shared storage to be shared as the name implies between all three hosts at once so those can have local storage where a VM can live but maybe you want that virtual machine and this is a complete live migration option we can live migrate the running VMs storage right down to the shared storage then from there we can live migrate the VM between any one of the three hosts what enables this to work so seamlessly is when you have the pool network set up because it doesn't matter which host you start the VM on when you've defined a network interface to the virtual machines they are defined within the pool network and because it all has to match on all the hosts no problem that VM can start on any host and it always will work and be attached to the network expected this is a little bit of pre-work and you can remap interfaces and obviously this is most ideal as any virtualization platform is to have all the hosts be as similar as possible because that's obviously going to be the best way to do it you can't have one host with four network interfaces and another one with only two because well if those interfaces aren't available how would you start the VM on the interface list host where they need to match so resource pools really do homogenize if you will how all these hosts present things it doesn't mean you can't have extra interfaces just when you define them they should match and then these shared storage this also is really nice because as you bring in more hosts especially when you're doing series of them that are all the same they automatically get all the resources so you don't really have to assign anything the host is can be popped in the host is can be popped back out and reset reformatted whatever and then brought back in not a big deal because all the data is built at the pool level that data is replicated across all the currently joined hosts but the master host is the one that will always be in charge of it now that can change you can dynamically switch who the master host is they all stay in sync with each other so if you have to maintenance the master one you just tell a different one to be mastered the process is really smooth and in an H a situation you can automate more of that you can automate failures you need a minimum of three hosts to solve the split plane problem if you want to do an H a so you have a shared storage and then you have the host and yeah it just will auto-elect so one of them goes down no big deal it can automatically switch there's a lot of automation that can be easily set up in here and I've got videos on that we'll talk about that later you can also create many shared storage all dynamically and as you add shared storage to the pool that also gets added to all the hosts simultaneously so when you're building these out this is not advantage of a resource pool is once you have it built when I add a shared storage device to it and I can add quite a few of them or you know I want to expand and I add one more it automatically adds it to all of them so they all become something that the host can just use dynamically as you spend them up and for those wondering xcpng pools can go up to 64 hosts in a single resource pool now just because something's not in a resource pool resource pool does all the things I had mentioned about shared resources between the network interfaces and the shared storage but you can still move and we'll talk about that in a moment the VMs in and out of one resource pool and into another so you could build a thousand hosts and then break them out divide them up into groups of hosts based on different parameters you may have but then you didn't lose the ability to move virtual machines between pools that's actually a cool feature and that's where your zen orchestra comes in speaking with the xcpi that's how all this stays in control now zen orchestra does not have to be running for the xcpng host to do their thing so they can spin on VMs run the VMs those VMs will be functional but the zen orchestra first reads via the xcpi the status of everything and that's how zen orchestra populates it when you connect it to a host you just have to give it username and password for the host and it goes okay here's all the stuff I'm going to read from the database and present it to you on the screen if you make any changes in zen orchestra it just pushes via the zen api back to each one of these xcpng hosts one instance of zen orchestra can talk to many different hosts and many different pools simultaneously so it has a relationship that's a lot more than just one to one it's one to many matter of fact this is kind of an interesting feature is that it's one to many and many to one so you can simultaneously have two instances of zen orchestra connected to all these different pools so I actually have this setup because then orchestra itself is a virtual machine generally that runs on one of the hosts or you can build a VM that runs on your local desktop that runs an orchestra that you spin up and you can have that as a spare and because then orchestra just needs a username and password to read the data from the xcpng host you can also use an orchestra just to start it up and reconnect and get something done because one of them went down just a really cool concept the way they work of note here is the remotes on the side remote is the term they have for backup locations I got a really good video where I deep dive into all the backup features this is a way that zen orchestra can use an SMB NFS or s3 as a storage device for backing up all the virtual machines so it can be attached to all these different resource pools and we can then run a backup job that sends it to and whatever NAS storage you want on the other side there's nothing proprietary about it you can do it on a standard SMB share NFS share or s3 bucket and I should say s3 compatible storage so there's actually ways to get this attached to not necessarily an Amazon s3 but something else that emulates s3 which a lot of things do so this gives you a lot of different storage options for how you may want to backup your VMs and then orchestra orchestrates all those backups and of course the restores as well so you can backup from your first pool and then restore to your next pool or your third pool however you'd like to do it and one more interesting scenario is the concept of proxy workers because this actually works over a VPN the XEPI is actually pretty lightweight but as I mentioned about the backups backup sideways here not a lightweight thing depending on the size of the VM migrating that data across the VPN may not be that reasonable so there's actually an option in Zen Orchestra to use a proxy worker that is offsite you can have XEPI communicating with a few local hosts and then you can have a VPN that gets you to your remote hosts but when you want to do the backup the proxy worker is actually going to talk to the last storage on behalf of your Zen Orchestra so you can actually manage this completely remotely and maybe at the remote site there's another person there managing the Zen pool with their own Zen Orchestra instance these are once again dynamic ways you can allocate this you can have multiple instances of Zen Orchestra and a touch again on the backups these are some of the backup features in their documentation and by the way the whole Zen Projects documentation has really come a long way since this launched in 2018 here in 2023 or whenever you're watching this video it just keeps getting better but the backup specifically we have rolling snapshots full backups incremental backups full replications metadata backups which means the pool data itself file level backups mirror backups and my favorite thing is it'll actually do test restores so you can have an automated system that backs up from one pool restores that VM as a test back to the pool and then determines whether or not that VM booted lets you know and that's all part of the process to make this even more fun you can actually back up from one pool and maybe have a whole completely separate pool that you do your test restore maybe it's your DR your whole disaster recovery planning as a separate pool you can actually do a test restore on that backup and automate it to a different pool than what it was backed up on now this is as much as I have to say about XC PNG Zen Orchestra on the Zen Project in this video but there's still more check out their documentation check out my playlist I have that covers a lot of different topics and deep dives on everything from memory management to processors to how Zen Orchestra handles all the backups and even some disaster recovery planning also check out their blog at Zen Orchestra and XC PNG they give all the details of the new releases their forms are very active by the developers themselves who spend a lot of time answering questions and engage you in the community to constantly improve the product and their engagement level is really high which makes it a lot of fun just to go in there and read all the latest developments and challenges I've participated in there myself because of the amount of consulting we do with Zen and what we see from our clients that are using it and some of them are using thousands of virtual machines this system scales very well if you'd like to like and subscribe that would be great always appreciate that if you want to connect with me find me over in my forums or head over to lawrencesystems.com and connect with me with whatever socials are available at the time you go there alright and thanks