Cloud And Virtualization In Linux happen to be two very vast technologies that deserve their own textbooks. This guide, ‘Cloud And Virtualization In Linux’ does not aim to discuss everything cloud and virtualization related. The idea here is to give you an introduction to these subject areas.
While these technologies still boost great buzz words, they are no longer new in the technology arena. Every great Linux system and network enthusiast should know a thing or two about various cloud platforms like AWS, Azure, google cloud, and the technologies that run them including the underlying virtualization technologies.
Like we have said, we will give you a complete guide into these subjects but, we will define some key terms and commands used in the cloud and virtualization environments. Let’s get started.
CLOUD AND VIRTUALIZATION IN LINUX.
First off, we will talk about what a virtual machine is.
A virtual machine is an operating system that sits on top of a physical computer system and shares all its hardware resources. The hypervisor software is responsible for enabling a software called a virtual machine to sit atop a physical computer system.
Advantages of Virtual Machine.
- You can easily clone a virtual machine in a matter of minutes
- You can easily move your virtual machine from one computer system to another.
While the advantages of virtual machines are numerous, it will be worth mentioning another type of virtual machine which is actually called containers.
Containers: are similar to virtual machines but they are more lightweight. Containers are like applications that run on top of a software. With container Softwares like docker, you can have more operating systems atop a system compared to virtual machines.
VIRTUAL MACHINE TOOLS
virsh: command-line tool to manage virtual machines.
vmm: virtual machine manager
libvirt: tool that provides an interface between the hypervisor and the kernel.
TYPES OF HYPERVISOR
There are basically two types of hypervisor, namely:
- Hosted Hypervisor: These hypervisors are also called type-2 hypervisors. E.G Virtualbox, Vmware, and a host of others use this hypervisor.
- Native Hypervisor: Also referred to as a type-1 hypervisor. It is used by Hyper-V KVM, Vmware Vsphere
CLOUD AUTOMATION OS INSTALLATION TOOLS
The terms used here are to correctly explain the automation of operating system install.
cloud-init: command can be used to initialize a cloud instance. Note that it uses an already provisioned image.
Anaconda: is an open-source installer program used by RedHat, centos. It contains an installer file called kickstart that can automate installations by providing answers to all questions anaconda asks. This file contains all the answers for installation and post configuration tasks such as creating user accounts e.t.c
The limitation of this file is that network configuration answers cannot be made in them.
Storage concepts such as thin and thick provisioning, block, persistent volume is often associated with cloud storage. Let’s define some of them.
Thick Provisioning: is a storage situation where a host request a certain amount of storage space and that exact amount of storage space is given to it whether it actually uses it or not.
Thin Provisioning: is a storage concept where a certain amount of storage space is requested by a host, but it only receives the amount of storage space it actually needs and will use at that point in time. As the need arises, more storage space is given to the host up till the exact amount requested. This storage situation is normally used in cloud environments.
Blob: are large data stored as single objects in the database. A blob Is limited to 64MB. No wonder some databases have images stored as a blob.
Another popular type of blob is the page blob that is limited to 152MB and can hold 1TB pages.
Block: are physical storage devices e.g SSD, SAN, RAID, SATA DRIVES.
Persistent Volume: are storage spaces on physical devices (block). They are persistent because they tend to be oblivious of any physical storage device change.
When working in the cloud, it is good to be aware of some networking concepts like:
Overlay Network: is a network built on top of another network. For example, there may be a need to merge or use two networks that do not support each other. Very much like the optical network and IP network. What happens here is the use of an overlay network, where, one network is encapsulated and the other network is built on top of the encapsulated network.
NAT NETWORK: Stands for network address translation. They simply translate addresses in the private IP address range and route them in a format that the public network will understand.
DUAL HOMED NETWORK: They usually have more than one network card for redundancy. These cards are connected to different networks such that even when one interface goes down, the other interface continues to supply network information to the host.
LOCAL AREA NETWORK: All computer systems and devices that are connected to the same local network, have access, and can communicate with each other.
This is how far we will go in this Cloud And Virtualization In Linux – An Introduction
Next up, we will look at localization options In a Linux machine.
Just in case you missed this: