Changes for page proxmox
Last modified by Kevin Wiki on 2026/05/18 15:44
From version
2.1
edited by Kevin Wiki
on 2024/02/17 20:35
on 2024/02/17 20:35
Change comment:
There is no comment for this version
To version
10.4
edited by Kevin Wiki
on 2026/05/18 08:22
on 2026/05/18 08:22
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Content
-
... ... @@ -4,39 +4,274 @@ 4 4 ((( 5 5 {{children/}} 6 6 7 -= Paragraph 1 = 8 8 9 - Loremipsum dolor sit amet, consectetur adipiscingelit, sed do eiusmod tempor incididunt ut labore etdoloremagna aliqua. Ut enim adminim veniam, quis nostrudexercitation ullamcolaboris nisi ut aliquip exeacommodoconsequat. Duis aute irure dolor inreprehenderitinvoluptatevelit esse cillumdolore eu fugiat nullapariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpaqui officia deseruntmollit anim idestlaborum.8 += Getting Started with Proxmox VE LXC and VM Templates = 10 10 11 - ==Sub-paragraph==10 +Proxmox VE (PVE) allows users to create and manage both LXC containers and KVM virtual machines (VMs). This guide walks you through the process of downloading, importing, and creating templates for both. 12 12 13 -L oremipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt utlabore etdoloremagna aliqua. Ut enim ad minim veniam, quisnostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.12 +== LXC Templates == 14 14 15 - ==Sub-paragraph==14 +LXC containers are lightweight and ideal for running Linux services with minimal overhead. 16 16 17 - Loremipsum dolor sitamet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minimveniam, quis nostrud exercitation ullamco laboris nisi ut aliquipexea commodo consequat. Duis aute irure dolor in reprehenderit in voluptatevelit essecillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.16 +=== List Available Templates === 18 18 19 - ===Sub-subparagraph===18 +To view the available LXC templates: 20 20 21 -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 20 +{{code language="bash"}} 21 +pveam list 22 +{{/code}} 22 22 24 +=== Download Templates === 23 23 24 - =Paragraph2=26 +Use the pveam download command to import templates to the local storage: 25 25 26 -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 28 +{{code language="bash"}} 29 +pveam download local ubuntu-22.04-standard_22.04-1_amd64.tar.gz 30 +pveam download local ubuntu-24.04-standard_24.04-1_amd64.tar.zst 31 +pveam download local debian-12-standard_11.7-1_amd64.tar.zst 32 +{{/code}} 27 27 28 - ==Sub-paragraph==34 +Once downloaded, these templates can be used to create new LXC containers from the Proxmox web interface or via CLI. 29 29 30 - Loremipsumdolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt utlabore etdoloremagna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamcolaboris nisiut aliquip ex ea commodo consequat. Duisaute irure dolor in reprehenderit in voluptate velit esse cillumdoloreeu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deseruntmollitanim idestlaborum.36 +== VM Template from Ubuntu Cloud Image == 31 31 32 - ==Sub-paragraph==38 +KVM VMs are ideal when you need full virtualization, for instance, to run Windows or more complex Linux systems. 33 33 34 - Loremipsum dolor sit amet, consectetur adipiscing elit, sed doeiusmod tempor incididunt ut labore etdoloremagna aliqua.Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisiut aliquip ex ea commodo consequat. Duisaute irure dolor in reprehenderit in voluptate velit esse cillumdoloreeu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deseruntmollitanim idestlaborum.40 +=== Download Ubuntu Cloud Image === 35 35 36 - =References=42 +Download the official Ubuntu 24.04 cloud [[image:]] 37 37 38 -* [[XWiki>>http://www.xwiki.org]] 39 -* [[XWiki Extensions>>http://www.xwiki.org]] 44 +{{code language="bash"}} 45 +wget http://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-amd64.img 46 +{{/code}} 47 + 48 +=== Create the Virtual Machine === 49 + 50 +Create a new VM with ID 910 (you can pick any unused ID): 51 + 52 +{{code language="bash"}} 53 +qm create 910 -name template-ubuntu-jammy -memory 2048 -net0 virtio,bridge=vmbr0 -cores 2 -sockets 1 54 +{{/code}} 55 + 56 +=== Import and Attach the Disk === 57 + 58 +Choose the correct storage (replace nvme if you use a different storage name): 59 + 60 +{{code language="bash"}} 61 +qm importdisk 910 ubuntu-24.04-server-cloudimg-amd64.img nvme 62 +qm set 910 -scsihw virtio-scsi-pci -virtio0 nvme:vm-910-disk-0 63 +{{/code}} 64 + 65 +=== Configure the VM === 66 + 67 +{{code language="bash"}} 68 +qm set 910 -serial0 socket 69 +qm set 910 -boot c -bootdisk virtio0 70 +qm set 910 -agent 1 71 +qm set 910 -hotplug disk,network,usb 72 +qm set 910 -vcpus 1 73 +qm set 910 -vga qxl 74 +qm set 910 -ide2 nvme:cloudinit 75 +qm resize 910 virtio0 +8G 76 +{{/code}} 77 + 78 + 79 +If your disk is using SCSI instead of virtio, resize like this: 80 + 81 +{{code language="bash"}} 82 +qm resize 910 scsi0 +8G 83 +{{/code}} 84 + 85 +=== Convert the VM into a Template === 86 + 87 +{{code language="bash"}} 88 +qm template 910 89 +{{/code}} 90 + 91 +Now you can use this template to clone new VMs instantly. 92 + 93 +== Bash Script to Automate Setup == 94 + 95 +Install the above using bash script below 96 + 97 +=== setup_proxmox_templates.sh === 98 + 99 +{{code language="bash"}} 100 +#!/bin/bash 101 + 102 +# Exit on errors 103 +set -e 104 + 105 +echo "Downloading LXC templates..." 106 +pveam download nvme ubuntu-22.04-standard_22.04-1_amd64.tar.zst 107 +pveam download nvme ubuntu-24.04-standard_24.04-2_amd64.tar.zst 108 +pveam download nvme alpine-3.21-default_20241217_amd64.tar.xz 109 +pveam download nvme debian-12-standard_12.7-1_amd64.tar.zst 110 + 111 +echo "Downloading Ubuntu cloud image..." 112 +wget -N http://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-amd64.img 113 + 114 +echo "Creating VM Template..." 115 +qm create 910 -name template-ubuntu-jammy -memory 2048 -net0 virtio,bridge=vmbr0 -cores 2 -sockets 1 && 1 116 + 117 +# qm importdisk 910 ubuntu-24.04-server-cloudimg-amd64.img nvme 118 +# qm set 910 -scsihw virtio-scsi-pci -scsi0-virtio0 nvme:910/vm-910-disk-0 119 +qm set 910 -scsihw virtio-scsi-pci -scsi0 nvme:0,import-from=/mnt/nvmestorage/template/iso/ubuntu-24.04-server-cloudimg-amd64.img 120 + 121 +qm set 910 -serial0 socket 122 +qm set 910 -boot c -bootdisk virtio0 123 +qm set 910 -agent 1 124 +qm set 910 -hotplug disk,network,usb 125 +qm set 910 -vcpus 1 126 +qm set 910 -vga qxl 127 +qm set 910 -ide2 nvme:cloudinit 128 +# qm resize 910 scsi0 +8G 129 + 130 +read -p "Confirm converting to template by pressing Enter" 131 +qm template 910 132 + 133 +echo "Templates setup complete." 134 +{{/code}} 135 + 136 + 137 += VM runtime setup = 138 + 139 +After creating the VM and before making it into a template there are some programs and settings we want to ensure exists always. 140 + 141 +(% id="cke_bm_721114S" style="display:none" %)** **(%%)**clear bash history** to not leave any configuration in history, clear and disable history file before proceeding: 142 + 143 +{{code language="bash"}} 144 +unset HISTFILE 145 +export HISTSIZE=0 146 +export HISTFILESIZE=0 147 + 148 +sudo rm /.bash_history 149 +rm ~/.bash_history 150 +{{/code}} 151 + 152 +**qemu-guest-agent** is for allowing proxmox to query information from the VM such as IP address, shutdown commands, etc 153 + 154 +{{code language="bash"}} 155 +sudo apt update 156 +sudo apt upgrade -y 157 +sudo apt install qemu-guest-agent -y 158 + 159 +sudo systemctl enable qemu-guest-agent.service 160 +sudo systemctl start qemu-guest-agent.service 161 +{{/code}} 162 + 163 +**reset machine-id** to not have overlapping ids from same template 164 + 165 +{{code language="bash"}} 166 +cat /dev/null > /etc/machine-id 167 +cat /dev/null > /var/lib/dbus/machine-id 168 +{{/code}} 169 + 170 +**cloud-init** is a great hook for installing or configuring programs or receiving variables from cloudinit CDROM drive. Making it easier to change IP, hostname, DNS, username/password, etc between VMs 171 + 172 +{{code language="bash"}} 173 +cloud-init clean 174 +{{/code}} 175 + 176 +This is a debian example of what we are looking for: 177 + 178 +{{code language="yaml"}} 179 +# The top level settings are used as module 180 +# and system configuration. 181 +# A set of users which may be applied and/or used by various modules 182 +# when a 'default' entry is found it will reference the 'default_user' 183 +# from the distro configuration specified below 184 +users: 185 + - default 186 + 187 +# If this is set, 'root' will not be able to ssh in and they 188 +# will get a message to login instead as the default $user 189 +disable_root: true 190 + 191 +# This will cause the set+update hostname module to not operate (if true) 192 +preserve_hostname: false 193 + 194 +apt: 195 + # This prevents cloud-init from rewriting apt's sources.list file, 196 + # which has been a source of surprise. 197 + preserve_sources_list: true 198 + 199 +# The modules that run in the 'init' stage 200 +cloud_init_modules: 201 + - seed_random 202 + - bootcmd 203 + - write-files 204 + - growpart 205 + - resizefs 206 + - disk_setup 207 + - mounts 208 + - set_hostname 209 + - update_hostname 210 + - update_etc_hosts 211 + - ca-certs 212 + - rsyslog 213 + - users-groups 214 + - ssh 215 + 216 +# The modules that run in the 'config' stage 217 +cloud_config_modules: 218 + - locale 219 + - set-passwords 220 + - grub-dpkg 221 + - apt-pipelining 222 + - apt-configure 223 + - ntp 224 + - timezone 225 + - disable-ec2-metadata 226 + - runcmd 227 + 228 +# The modules that run in the 'final' stage 229 +cloud_final_modules: 230 + - package-update-upgrade-install 231 + - write-files-deferred 232 + - scripts-vendor 233 + - scripts-per-once 234 + - scripts-per-boot 235 + - scripts-per-instance 236 + - scripts-user 237 + - ssh-authkey-fingerprints 238 +# - keys-to-console 239 + - install-hotplug 240 +# - phone-home 241 + - final-message 242 + - power-state-change 243 + 244 +# System and/or distro specific settings 245 +# (not accessible to handlers/transforms) 246 +system_info: 247 + # This will affect which distro class gets used 248 + distro: debian 249 + # Default user name + that default users groups (if added/used) 250 + default_user: 251 + name: debian 252 + lock_passwd: True 253 + gecos: Debian 254 + groups: [sudo] 255 + # Disables password-less sudo commands for default/debian user 256 + sudo: ["ALL=(ALL) ALL"] 257 + shell: /bin/bash 258 + # Other config here will be given to the distro class and/or path classes 259 + paths: 260 + cloud_dir: /var/lib/cloud/ 261 + templates_dir: /etc/cloud/templates/ 262 + package_mirrors: 263 + - arches: [default] 264 + failsafe: 265 + primary: https://deb.debian.org/debian 266 + security: https://deb.debian.org/debian-security 267 + ssh_svcname: ssh 268 +{{/code}} 269 + 270 + 271 + 272 + 273 + 274 + 40 40 ))) 41 41 42 42 (% class="col-xs-12 col-sm-4" %)
- image.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.kevin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -40.8 KB - Content