Linux virtual machine software

Top 10 Linux Virtualization Software

V irtualization is the latest buzz word. You may wonder computers are getting cheaper every day, why should I care and why should I use virtualization? Virtualization is a broad term that refers to the abstraction of computer resources such as:

  1. Platform Virtualization
  2. Resource Virtualization
  3. Storage Virtualization
  4. Network Virtualization
  5. Desktop Virtualization

This article describes why you need virtualization and list commonly used FOSS and proprietary Linux virtualization software.

Why should I use virtualization?

  • Consolidation – It means combining multiple software workloads on one computer system. You can run various virtual machines in order to save money and power (electricity).
  • Testing – You can test various configuration. You can create less resource hungry and low priority virtual machines (VM). Often, I test new Linux distro inside VM. This is also good for students who wish to learn new operating systems and programming languages / database without making any changes to working environment. At my work place I give developers virtual test machines for testing and debugging their software.
  • Security and Isolation – If mail server or any other app gets cracked, only that VM will be under control of the attacker. Also, isolation means misbehaving apps (e.g. memory leaks) cannot bring down whole server.

Open Source Linux Virtualization Software

  1. OpenVZ is an operating system-level virtualization technology based on the Linux kernel and operating system.
  2. Xen is a virtual machine monitor for 32 / 64 bit Intel / AMD (IA 64) and PowerPC 970 architectures. It allows several guest operating systems to be executed on the same computer hardware concurrently. XEN is included with most popular Linux distributions such as Debian, Ubuntu, CentOS, RHEL, Fedora and many others.
  3. Kernel-based Virtual Machine (KVM) is a Linux kernel virtualization infrastructure. KVM currently supports native virtualization using Intel VT or AMD-V. A wide variety of guest operating systems work with KVM, including many flavours of Linux, BSD, Solaris, and Windows etc. KVM is included with Debian, OpenSuse and other Linux distributions.
  4. Linux-VServer is a virtual private server implementation done by adding operating system-level virtualization capabilities to the Linux kernel.
  5. VirtualBox is an x86 virtualization software package, developed by Sun Microsystems as part of its Sun xVM virtualization platform. Supported host operating systems include Linux, Mac OS X, OS/2 Warp, Windows XP or Vista, and Solaris, while supported guest operating systems include FreeBSD, Linux, OpenBSD, OS/2 Warp, Windows and Solaris.
  6. Bochs is a portable x86 and AMD64 PC emulator and debugger. Many guest operating systems can be run using the emulator including DOS, several versions of Microsoft Windows, BSDs, Linux, AmigaOS, Rhapsody and MorphOS. Bochs can run on many host operating systems, like Windows, Windows Mobile, Linux and Mac OS X.
  7. User Mode Linux (UML) was the first virtualization technology for Linux. User-mode Linux is generally considered to have lower performance than some competing technologies, such as Xen and OpenVZ. Future work in adding support for x86 virtualization to UML may reduce this disadvantage.

Proprietary Linux Virtualization Software

  1. VMware ESX Server and VMWare Server – VMware Server (also known as GSX Server) is an entry-level server virtualization software. VMware ESX Server is an enterprise-level virtualization product providing data center virtualization. It can run various guest operating systems such as FreeBSD, Linux, Solaris, Windows and others.
  2. Commercial implementations of XEN available with various features and support.
    • Citrix XenServer : XenServer is based on the open source Xen hypervisor, an exceptionally lean technology that delivers low overhead and near-native performance.
    • Oracle VM : Oracle VM is based on the open-source Xen hypervisor technology, supports both Windows and Linux guests and includes an integrated Web browser based management console. Oracle VM features fully tested and certified Oracle Applications stack in an enterprise virtualization environment.
    • Sun xVM : The xVM Server uses a bare-metal hypervisor based on the open source Xen under a Solaris environment on x86-64 systems. On SPARC systems, xVM is based on Sun’s Logical Domains and Solaris. Sun plans to support Microsoft Windows (on x86-64 systems only), Linux, and Solaris as guest operating systems.
  3. Parallels Virtuozzo Containers – It is an operating system-level virtualization product designed for large-scale homegenous server environments and data centers. Parallels Virtuozzo Containers is compatible with x86, x86-64 and IA-64 platforms. You can run various Linux distributions inside Parallels Virtuozzo Containers.

Personally, I’ve used VMware ESX / Server, XEN, OpenVZ and VirtualBox.

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard
Читайте также:  Пропало меню windows мой компьютер

Join Patreon

Category List of Unix and Linux commands
Documentation help • mandb • man • pinfo
Disk space analyzers df • duf • ncdu • pydf
File Management cat • cp • less • mkdir • more • tree
Firewall Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
Linux Desktop Apps Skype • Spotify • VLC 3
Modern utilities bat • exa
Network Utilities NetHogs • dig • host • ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
Package Manager apk • apt
Processes Management bg • chroot • cron • disown • fg • glances • gtop • jobs • killall • kill • pidof • pstree • pwdx • time • vtop
Searching ag • grep • whereis • which
Shell builtins compgen • echo • printf
Text processing cut • rev
User Information groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w
WireGuard VPN Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04

Comments on this entry are closed.

I use VMWare EXS “trial ver”…. after it expire, I think I will use VMWare EXSi (that one is free).
I want to use it to host 5 or 6 guests only, not for testing, but operate and run multiple services (like apache, openvpn, firewall…etc)
But,
is this a right choice. I dont know. that the only one I tried….. can you plz advice what is the best.

Can you tell me more about your requirements and features you would like to have for VM such as backup, vmotion, number of servers, storage etc?

If you have just one server and no other enterprise grade stuff such as SAN, then EXSi should be fine.

I have been running VM Server 1.0.8 on a Ubuntu Server Host for a couple of months. I have been able run several different OS’s as guest successfully, including a virtual Ubuntu server that handles my apache and postfix. To say I am a novice with IT would be kind.

Yes, Only one server with no thing else. I will take you advice and use EXSi. thanks.

Couple of notes:

Too bad you did not mention Proxmox VE (Link). Rather unique in that it supports both OpenVZ containers and KVM virtualization. Nearly all management is via a web front end. Out of the download it also supports clustering and movement of VMs within the cluster. I have had several installations running for well over a year and not a peep of trouble.

I actually do what you want (apaches, vpn, etc on different guests) using VirtualBox. I run a small script to set up the TAP/TUN networking then run all the guests with host mode networking. It works quite well. Running several instances of Ubuntu, Red Hat, etc in this manner eats up resources faster than doing so with something like OpenVZ containers however.

I mitigate that by running something like DSL or Slitaz in memory as a guest then save the instance state. I do not have to set up a virtual drive (VDI) in VBox though I run the risk of losing state if I forget to save it properly. So for about 256mb of memory per instance I can run Apache, VPN, etc and do all the testing I need. Its a great workaround, setup/teardown is very fast and the whole affair is no cost. I run the host and upto 4 guests in this manner in under 2Gb memory on a AMD 64×2 dual core box.

I like VMware, but I am having some problems with the web management interface from time to time in VMware server 2.0. For some reason I have been having issues connecting to my VMs from the web interface, I get errors and I cannot seem to find the reason behind it. However I can VNC and ssh to the bridged interfaces, but it can be hassle a to get to the back end machines that are connected to my NAT and host networks. OpenVZ is kool, but it can be a pain to set up, but once set up, it is fantastic. Still needs work on making the administration a little easier, but I have had good success with it.

Nice compilation I am currently using virtualbox for running some Windows apps in Linux.

JohnMc,
Thanks, I will try that before go to EXSi. Thanks again.

I tried VirtualBox, it is look faster than VMWare…..

How Can I move my guests OS from EXS to virtualBox.

You can import images as VirtualBox can use VMware images (*.vmdk) directly. See my post and comment section for video:

I found nice article talking about that, I want to share it with all Link

Vivek Gite
Thanks, it is seem that your way is easier…… thanks.

i have only using virtual box. last release i guess is make me more comfortable allowed ping from nat guest and host interface configuration make easy. Have a try hope you will enjoy…

Minor correction: VirtualBox was developed by Innotek, which was then purchased by Sun Microsystems.

I have one specific requirement. Which virtualisation software will allow me to access the PCI cards .

I’m searching for PowerPC virtualization software, to be able to test Linux builds inside another Linux or Mac OS X. But it looks like good PPC virtualization has not yet made by anyone (mac-on-linux died, mac-on-mac is still alpha).

Thanks for informative review!

And special thanks for seperating meat from flies !

Hi Vivek
Now days RHEV (Red Hat Enterprise Virtulization) I am hearing. What about your idea about it do you think it will compete with existence enterprise virtulization products such as Citrix Xen and VMware ESX. Do you think this will attract RHCE engineers to choose this product for their career.

Regards
Charanjit Singh

RHEV == KVM and nothing else. It will take some time. Vmware and xen is hot right now.

Great ideas and would like to add a spanner into the works.

Has anyone tried install a single instance of KVM or Open VZ and then install multiple ESXi servers as guests on that server?
Why you might ask? One piece of hardware running multiple ESXi hosts, local storage is quicker than NFS or iscsi and you redundancy of the virtual machines!

The information about Bochs is not quite correct. It only runs X86 guest operating systems which excludes MorphOS and AmigaOS4 which are PPC (won’t do older AmigaOS either which were 680x based). There are Bochs ports are available for these theoretically allowing someone (with PowerPC hardware) to run X86 guest software such as Windows XP etc.

As for PowerPC emulators the main one that I know of is PearPC which should emulate OSX (PPC Version), Darwin and LinuxPPC.

Thanks for a great article…. it will really help me to build a better virtual environment.

Источник

Виртуальные машины для Linux

Если вам нужно иметь несколько операционных систем на своем компьютере, но вы не хотите использовать двойную загрузку, то остается единственный вариант — это виртуализация и виртуальные машины для Linux. При использовании двойной загрузки на медленных системах перезагрузка из одной системы в другую может занимать до нескольких минут, а это очень неудобно.

Поэтому, виртуализация — это отличное решение, потому что при достаточном количестве оперативной памяти и мощности процессора вы сможете запустить несколько систем одновременно и даже полноценно с ними работать.Но какое программное обеспечение лучше использовать? Что выбрать и как все это работает, все это — тема нашей сегодняшней статьи.

Что такое виртуальная машина?

Виртуальные машины — это программы, которые создают программную среду, имитирующую нужное аппаратное оборудование. В эту среду может быть установлена операционная система и затем ее можно будет полноценно использовать. Мы называем такие системы гостевыми, в то время как основная система, установленная на компьютере, называется хостом.

Раньше виртуальные машины выполняли всю работу сами, на программном уровне, и понятно, что все это работало очень медленно. Но потом процессоры начали поддерживать аппаратную виртуализацию, это в разы ускоряет работу гостевой операционной системы. Это такие технологии, как AMD-V от AMD или Intel VT-x от Intel. Правда, эти технологии могут быть по умолчанию отключены в BIOS.

Кроме виртуальных машин, которые полностью эмулируют работу компьютера к виртуализации под linux можно отнести контейнеры, например, LXC или OpenVZ. Дальше мы рассмотрим виртуальны машины для Linux, которые вы можете использовать для установки своих систем.

1. VirtualBox

VirtualBox — это универсальное программное обеспечение для виртуализации в Linux, которое поддерживает и другие операционные системы, в том числе Windows и MacOS. Вы можете установить сюда практически любую систему, кроме, конечно, систем, предназначенных для устройств на чипе ARM. Все установленные виртуальные машины хранятся в файлах, которые содержат образы дисков. Это позволяет их очень просто выполнить их резервное копирование или перенос на другой компьютер просто скопировав файл машины.

VirtualBox поддерживает как 32, так и 64 битные системы и вы можете установить не только Linux дистрибутив, но и Windows или даже MacOS. Все системы будут отлично работать. Во время создания виртуальной машины вы можете выбрать профиль гостевой ОС, для которого автоматически выставятся правильные параметры памяти, процессора и видеокарты.

Кроме непосредственно виртуализации, VirtualBox поддерживает и дополнительные функции, например, запись видео с экрана виртуальной машины, и создание снимков системы для быстрого восстановления и создание виртуальной сети между несколькими машинами. Кроме того, если установить дополнения гостевой ОС, то можно настроить общий буфер обмена между хостовой и гостевой системой, передавать между ними файлы или даже интегрировать окна программ гостевой системы в основную.

Можно сказать, что это лучшая виртуальная машина для Linux, она предлагает все необходимые возможности, и в то же время достаточно проста в использовании.

2. VMware

В отличие от VirtualBox, которая распространяется с открытым исходным кодом, это коммерческий продукт, полная версия которого стоит денег. Но для домашнего использования есть упрощенная версия, которую можно использовать полностью бесплатно.

VMWare имеет почти все те же возможности, что и VirtualBox, в некоторых тестах она показывает себя лучше чем первый вариант, но в целом их производительность одинакова. Тоже есть возможность организовывать сеть между виртуальными машинами, объединять буфер обмена и передавать файлы, но нет записи видео.

Примечательной особенностью VMWare есть то, что для некоторых систем разработаны и уже готовы сценарии автоматической установки, которые позволяют установить систему в автоматическом режиме и не указывать слишком много параметров. Это может быть очень удобным в некоторых ситуациях.

3. Qemu

Если вы хотите запустить не привычную операционную систему x86, а систему для устройств ARM, например, Android, Raspbian или RISC OS, то тут вам не помогут две предыдущие виртуальные машины Linux. С такой задачей может справиться только Qemu.

Qemu — это сокращение от Quick Emulator. Это очень простая в настройке консольная утилита, но позволяет делать многие интересные вещи на уровне VirtualBox, вы можете запускать любые операционные системы, в том числе и ARM, можете установить ОС на реальный жесткий диск или в файл, использовать аппаратное ускорение и даже автоматически скачивать некоторые дистрибутивы через интернет.

Несмотря на свое название, это очень мощный инструмент для работы с виртуализацией в Linux, для установки Qemu в Ubuntu выполните:

sudo apt install qemu qemu-kvm libvirt-bin

Подробнее про использование Qemu можно почитать в этой статье.

4. Gnome Boxes

Если вам не нравится управлять вашими виртуальными машинами с помощью командной строки, можно воспользоваться графическим интерфейсом для Qemu под названием Gnome Boxes. Эта утилита позволяет в несколько кликов создать новую виртуальную машину. При чём вам не нужно иметь установочный образ, программа может сама загрузить его из сети. Кроме создания виртуальных машин можно подключаться к удалённым виртуальным машинам по протоколу RDP или VNC. Для установки программы в Ubuntu используйте такую команду:

sudo apt install gnome-boxes

5. KVM

KVM или полностью Kernel-based Virtual Machine (виртуальная машина на основе ядра) — это реализация платформы виртуализации на уровне ядра, которая предоставляет дополнительные возможности для Qemu и очень высокую скорость работы благодаря работе непосредственно в ядре.

Все это означает что KVM быстрее и стабильнее VirtualBox, но KVM намного сложнее в настройке и обслуживании. Технология KVM — это очень популярное решение для размещения виртуальных машин, в том числе на множестве серверов в интернете.

Чтобы начать использовать KVM сначала нужно проверить, поддерживает ли ваше оборудование аппаратное ускорение, для этого используйте утилиту cpu-checker. Если все поддерживается то вы можете перейти к установке KVM:

sudo apt install qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager

После установки вы сможете получить доступ к виртуальным машинам KVM с помощью менеджера виртуальных машин, который появится в меню. С помощью этого менеджера управляются и другие системы виртуализации Linux, например, XEN.

6. XEN

Это еще одна платформа виртуализации для Linux, которая очень похожа на KVM. Но тут есть некоторые отличия. Как и KVM здесь поддерживается аппаратное ускорение, множество архитектур, в том числе и ARM, а также запуск различных гостевых систем, включая Windows. Но главное отличие заключается в том, что KVM по умолчанию встроен в ядро Linux, а для работы Xen вам понадобиться специально собранное ядро с его поддержкой.

Из других особенностей Xen можно отметить, что система будет работать достаточно быстро даже без аппаратного ускорения, если вы будете запускать Linux.

Выводы

В этой статье мы рассмотрели лучшие виртуальные машины для Linux. Как видите виртуализация на linux развивается очень быстро и есть достаточно много решений, которые вы могли бы использовать в своей системе. Какую виртуальную машину или систему виртуализации используете вы? Напишите в комментариях!

Источник

Читайте также:  Вход с root правами linux
Оцените статью