I’m looking for a simple way to put the lab environment on a bootable USB drive for students. My school issues laptops to all students for coursework. Some students have a hard time with reliable internet access, making the online labs difficult. I am looking for an easy way to run the labs locally. Looking up the system requirements for RH294, our laptops have everything but the storage requirement. The school doesn’t put enough storage in the laptops to have room for the suggested 250GB min requirement detailed in this document https://www.redhat.com/rhdc/managed-files/tr-classroom-technology-requirements-datasheet-245740-2023... . I see two possible solutions.
1 creating a bootable RHEL 9 usb drive and having a short process to spin up the lab environment. The host RHEL 9 OS could double as the Student Workstation in the labs as long as it has access to the internet so that they can get the lab instructions and take screenshots along the way to prove their work.
2 Use the Windows environment already installed on the laptops with VMware Workstation (school provided license) and convert the lab machines to vmdk files that can be loaded from a usb drive to start up a lab environment.
It seems like there should be an easy way to get the Student Workstation, ServerA, ServerB, ServerC, and ServerD with all the associated scripts packed up into vmdk files or loaded on a RHEL 9 bootable usb without using 250GB of disk (250GB usb drives aren’t cheap when you multiply it by dozens of students.)
Side note I think it would be awesome to have students booting into a RHEL environment to carryout / learn Red Hat material, giving them an immersive experience
> "It seems like there should be an easy way to get the Student
> Workstation, ServerA, ServerB, ServerC, and ServerD with all
> the associated scripts packed up"
There are, quite a number.
First up there's infrastructure as code. You could use Vagrant to define multiple VMs, including scripts that do all the setup of software. I use this approach for the DevSecOps class that I teach.
Here's the Vagrantfile I use -> https://github.com/unixerius/DSO/blob/main/Lab%20setup/Vagrantfile
Your students would only need their hypervisor, plus Vagrant. They can then download the Vagrantfile and run "vagrant up" to build the VMs.
Upside is that it's very easy to destroy and redeploy the VMs. Also, the VMs are usually much smaller than the full VMDKs you're looking at copying.
In my homelab I also use Vagrant to deploy a number of Ansible targets, without much fuss at all. -> https://www.kilala.nl/index.php?id=2488
If you want to prepare ready-run VMs you could give them VMDKs, but you could also look at using Hashicorp's Packer. This is also the tool used to create images for Vagrant. That way you can give students the ready-to-run VMs, while making sure to save as much space as possible when building the VM yourself.
thanks for the reply, I have was reading your links and info about Packer. These look like neat packaging and deployment tools after I get the Red Hat lab images working. I'm working on getting an old hp gen8 server running ESXi and have VMware Workstation on my workstation. I'm not as familiar with the virtualization platform used by Red Hat or their file types. It'd be nice if the hypervisors could just get along with each others formats.