Proxmox virtualization

September 8, 2020

Lang: cs en de es

Do you have your own physical server and want to run virtual servers - VPS? The Proxmox tool is perfect for this. In this article I will describe how to install and use Proxmox.

Today, thanks to powerful hardware and modern technologies, it is possible to virtualize. Entire computers can be virtualised. And so most physical servers serve only as the basis for running virtual servers that run the required operating system and applications. The advantage of virtual servers is, is that they are not directly dependent on the physical server and can be more easily changed parameters, move them around, etc. And on these virtual servers you can then run, for example, your own hosting, as from other web hosting providers.

You will want to have virtual servers when normal web hosting is not enough or you need to run additional services. Running your own visualization platform makes sense when you need more servers and customized solutions. If you need to run virtual servers on your own physical server, the Proxmox is designed to do just that.

The Proxmox software allows you to run full KVM or LXC container virtualization. Proxmox uses Linux and the virtualization capabilities that Linux provides. Proxmox combines and wraps all of this together, using a web-based interface to allow you to conveniently create and manage your virtual machines. So you can have virtual servers on your own server, fully under your control and fully customized.
Proxmox is an open-source solution, so it is free to use and can be configured at will. And possibly according to your needs and customized to specific requirements.

Learn more about the different types of virtualization and visualization tools.

proxmox

Features of Proxmox

The Proxmox visualization platform has the following features:

  • 64-bit solution
  • Uses Debian as a base
  • Supports the latest Intel and AMD chipsets
  • Wide hardware support (as opposed to VMware)
  • Combination of KVM and LXC visualization technology (full virtualization vs containerized)
  • Easy management via web interface
  • Full control over virtual infrastructure creation and management
  • Optimized to run virtualization on physical servers (bare-metal) supports high load and availability (HA=High Availability).
  • Scalable up to 32 nodes

Features of Proxmox

Within Proxmox you can use the following functions:

  • Web management
  • VNC console, SSL support
  • Virtual server and container creation
  • Manage users and permissions based on roles.
  • Setting up an internal virtual network
  • Backup of virtualized machine images
  • Manage storage (local and network drives)
  • Linux running console

Management

Proxmox offers a convenient, easy-to-understand web-based management interface that can be accessed immediately after installation on the server. There is no need to install any additional tools or additional management nodes or an external database. Management is performed via the web interface. The web-based administration allows the administrator to control all functions. Thus, a JavaScript-enabled browser is sufficient.

Proxmox features and capabilities

  • Can also use ZFS
  • Uses LVM, which can also be thin provision (space is allocated when needed. LVM volume is attached directly to the virtual machine as a disk.
  • Proxmox can clone machines.
  • Clicking environment ala VMware
  • Everything runs on standard Linux, so it is possible to use all the capabilities and tools common to Linux
  • Console control capability.
  • Installation from ISO or installing a clean Debian distro and reinstalling Proxmox.

Repositories

Proxmox offers a flexible storage model. Virtual machine images can be stored in one or several local storage locations. It is also possible to store data on shared (network) storage.
Storing VMs on shared storage allows live migration of running VMs without downtime.

There are many types of storage to choose from. Thanks to the fact that Proxmox supports different data storage, you can optimize your infrastructure. You can choose from these storage technologies:

  • Local directory - storage on an existing file system
  • ZFS is an advanced file system and storage manager that offers features such as snapshots, replication and data integrity checking. Proxmox VE integrates ZFS as primary storage for virtual disks and for data storage.
  • LVM is another storage management method that Proxmox supports. This option allows you to create logical volumes that can be assigned to virtual machines.
  • Ceph RBD: Proxmox VE has integration with Ceph, a distributed storage, providing scalability and fault tolerance. Ceph can serve as a storage backend for virtual disks as well as a data store for the Proxmox operating system.
  • NFS (Network File System): Proxmox supports NFS for shared storage between different Proxmox nodes. NFS can be used for shared storage where data is available on multiple nodes in a cluster.
  • Proxmox can work with iSCSI storage, which makes it possible to connect to remote repositories over the network and use them for virtual machines.
  • GlusterFS: Proxmox VE supports GlusterFS. GlusterFS is an open-source distributed file system, which allows data and storage to be shared across multiple nodes in a network. With Proxmox VE, you can use GlusterFS to create shared storage that can be used for virtual machines and containers on different nodes in your cluster.
  • SAMBA (CIFS): You can mount shared directories from a Samba file server.

When choosing storage in Proxmox VE, it is important to consider the specific requirements of your environment, capacity, performance and redundancy. Each type of storage has its advantages and disadvantages, and the choice depends on the specific needs and preferences of the environment.

Networks

Proxmox VE uses network bridges. All virtual machines can share the same bridge, as if the virtual cables from each guest are connected to the same switch. The bridge is then connected to the physical network adapter of the host server to which the network configuration is assigned (TCP/IP) so that the VPSs can communicate with the outside world.
Proxmox supports VLAN, bonding and network aggregation, allowing you to create complex flexible virtual networks for hosts using the full power of the Linux network stack.

Backup

Proxmox provides an integrated backup tool called "wakeump" that creates snapshots of virtual hosts for both LXC and KVM. The vzdump tool creates a tarball of virtual machine or container data that includes virtual disks and all configuration data.

Using the Proxmox interface, the following procedures can be used to perform backups:

  • Live backup
  • Backups can be scheduled
  • Graphical user interface for backup operations
  • Graphical user interface for restore operations
  • Command line interface available
  • GUI monitoring

Installation

How to install Proxmox? You have the choice of using the installation DVD or installing Proxmox into an already installed Debian Linux distribution.

Which Proxmox installation to choose? If you need to prepare the system in a specific way and therefore perform an atypical installation, choose to install Debin, which you can then install Proxmox into afterwards. If you don't need to do anything extra during the installation, install from the pre-prepared installation DVD, as this will make the installation easier for you.

From the installation ISO

The following addresses are available download ISO images of the CD, that will install the Debian Linux distribution and with it Proxmox

For production running virtual servers, it is a good idea to leave Proxmox virtualization tool installation to a professional.

Installing from repositories

Another option is to add the proxmox repositories to a clean installation of the Debian distribution and install proxmox.

echo "deb http://download.proxmox.com/debian buster pve-no-subscription" > <
/etc/apt/sources.list.d/pve-install-repo.list

wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -

It is important to choose the correct version of the Proxmox repositories that belong to the Debian version you are using.

Proxmox installation and usage video

Here is a video tutorial on how to install proxmox and how to create virtual servers: virtual machines and containers, in the Proxmox environment

What to do after installation

Once installed, the server is accessible via SSH and the Proxmox web interface at https//IP:8006

Repository for updates to change - see updates. On install: ntp daemon.

apt-get install ntp

Disk and LVM

The partition layout on disks can be managed from the console. So for someone who knows what they are doing then it will be more efficient to work from the console.

PAT,GPT partition table

A few notes on how to manually create and set up partitions.

First you need to create a partition table (PAT or GPT) and partitions on the disk. I wrote about GPT in my article on partitioning 4TB disks and larger. Then create the necessary partitions using, for example, parted. It's also possible to click it, but there won't be a gpt/pat table.

LVM

I assume you know what LVM is, and you know how to work with LVM. On the partition you created, create LVM and PV then VG on that partition for only 90% of the space (rotating), then LV and convert that (databig) with a command:

lvconvert --type thin-poll rotational/databig
	

thin provision

If thin provision is used on the disk, it saves space, but be careful not to create a lot of disks, whose total capacity would be larger when full, than the actual size of the real disk storage.

List disks by UUID:

ls /dev/disk/by-id/
	

Creating LVM:

cfdisk
pvcreate /dev/sda1
vgcreate rotating /dev/sda1
lvcreate -n databig -l90%VG rotary # 100% cannot be used
lvconvert --type thin-pool rotary/databig

Adding a partition to proxmox as lvm thin provision:

pvesm add lvmthin NAME-PRO-PROXMOX --vgname VG-EXISTUJICI --thinpool LV-EXISTUJICI
Specific example:
pvesm add lvmthin scsi-3600508e00000000011731072a311bf08-part1
	

Proxmox update

Every operating system needs to be updated. Since Proxmox uses the standard Debian distribution as a base, updating the system is like Debian: apt-get update && apt-get upgrade

But you also need to update the Proxmox software components. The proxmox repository configuration is in the file /etc/apt/sources.list.d/pve-enterprise.list There is an entry:

deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise
but this repository is for users who pay for support from the authors.
So other customers can use the repository configuration:
deb http://download.proxmox.com/debian/pve buster pve-no-subscription

More information on the setup proxmox repositories

Settings

In the virtual machine, select VirtIO SCSI as the disk controller. For Windows you need to install the drivers. If a second virtual CD-rom is connected driver CD image and the Windows installer will load the driver from that. For more, see Windows VirtIO Drivers.

In Proxmox, set the disk discard for virtual machines (VMs) and enable it in the virtual, it's actually SSD TRIM. The virtual disk will then only take up real space. Consequently, even when backing up, the debuffer will only back up the real used space.
Containers, are a different technology and there the disk settings are not addressed, because there is no virtual disk.

Transitioning from VMware

To convert a VmWare image for qemu/kvm, use the following command:

qemu-img convert vmware.vmdk kvm.raw

Virtualization - extra

Proxmox with KVM supports path through. If your motherboard has the IOMMU feature, you can then physical hardware. For example, you can use a powerful physical graphics card as a graphics card in a VPS. proxmox iommu path trought

Multi node cluster

Live Migration & High Availability Cluster

The Proxmox VE High Availability Cluster enables the definition of highly available virtual servers. By implementing a cluster, you can balance the workload on different hosts and increase the availability of virtual machines. If a virtual machine or container is configured as HA and a physical host fails, VMs will automatically reboots on one of the remaining nodes in the Proxmox VE cluster. In case of hardware maintenance, you can move VMs to another node without any restrictions. That is, move running virtual servers from one physical host to another without any downtime and then shut down the first physical server.

Migration for KVM-based containers

Migrating a virtual machine running from one physical host to another is done without interruption. In order to use live migration, all virtual disks must reside on storage that hosts can share - i.e. SAN or NAS technology.

Migration for LXC containers

It is possible to achieve container migration without downtime, even using local storage, so that shared storage is not (Not SAN or NAS).

VPS resources

Here are the patterns/templates for LXC: /var/lib/vz/template/cache Here are the ISO installs: /var/lib/vz/template/iso

Just download the ISO image to this directory and then it will appear in the web interface. For me it is easier and faster to download the ISO directly on the server in the console wget than to download the ISO to myself and then upload it to the server.

Here's how to simply download a template for LXC

Connect a physical disk to a VPS

It's not a typical use case, but you can do a lot with Linux, such as getting a physical disk or disk partition into (protunneling) a virtual machine. In English, this is called Passthrough Physical Disk to Virtual Machine.

Adding a physical disk to VPS ID 102:

qm set 102 -scsi2 /dev/disk/by-id/ata-ST4000DM005-2DP166_WDH26DWH

Add a partition as a disk to the VPS:

 qm set 102 -scsi1 /dev/disk/by-id/ata-ST4000DM005-2DP166_WDH26DWH-part1

These commands update the configuration of the VPS which is in the file /etc/pve/qemu-server/102.conf

Network

How to configure the network

Commands

unlock VM from console:

qm unlock (vm number)

delete VM::

qm destroy 105

Upgrade

Upgrading Proxmox is as easy as upgrading Debian. During the upgrade, running VPSs and containers will need to be shut down. Detailed official guide in English how to upgrade Proxmox from version 6 to version 7.

Links

Install Proxmox VE on Debian Stretch
Install Proxmox VE on Debian Buster
Proxmox Virtualization Installation and Configuration Guide

Setting up a server

You can run Proxmox on your own server in the office. Or rent a server, for example, from Wedos or Hetzner.

Articles on a similar topic

GitLab CI/CD: test automation and application deployment
Migrating VPS from VMware to Proxmox
VMware licensing change
Running Microsoft SQL Server on Linux
Backup: the Proxmox Backup Server
Linux as a router and firewall
How to upload a docker image to the Docker Registry
Linux: logical volume management
Linux Software RAID
Running a web application behind a proxy
Mailbox migration
Docker multistage build
Backing up your data by turning on your computer
Podman
Importing Windows into Proxmox virtualization
Docker and PHP mail
Docker and Cron
Lenovo ThinkPad X1 Carbon: LTE modem EM7544 commissioning
Yocto Project: Build custom operating system for embedded devices
Preparing a Linux server to run a web application in Python
How to address poor file share performance in Docker
How to get started using Docker correctly
Installing Linux on a dedicated HPE ProLiant DL320e server
How to stress test a web application
Why use the JFS filesystem
How to boot from a 4TB drive with GTP using UEFI
Btrfs file system
Raspberry PI
WINE - running Windous programs under Linux
GNU/Linux operating system

Newsletter

If you are interested in receiving occasional news by email.
You can register by filling in your email news subscription.


+