RHCSA: How to use Red Hat as a virtual machine host
Red Hat Virtualization
This is part 5 of the learning Red Hat series on my blog. If you use RHEL 7 or RHEL 8, did you know that you can use it as a virtual machine host – straight out of the box? This works on Centos 7 / 8 as well.
RHCSA MiniSeries
Part 1 – How to use Grep and Regular Expressions (RegEx)
Part 2 – How to manipulate files in RedHat
Part 3 – Red Hat Permissions
Part 4 – How to change the root password on Red Hat
Part 5 – How to use Red Hat as a virtual machine host
Part 6 – How to configure local storage
Part 7 – how to manage users and groups in Red Hat Linux
Part 8 – how to configure NTP Network Time Protocol in Red Hat
RHEL7/8 can be used as a virtual machine host.
There are a number of prerequistes needed to create a VM host.
First you need to check your CPU supports virtualization
grep -E '(vmx|svm)' /proc/cpuinfo
If this returns a value your CPU is compatable, if this command returns nothing then your CPU doesnt support Virtual Instructions. Note that you may need to enable this feature on your system BIOS – look for VT-x or AMD-V
The following system software is needed – here are the Pre-reqs:
- qemu-kvm
- python-virtinst
- libvirt
- libvirt-python
- virt-manager
- libguestfs-tools
- virt-install
- qemu-img
- Libvirt-client
These can be installed using yum. Here is the command you need:
redhat/centos
yum install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools virt-install qemu-img Libvirt-client -y
Enable Libvertd daemon
Systemctl enable libvirtd
Systemctl start libvirtd
Next you will need to configure the network
echo "net.ipv4.ip_forward = 1" | tee /etc/sysctl.conf# sysctl -p
Running Virt Manager in the GUI
Virtual Machine manager is a GUI application, using GNOME is the easiest way to get it working, otherwise you will need to configure X11 forwarding on your putty session.
Type Virt-install command line
virt-install \
--name centos7 \
--ram 1024 \
--disk
path=/path/to/disk.qcow2,size=8 \
--vcpus 1 \
--os-type linux \
--network bridge=virbr0 \
--location /path/to/linux.iso \
--extra-args 'console=ttyS0’
The above code will create a centos7 server with 1GB ram, 1 CPU and 8GB Hard disk
Running Virt Manager on the command line
You can use the virsh command to manually edit virtual machines.
- help
- list
- dumpxml
- start
- Destroy [STOP]
- reboot
- suspend / resume
- Undefine [DELETE]
- autostart
Virtual Machines dont start by default
Its important to note that virsh does not start VMs automatically by default.
Here are some useful commands to work around this:
Virsh autostart servername
[email protected] ~]# virsh list –all
Id Name State
—————————————————-
– centos7.0 shut off
– centos7.0-3 shut off – generic shut off
—
5 Ham