About-virtualization-simple: Difference between revisions

From Alpine Linux
(Add section objective, some links)
(add external links and texts)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
== What is virtualization ==
== What is virtualization ==
{{Pill||TODO|goldenrod|yellow}}
[https://en.wikipedia.org/wiki/Virtualization Virtualization] is software/emulated or shared version of running hardware.
* Desc
One can emulate various hardware combination, boot it from within your running OS,
Above is a short description, This is a vast area to explore, see some resource links below. This page and some more in '''section simple''' should get you started.
and install supported guest OS and software on it.
 
Above is a short description, this is a vast area to explore, see some resource links below.
 
This page and some more in [[#Using_virtualization_(simple) | '''section simple''']] should get you started.


== Types of virtualization ==
== Types of virtualization ==
* This is again a vast area to explore, see some resource links below.
* Aside from providing general virtualization tools/utilities packages, Alpine Linux supports virtualization extensively. See its download area exclusively for different platform it supports, [https://cdn.alpinelinux.org/v3.22/releases/cloud/ i.e. Cloud Images]
* Aside from providing general virtualization tools/utilities packages, Alpine Linux supports virtualization extensively. See its download area exclusively for different platform it supports, [https://cdn.alpinelinux.org/v3.22/releases/cloud/ i.e. Cloud Images]
* Scope of this page is to get you started with basic virtualization, using general available hardware(see [[#Test_bed | ''Test Bed'']]), for more see some [[#Resources | resource]] links below.


== Does my system/device support virtualization? ==
== Does my system/device support virtualization? ==
{{Pill||TODO|goldenrod|yellow}}
{{Pill||TODO|goldenrod|yellow}}
* Meaning, if your system/device provides some features to accelerate/enhance virtualization at hardware level.
* Add here bios screen-shots of some different brands.
* Add here bios screen-shots of some different brands.
<pre>
# cat /proc/cpuinfo | grep -io vmx | head -n1
vmx
</pre>


== Setup walkthrough ==
== Setup walkthrough ==
Line 24: Line 35:
=== Test bed ===
=== Test bed ===
{{Pill||WIP|goldenrod|yellow}}
{{Pill||WIP|goldenrod|yellow}}
* Describe here the test bed/setup used to run the scripts below.
* Describe here the test bed/setup used to run the scripts/commands below.
# MODEL: Dell Laptop.
# MODEL: Dell Laptop.
# CPU: Intel i5 3rd/4th generation with virtualization enabled.
# CPU: Intel i5 3rd/4th generation with virtualization enabled.
Line 45: Line 56:
This means your devices' virtualization feature is enabled in bios.
This means your devices' virtualization feature is enabled in bios.


Lets find your CPU brand/type.
* Does this mean if <code>/dev/kvm</code> is not available running ''virtual machines'' is not possible?
** No, you can still run ''virtual machines'', but may have some reduced performance or features.
 
 
Now, lets find your CPU brand/type.
<pre>
<pre>
# cat /proc/cpuinfo | grep -E 'model name|Processor'
# cat /proc/cpuinfo | grep -E 'model name|Processor'
Line 94: Line 109:


== Resources ==
== Resources ==
* https://cdn.alpinelinux.org/v3.22/releases/cloud/
# https://cdn.alpinelinux.org/v3.22/releases/cloud/
# https://wiki.alpinelinux.org/wiki/KVM
# https://www.linux-kvm.org/page/Main_Page
# https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
# https://en.wikipedia.org/wiki/Libvirt
# https://en.wikipedia.org/wiki/X86_virtualization#Intel_virtualization_(VT-x)
# https://en.wikipedia.org/wiki/Virtualization

Latest revision as of 20:26, 22 September 2025

What is virtualization

Virtualization is software/emulated or shared version of running hardware. One can emulate various hardware combination, boot it from within your running OS, and install supported guest OS and software on it.

Above is a short description, this is a vast area to explore, see some resource links below.

This page and some more in section simple should get you started.

Types of virtualization

  • Aside from providing general virtualization tools/utilities packages, Alpine Linux supports virtualization extensively. See its download area exclusively for different platform it supports, i.e. Cloud Images
  • Scope of this page is to get you started with basic virtualization, using general available hardware(see Test Bed), for more see some resource links below.

Does my system/device support virtualization?

TODO

  • Meaning, if your system/device provides some features to accelerate/enhance virtualization at hardware level.
  • Add here bios screen-shots of some different brands.
# cat /proc/cpuinfo | grep -io vmx | head -n1

vmx

Setup walkthrough

WIP

Basic check/setup to prep your system for virtualization usage.

Objective

  1. Install Alpine Linux.
  2. Verify if virtualization is enabled in bios.
  3. Enable/verify availability of /dev/kvm.
  4. Enable/verify correctly loading of virtualization kernel modules for usage.

Test bed

WIP

  • Describe here the test bed/setup used to run the scripts/commands below.
  1. MODEL: Dell Laptop.
  2. CPU: Intel i5 3rd/4th generation with virtualization enabled.
  3. RAM: 8GB

Install Alpine Linux

  1. Diskless installs (Ram based)
  2. SYS installs
Tip: - For further setup to work correctly, its assumed that Alpine Linux installed in, done for version between v3.21.x and v3.22.x

v3.21.x-v3.22.x

Manually fixing/enabling system level kvm modules (as root)

# ls -l /dev/kvm 

crw-rw---- 1 root kvm 10, 232 Sep 21 03:47 /dev/kvm

This means your devices' virtualization feature is enabled in bios.

  • Does this mean if /dev/kvm is not available running virtual machines is not possible?
    • No, you can still run virtual machines, but may have some reduced performance or features.


Now, lets find your CPU brand/type.

# cat /proc/cpuinfo | grep -E 'model name|Processor'

model name	: Intel(R) Core(TM) i5-3340M CPU @ 2.70GHz
...

Cpu is INTEL.

Lets load kvm module.

# modprobe kvm

Lets check current kvm modules already loaded.

# lsmod | grep kvm

kvm                  1392640  0
irqbypass              12288  1 kvm

If this does not show/load CPU specific kernel modules yet.

Lets load it.

# modprobe kvm_intel # for INTEL cpu

# modprobe kvm_amd # for AMD cpu

# lsmod | grep kvm

kvm_intel             409600  3
kvm                  1392640  2 kvm_intel
irqbypass              12288  1 kvm

CPU specific kernel modules are now loaded.

See also

Using virtualization (simple)

New: Walkthroughs

Using virtualization (advanced)

Resources

  1. https://cdn.alpinelinux.org/v3.22/releases/cloud/
  2. https://wiki.alpinelinux.org/wiki/KVM
  3. https://www.linux-kvm.org/page/Main_Page
  4. https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
  5. https://en.wikipedia.org/wiki/Libvirt
  6. https://en.wikipedia.org/wiki/X86_virtualization#Intel_virtualization_(VT-x)
  7. https://en.wikipedia.org/wiki/Virtualization