Search Our Database

Provision Linux VM in Proxmox using CloudImage

Last updated on |
under |

Introduction

This guide outlines the process of provisioning a Linux virtual machine (VM) in Proxmox VE using a Linux CloudImage and Cloud-Init. It is intended for system administrators and IT users who need to deploy Linux VMs quickly, consistently, and with minimal manual installation steps. This setup is typically used when creating new Linux servers such as Ubuntu, Debian, Rocky Linux, AlmaLinux, or other cloud-image-based distributions within a Proxmox environment. The process is performed mainly through the Proxmox web interface and Proxmox shell, where users download or upload the Linux CloudImage, create a VM, import the CloudImage disk, attach a Cloud-Init drive, and configure settings such as hostname, user credentials, SSH keys, network configuration, and storage. This approach helps speed up VM deployment, standardize Linux server provisioning, and simplify future cloning or template-based deployments in Proxmox.

 

Prerequisites

  • Administrative access to the Proxmox VE web interface
  • Basic knowledge of Linux and virtualization concepts
  • SSH public key (optional but recommended for secure access)

 

Step-by-step guide

Step 1: Access to Proxmox SSH

 

Step 2: Download the Cloud Image

For Rocky Linux, Alma Linux, and Debian

  • You can download the specific images required for your need, such as GenericCloud, OCP, or Vagrant that you need. For example :

 

For Ubuntu

  • There are various image builds you can choose to download, such as the jammy-server, noble-server or the image that you need. For example : 

  • For the purpose of this guide, we will be using the Rocky-9-GenericCloud-Base.latest.x86_64.qcow2 cloud image to serve as our example.
  • We will use wget to download the files. If the download speed is running slow, feel free to cancel the process and re-run the command.

 

Step 3: Start up a new VM

In General

  • Enter the VM ID
  • Enter the VM Name
  • Press Next

 

In OS

  • Select ‘Do not use any media
  • Press Next

In System

  • Can use default settings
  • Press Next

In Disks

  • It will have a disk in default
  • Click the Trash button to delete the disk

  • Press Next

In CPU

  • Depend on the requirements on the cores and set the Type to host.

  • Press Next

**Using host as CPU type is for better performance but not ideal for HA setup. If you are required to have HA setup, you may use the type that matched with your host CPU, Intel or AMD.

In Memory

  • Depend on the requirements on the memory

  • Press Next

In Network

  • The Bridge depends on the host and untick the Firewall
  • press Next

In Confirm

  • You may check if everything is correctly configure
  • Do not start the VM

  • Click Finish

 

Step 4: Import the Cloud Image

  • You need to go into shell and write the code :
qm disk import <VM ID> <Cloud Image> <Destination/SanStorage> --format qcow2
  • You may use the tab button to check next command

 

Step 5 : Add the Cloud Image as DISK and Cloud-Init

  • After import the Cloud Image, you will see an unused disk in the VM settings.

 

  • Double click or click on the Edit and click on Add

 

  • Inside Add, choose CloudInit Drive

 

  • For Bus, choose SCSI
  • For Storage, choose sanstorage

**Storage names vary by environment. Please replace the storage placeholders in the following steps with your actual local storage pool name. 

 

Step 6: Change BIOS and Boot Order and Resize Disk Size

  • Change the BIOS from SeaBios to UEFI

  • Go to Options, choose Boot Order and change the disk to first order

  • Go back to Hardware, click on the Hard Disk that want to resize, click on Disk Action and choose Resize

 

  • You may choose the Size Increment that you want. and press Resize disk

 

Step 7: Enter Cloud-Init details

  • Enter User
  • Enter Password
  • Enter DNS Domain
  • Enter DNS Servers
  • Enter IP Config or you may choose DHCP for IPv4

  • After done all, remember to click Regenerate Image

 

Step 8: Power up the VM

  • Go back to Console and press Start Now

  • You may login using User and Password that enter earlier

 

Conclusion

By following this guide, you have successfully provisioned a Linux Virtual Machine in Proxmox using a Cloud Image. Cloud Images combined with cloud-init provide a fast, repeatable, and scalable method for deploying Linux workloads while minimizing manual configuration.

For additional assistance or if you encounter any issues, please contact our support team at support@ipserverone.com.