CIQ Migration Series: CentOS to Rocky Linux
- Migrate to Rocky Script for Small-scale Migrations
- Finding the Documentation
- Running the Migrate to Rocky Script
- Migrating from Cent 7 to Rocky 8
- In CentOS Box but not in Rocky Repo?
- Using Ansible to migrate from Cent to Rocky
- Can you use the Migrate to Rocky Script for other Migration Types?
- Will there be more talk on Warewulf and other Open HPC Events in the future?
- Do we support secure boot yet?
- Do we have a schedule of the webinars planned?
- Are we planning on creating any other OS based on Rocky?
- Do we post Ansible playbooks in libraries somewhere?
- Is there a location with instructions to download and burn Rocky to a live USB?
- Is there a community forum for Rocky?
- How to reach us?
- Zane Hamilton, Director of Sales Engineering at CIQ
- Neil Hanlon, Solutions Architect at CIQ
- Forrest Burt, High Performance Computing Systems Engineer at CIQ
Note: This transcript was created using speech recognition software. While it has been reviewed by human transcribers, it may contain errors.
Full Webinar Transcript:
Hello, and welcome to CIQ’s webcast of CentOS to Rocky Linux migration. We appreciate you guys coming today and spending time with us. Again, good morning, good afternoon, wherever you are. My name is Zane Hamilton, and I am a solutions architect director here at CIQ. One of the things that we are interested in is supporting the community and Rocky. We have several different projects that we are working on. Our CEO, Greg Kurtzer, is the founder of CentOS and several other projects. You will hear about these projects through our series of webinars. Those projects include Singularity, which transitioned to Apptainer, and is now a part of the Linux Foundation.
A provisioning software we have been working on is called Warewulf. Our latest project is Fuzzball, which should be released soon. We are excited to tell you about that in future webcasts. CIQ has been around for about two years and is interested in helping the migration from CentOS to Rocky Linux. We have made a lot of progress recently working with Rocky, which we are excited to show you.
Today we will show how to migrate from CentOS 8 to Rocky Linux 8. With us today, we have Forrest Burt, who will be showing that process and going through the script. After that, we will have a Q&A, so feel free to chime in and ask questions. We’re excited to hear from you guys about what’s going on out there and see if we can answer any questions for you. Stay tuned after that. We would like to hear from you and hear about your use cases. Please share this in the chat if you would like. We are here for free consultations. We want to talk to you about workloads and how else you guys have been using CentOS and Rocky today. With that, we would like to bring in Forrest.
Hello everyone. My name is Forrest Burt. I’m a high performance computing systems engineer here at CIQ. I’ve been with CIQ since last June. I was a big CentOS user at a place that I was at before CIQ. I helped CIS admin with some large-scale high performance computing resources, and we used CentOS as the main operating system. I also used CentOS as my workstation OS during that period, so I’m familiar with CentOS 7. I was dismayed that the end of life was happening with CentOS 8 so early. I was looking for a community-focused alternative that I could use as both a server OS and a workstation OS. I’m very happy to have the option to use Rocky Linux to fill that niche.
Migrate to Rocky Script for Small-Scale Migrations [02:45]
As Zane said, I will talk you through how to convert a CentOS 8 system to a Rocky 8 system using the “migrate to Rocky” script we provided. This script will swap out the repositories and packages that make up the CentOS 8 install and then reinstall new repositories for Rocky and new packages. I want to point out that this “migrate to Rocky” script works great for small-scale migrations, at least in the way I will be using it today. It works fantastic in how I’m going to show it through small-scale migrations. Maybe you’re moving over one server or your workstation, something like that, or maybe you want to play around with it in a test VM.
We’ll do more webinars later that’ll go over more large-scale enterprise-focused deployments and how to migrate in mass from CentOS 8 to Rocky 8, with tools like Ansible, Terraform, Cloudnet, Pulumi, and stuff like that. Today will be a basic webinar that’s just going to show how to do this for a single system using the “migrate to Rocky script”.
I have a terminal open here. The terminal is essentially a virt-manager sitting on a CentOS 8 VM. I’ll go ahead and unpause and start booting this. Once we start booting, I’ll show you how to get the script, how to set up the script, and how to run the script. So we’ll wait for this to boot here for just a moment to show you that I’m here on CentOS 8. I am just waiting a moment. I’ll go ahead and put the password in really quickly.
Finding the Documentation [04:38]
As you can see, we have cat/etc/os-release CentOS Linux version 8. We’re here on our CentOS 8 system. I’ll do a quick cat/etc/os-release, and I’ll scale up the size of the terminal so we can see a little better. Displayed on the screen, you’ll see that we have cat/etc/os-release, CentOS Linux, version 8. This shows that we are running on CentOS 8. I’m going to go ahead and pull up Firefox quickly so that we can go ahead and retrieve the script from where it is online. To do that, I will go ahead and Google “migrate to Rocky.”
As you can see, we have the documentation page for the migration script here on the Rocky Linux site. Before we start on anything, I recommend reading through all this information here. This document will go over some of your prerequisites and introduce this tool and how it works. There are a few caveats and warnings there. Check out the read me page. We’ll look at that in just a second. There are some caveats and warnings, and then the rest of this here is going over what I’m going to show today. As I said, I’m about to show this live, but there are some manual instructions to refer back to. So this is basically just getting the script, executing it, and then showing how that will work. So I won’t linger on this for too long.
Running the Migrate to Rocky Script [06:00]
We’ll go ahead and open this up now. And this is going to take us to the Rocky Linux GitHub, and you can see that we have this migrate2rocky script. This is the readme that it was referring to on that previous page. Please make sure to give this a look over. This page will tell you some disk space requirements there that you have to abide by. It will also tell you some known issues, things that don’t work, and things that you maybe need to account for if you have a more specialized environment. Like I said, in other webinars we’ll also look at more specialized enterprise-focused environments. Make sure that you look over this readme. As stated before, it goes over some issues and some brief requirements. That will be useful, but I’m just going to go ahead and run the script. I’m on a fresh VM here, so I don’t have any special considerations. So I’m just going to go ahead and grab this script.
And we will exit out of this and bring up a terminal. I’m going to make this font a little bit bigger. We have that script copied. All we need to do is just put it into a script file. So we’ll “command v” into one here and then paste that script there. You can see it’s somewhat lengthy, and we’ll go ahead and save that and then do a chmod u+x migrate2ocky.sh. There we go. That’ll make that script executable. From here, that’s all we have to do to get this set up, at least in this case. I will go ahead and run the script now, which will be sudo./migrate2rocky.sh and then provide the -r flag, which tells it to go ahead and run the migration.
It will prompt you for a password and then migrate to Rocky script. This install is made available at a location on your system here. I couldn’t tell you exactly where it is right off the top of my head, but I will show it to you in just a moment. You’ll see that this is going to start up. The first thing it is going to do is look at some of the repositories that are present on your system and where they map to in Rocky. You’ll see it’s going to do that for a few different repos here. Then we’re going to start downloading some packages. I think we’ve all watched plenty of installs and plenty of packages installed in our time.
After this runs here for a second, I’m going to switch to another VM that I have that is this same VM, except I’ve just run the script to completion, and it’s ready to reboot. As I said, this will be the form of execution for the rest of this migration before we do that. It will download all of these packages, 1,345 of them. And it will go ahead and swap out the installed CentOS packages for Rocky that were downloaded here. And I believe it has 2,600 packages in this VM that it must redo. So this migration on this VM takes approximately 20 minutes or so. And like I said, we won’t sit here and watch that for all those 20 minutes. I’m going to go ahead and switch this over. This will download and install just like any package install. I will go ahead and switch over to the other VM that I have prepared.
I’ll stop sharing here, and I will start sharing this one right here. Just make sure everyone can see that well enough. You can see I’m here on another VM; this is also just virt-manager. This is essentially just a clone of the VM I was on, except I’ve let that script run to completion and then paused it at the final step of it. That’s about 20 minutes of installation, 2,600 packages. We don’t want to sit through that, so I will go up here and unpause this VM. I’ll do this to increase the font so everyone can see it a little easier. I am scrolling back to this terminal output to show what this did. It doesn’t show it all, but you can see those 2,684 packages installed and verified, and then here, in the end, it’s complete. You get a little message from the script saying the installation is complete. After rebooting your system, a message will be found where the installation took place. I will go ahead and do a sudo reboot on this.
I’m not sure why I have that background there. But just to show you really quickly, some of our information is switched over here already. We’ll do a sudo reboot and then provide our password.
And we’ll see now that the branding has changed to Rocky. We now have Rocky Linux 8.5 available to select here. You can see that CentOS is available there, but I’ll boot into Rocky quickly and show what that’ll look like. As I said, you can see the branding and some things like that. So this will take a second to boot. And once I’m done with that, the migration is complete. You can go about using a renewed Rocky system. Then as far as the demo goes here, we’ll open it up to some Q&A. We have the Rocky branding, and now we are on Rocky Linux.
I’ve got a question for you. Why does it go through and add in room with the packages? What is it doing, or what are those packages doing in there?
Essentially it’s just taking out the CentOS 8 repositories that are maintained separately from Rocky Linux by the entities that maintain CentOS. It’s taking those repos out, replacing them with the Rocky Linux, and uninstalling the software that is made for the CentOS versions. Then installing the packages out of the Rocky repo is essentially what’s happening there.
Very good. Thank you.
One more time, cat /etc/os-release, and you can see that we are here on Rocky Linux. That is what I had for the migration demo. We’ll open up the Q&A, so feel free to ask your questions in whatever chat you have available, and we will answer as we can.
We have Neil who is a part of our support organization here as well. Welcome, Neil.
Migrating from Cent 7 to Rocky 8 [13:35]
Here is the first question: Is there a process for migrating from CentOS 7 to Rocky 8? That question has come up quite often. I’m sure you guys have come across this question before. How are we handling that today? What are our plans for that?
Yeah, there’s a couple of really great options. Personally, I would always recommend, if possible, to upgrade and switch over to the new operating system up to version 8 via a fresh install and using your configuration management, or if you don’t have configuration management, it’s a great time to start building that configuration management to have immutable or idempotent ways to deploy that infrastructure. So you can easily go between hosts. And if your host happens to go down, you can also use that same infrastructure to rebuild very quickly as part of your disaster recovery plan overall, which should be larger than that. But, for upgrading just in place, that is possible currently, AlmaLinux does a tool called ELevate that’s able to upgrade, and that uses the LEAP framework that Red Hat builds and is able to give to their customers as a value add to their support.
So that’s an open source project that they’ve released for the community that works to upgrade CentOS and other CentOS 7 to CentOS 8 or any other distribution. So you could actually go straight from CentOS 7 to Rocky Linux 8 in one fell swoop, but that is a really large jump from 7 to 8. We’re talking about years of Fedora code between those two releases. There is a lot that can change and it’s not impossible, but the option is not necessarily the best idea in my opinion. It works and there are people that have reported it working. So, there definitely is something to be said for that.
In CentOS Box but not in Rocky Repo? [15:45]
Excellent. Thank you for the question. One of the next questions is coming from C Lover, and it is about having something installed on my CentOS box, but it’s not in the Rocky repo. If you look at the way the migration script works, it’s looking for very specific packages that are associated with CentOS install. Those are the shared libraries that are very common and it tries to replace them with packages that Rocky has that are similar. It’s not going to look at every package you have and try to replace it if it’s not necessary for a part of that migration. So I don’t think that that’s something you’re going to have a problem with because it’s looking for something very specific, but I’ll let Neil and Forrest weigh in on that one.
That’s an excellent overview. Some release notes or other readme inside the migrate to Rocky folder. I don’t remember if Forrest touched on this, but there are a few things specifically to note about certain packages and modules like Java and so forth. There are a few things that should be reviewed there and the documentation on docs.rockylinux.org. Overall, I think that is an excellent overview.
Forrest, are you good?
Yeah. I’m good. Thank you, Neil.
Using Ansible to migrate from Cent to Rocky [17:05]
The next question is an interesting topic we’ll address in a future webinar. It’s about doing large-scale migrations from CentOS to Rocky, focused on the use of Ansible. I know Neil talked about idempotent earlier, and that’s a fantastic word used in Ansible quite often. I will let Neil take a shot at that one. Does it exist today? Is there anything we can do to help that from an Ansible playbook and that Ansible migration process?
One of the simplest things you could do is to write an Ansible playbook that goes through and upgrades your system to the latest CentOS 8 by the script itself. But, if you want to go ahead and pre-upgrade your host or hosts to the latest CentOS release, pretty quickly here because we only have about 11 days until it’s EOL. You can upgrade the host with Ansible and then deploy that migration to Rocky script to run it on the hosts either one by one or check your risk tolerance. Make sure you have backups, which you could also integrate as part of that script. I think that’s something that we’ve been looking into. It’s been asked before, and people are looking for it to work on some frameworks that might help in certain scenarios. Whether you’re running over a cluster or an open stack or VMware. How to upgrade those hosts in certain situations to help the community and people that are trying to get out of this kind of situation that we’re in and in a quick manner that will enable them to get on with their lives
To touch on our side of it a little bit, we are, as I alluded to at the start of this, planning to do more of these webinars. This webinar mainly focused on setting up a test bed, moving one workstation, or something like that over. Future webinars will go into some more enterprise-scale migration topics. Like we talked about using Ansible, maybe using Terraform, Cloudnet, Pulumi, and other tools. We plan to cover that in future webinars, those more large-scale, enterprise-based migrations.
Can you use the Migrate to Rocky Script for other Migration Types? [19:27]
One of the other questions that has come up is focused on CentOS to Rocky migrations today. I know there are different RPM-based variants out there that do migrations from one or the other. Is this something we would look at from anything other than CentOS to a Rocky migration? Is that script viable? Could you make the changes fairly easy to do that migration? Have we had other customers do that?
I would like to look at exactly what the other supported distros are, but I’m fairly certain it also supports converting Rocky from a couple of others. Let me take a look quickly. It’s right there on that documentation page for the Rocky Linux site. “Alma, Oracle Linux.” It also supports switching to Rocky from Alma or Oracle Linux. I just wanted to confirm that.
I think it’s been tested, or a previous version has been tested on Red Hat. We probably could repeat that test. I’d been thinking from the Rocky Linux side to run some integration testing playbooks in our GitLab to ensure that the script is working on testing every day or spin up a VM and convert it over. So maybe that’s a project for next week.
Will there be more talk on Warewulf and other Open HPC Events in the future? [20:45]
Will we talk about Warewulf and other open HPC events in the future? To answer that question, yes, we are. That is a part of this series. We are going to go into the other parts of our portfolio. Forrest will be back doing demos of other great things that we are working on. We will not just be talking about Rocky going forward. However, Rocky is a good focus for us. It is not the only thing we do. So yes, we will be talking about open HPC and HPC 2.0 and everything we’re doing around that going forward.
Do we support secure boot yet? [21:19]
So one of the things we run across quite often is people asking about security and how Rocky Linux will be different when it comes to security. One of the questions I ran across today was, do we support secure boot yet? Yes. As Rocky 8.5, secure boot is supported, so that is no longer a concern. We are working on getting our FIPS certification. That will be coming here shortly as well. As a part of a partnership, we are working with another security company to compile into Rocky as it goes into the build process. A tool that is capable of in-memory randomization for most of the shared libraries that are compiled into the kernel and as a part of the base Rocky Linux. That eliminates between 40% and 50% of in-memory attacks. Making Rocky, by default, a lot more secure to be extended into your software and compiled with software to take it beyond that 40% and 50%.
We are very interested in security. We are interested in what else we can do with Rocky and where we can go with Rocky outside of just being a one-for-one RPM-based distro. So we want to add value. The other thing we’ve looked at and focused on is making sure that Rocky is a large community-driven tool. It’s not one of the others that is smaller. We have about 15,000 people now as a part of the community. So it has grown very quickly. Its first release was in July, so between July and now, we’ve gotten 15,000 people, around 10 million downloads and installs. So it’s growing quite a lot.
One of the central hubs of that Rocky Linux community is the Mattermost channel that we have. There is a lot of discussion about Rocky Linux, generally the development of it as well as different special interest groups that are using Rocky for a lot of different things. A lot of different info in there. If you’re interested in joining and interacting with the community, then Mattermost would be a great option. Just to play that off and put a plug in for our Mattermost channel.
Do we have a schedule of the webinars planned? [23:29]
Excellent. Thank you for that, Forrest. Another good question about these webinars going forward. Do we have a schedule of the webinars planned? We have an idea of how we’re going to do this. We haven’t published it yet. I am pretty sure that our marketing guy is sitting there with his wheels spinning right now, trying to hit me and tell me what to say. What we’re looking at is doing at least one of these, once a month, if not every other week. You’ll start to see quite a bit more coming out of CIQ, what we’re working on, and how we’re helping drive the community. So stay tuned. I just got confirmation, once every two weeks. I’ll make Neil come back every two weeks too. Anything else you would like to cover while we’re here, Forrest or Neil? Anything that’s burning on the top of mind for you?
Nothing too particular for me, just that I’m happy using Rocky as always. I use it as a daily driver for my workstation. So I’m very pleased with Rocky. I find it to be a great drop-in replacement for CentOS. And I have had no complaints about it. I’m excited to continue with more of these webinars and get more info about it out there.
Yeah, definitely. Nothing else is top of mind for me, but it’s the end of the day here so food’s on the mind instead.
Are we planning on creating any other OS based on Rocky? [24:59]
C Lover asked, are we planning on creating any other OS based on Rocky? I think this is one of the things that we get excited about when we start looking at the roadmap of Rocky and what Rocky can become. If you look at most of the RPM-based distros out there and some of the others, like Ubuntu, typically, the RPM ones look old and behind. The kernels are older. If you start digging in, it’s 18 months to two years behind from a kernel standpoint. We’ve looked at having another spinoff of Rocky, called something like Rocky mainline, where it will implement the mainline kernel. So it will be more up-to-date and equivalent with the other distros out there, especially around cloud environments.
So yes, we will have other distros that you will see that are optimized for different things. Cloud environment containers are very big for us. We have our container platform, Singularity, now called Apptainer. Being a part of that base container image is very big for us. We have a lot of customers asking for that. So you will see more and more about that in these future webinars. I am sure.
Just to add a little bit more there. I wanted to say that I already use Rocky as the base image for many containers I build. What I do with certain things. I already work with Docker, and all that on Rocky. We have a lot of plans for different optimizations. If you’re looking for a general base image, or if you’re looking for something to deploy on a containerization platform. Rocky is already a fantastic solution.
Do we post Ansible playbooks in libraries somewhere? [26:46]
The next question is, do we post Ansible playbooks in libraries somewhere? I have not seen it as of yet. I’m not going to say that there is not another community that is large and growing. If you search GitHub quite enough, you can find whatever you’re looking for. Just like everything else in Ansible. But I’m not going to speak for CIQ because I don’t know if we are.
No, I don’t think we do as of now.
Is there a location with instructions to download and burn Rocky to a live USB? [27:13]
Oh, a lot of ways to go about doing that, Keith. Is there a location with instructions to download and burn Rocky to a live USB? That is one of those things that we could probably point you to an article, or we could follow up with you if you want to shoot one of us an email or a note at [email protected] Shoot me something, and we can help you with that for sure.
Yeah. I think it’s also in the installation instructions on docs.rockylinux.org.
Just to move back to that previous question for future webinars that we’ll do, if we have some materials that you could use to replicate, mess around with it on your own. We’ll make sure to make those materials available so people can follow along with a recording if they want to do it for themselves.
And sorry, I misspoke; it’s [email protected]
I do not see anything else. Again, this is just the beginning for us. This webinar is going to be an every two-week thing. We’re looking forward to seeing what you guys bring. Always looking forward to your questions, we like to hear about your workloads and whatever you’re working on. If you have other ideas or suggestions for things you would like to see, we’re always interested to hear how we can help the community grow. We want to make sure you guys are successful. We want to spend our time with people, not servers. So thank you very much.
Is there a community forum for Rocky? [28:52]
Community forums for Rocky? forums.rocky.org should be all of the community for Rocky. Anyone else.
Not only is there a live USB version of Rocky for any hobbyists. There is even somebody who has put together Raspberry Pi images that you can burn and use on your little microcomputer platforms. So those are pretty fun to mess around with.
I have done that one. That’s actually running a desktop for me.
How to reach us? [29:40]
Do you have any suggestions on how we can reach you? A lot of different ways. You can send us emails. You can join the actual community and start contributing back to the Mattermost forums. There are a lot of different ways, but we would love to talk to you and help. Whatever becomes the best way for you to give us feedback is how we want to help you. Again, shoot me an email [email protected], and we can get started. Join the community at rocky.org.
We appreciate the time. We are here for you, with free consultations. Feel free to reach out to us, and let us know how we can help. We are always willing to do whatever we can to make this community grow and improve. We appreciate your time and look forward to two weeks from today.
Thank you all. I appreciate everyone being here. Neil, thank you for your information and Zane for posting. Thank you, everyone. Looking forward to the next one in two weeks.