Cómo crear una plantilla de sistema operativo Ubuntu y Debian en Proxmox VE
En cualquier plataforma de virtualización, la plantilla del sistema operativo es una imagen del sistema operativo preconfigurada que puede utilizar para implementar una máquina virtual. Las plantillas le permiten crear instancias de máquinas virtuales únicas o múltiples en segundos. Siempre se recomienda crear una plantilla especial con todas las configuraciones necesarias en lugar de clonar una máquina virtual existente con datos de la aplicación, ya que proporciona un estado limpio.
Proxmox Virtualization Environment incluye plantillas basadas en contenedores; además, puede crear e implementar plantillas KVM a partir de las versiones de la serie V3.x. En este artículo cubriremos un proceso paso a paso para crear plantillas de sistema operativo Ubuntu o Debian Linux. Se puede aplicar un procedimiento similar para cualquier otra distribución de Linux.
Para uso de CentOS/Rocky/AlmaLinux: Creación de plantillas de sistema operativo Rocky/AlmaLinux/CentOS en Proxmox VE
Siga los pasos cubiertos en este artículo para tener una instalación funcional de la plantilla Debian/Ubuntu Linux.
1. Crear VM en Proxmox
Inicie sesión en su entorno Proxmox VE y comience la creación de VM haciendo clic derecho en el nombre del hipervisor > Crear VM.
Asigne un nombre a la máquina virtual y, opcionalmente, establezca el ID de la máquina virtual. Es mejor elegir un número más alto para el ID para evitar confundirlo con las otras instancias.
En "OS", seleccione "No utilizar ningún medio".
En "Sistema", marque "Agente Qemu". No es necesario ajustar otras configuraciones, la configuración predeterminada debería funcionar bien.
En la pantalla “Discos”, elimine el disco SCSI 0 agregado automáticamente. Confirme para eliminar cuando se le solicite.
Debería recibir el mensaje "No hay discos". Este es un resultado previsto.
Configure los núcleos de CPU que utilizará esta instancia de VM.
Establezca la memoria para la instancia. Tenga en cuenta que el valor proporcionado está en MiB.
En “Red”, seleccione Nombre del puente y desmarque firewall.
Termine la configuración haciendo clic en el botón “Finalizar” en el extremo inferior de la página.
2. Adjunte el disco de inicio de la nube
Cloud-init se utiliza para manejar la inicialización temprana de la instancia de la máquina virtual antes de que arranque desde el disco. Al utilizar cloud-init, puede preconfigurar cuentas de usuario, redes, claves ssh, etc.
Necesitamos asignar una unidad de CD-ROM a la instancia. Haga clic con el botón derecho en Nombre de VM > Hardware > Agregar > unidad CloudInit.
Elija el almacenamiento para usar la imagen.
Confirme que CloudInit Drive esté agregado en la sección VM Hardware.
Personalice cada variable en la sección de configuraciones de Cloud Init como desee.
Por ejemplo, puede proporcionar una contraseña predeterminada para la cuenta de usuario predeterminada especificada.
DHCP funciona mejor para redes ya que no se requieren cambios manuales de dirección IP en la instancia. Puede adoptar el servicio DHCP basado en MAC.
Ejemplo de configuraciones completas
3. Descargue imágenes del sistema operativo para KVM
Descargaremos, personalizaremos y crearemos un disco a partir de la imagen de nube de distribución del sistema operativo predeterminada.
Imágenes del sistema operativo Ubuntu Linux
### Ubuntu 22.04 ###
wget https://cloud-images.ubuntu.com/releases/jammy/release/ubuntu-22.04-server-cloudimg-amd64.img
### Ubuntu 20.04 ###
wget https://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-amd64.img
### Ubuntu 18.04 ###
wget https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64.img
Imágenes del sistema operativo Debian Linux
### Debian 12 ###
wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2
### Debian 11 ###
wget https://cloud.debian.org/images/cloud/bullseye/latest/debian-11-generic-amd64.qcow2
Para Ubuntu, cambie el nombre de las imágenes de la nube con la extensión .qcow2
.
### Ubuntu 22.04 ###
mv ubuntu-22.04-server-cloudimg-amd64.img ubuntu-22.04-server-cloudimg-amd64.qcow2
### Ubuntu 20.04 ###
mv ubuntu-20.04-server-cloudimg-amd64.img ubuntu-20.04-server-cloudimg-amd64.qcow2
### Ubuntu 18.04 ###
mv ubuntu-18.04-server-cloudimg-amd64.img ubuntu-18.04-server-cloudimg-amd64.qcow2
Cambie el tamaño del disco de la máquina virtual al tamaño predeterminado adecuado.
### Ubuntu 22.04 Example ###
$ qemu-img resize ubuntu-22.04-server-cloudimg-amd64.qcow2 20G
Image resized.
### Debian 12 Example ###
$ qemu-img resize debian-12-generic-amd64.qcow2 20G
Image resized.
Habilite la consola para la máquina virtual. Reemplace 777 con el ID de VM correcto.
$ qm set 777 --serial0 socket --vga serial0
update VM 777: -serial0 socket -vga serial0
4. Importe el disco creado al disco de arranque predeterminado de la VM
La sintaxis para importar un disco a una máquina virtual es;
qm importdisk <vm_id> <image> <storage_name>
Primero enumere las instancias y los dominios de almacenamiento en su servidor Proxmox:
root@Proxmox-VE ~ # qm list
VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID
777 Ubuntu-22.04-Template stopped 2048 0.00 0
root@Proxmox-VE ~ # pvesm status
Name Type Status Total Used Available %
local dir active 492392868 11379732 481013136 2.31%
Al importar el disco para nuestra VM con ID 777, usaremos:
$ qm importdisk 777 ubuntu-22.04-server-cloudimg-amd64.qcow2 local
...
transferred 17.0 GiB of 20.0 GiB (84.89%)
transferred 17.2 GiB of 20.0 GiB (86.14%)
transferred 17.5 GiB of 20.0 GiB (87.39%)
transferred 17.7 GiB of 20.0 GiB (88.64%)
transferred 18.0 GiB of 20.0 GiB (89.89%)
transferred 18.2 GiB of 20.0 GiB (91.13%)
transferred 18.5 GiB of 20.0 GiB (92.38%)
transferred 18.7 GiB of 20.0 GiB (93.63%)
transferred 19.0 GiB of 20.0 GiB (94.88%)
transferred 19.2 GiB of 20.0 GiB (96.13%)
transferred 19.5 GiB of 20.0 GiB (97.38%)
transferred 19.7 GiB of 20.0 GiB (98.62%)
transferred 20.0 GiB of 20.0 GiB (99.87%)
transferred 20.0 GiB of 20.0 GiB (100.00%)
transferred 20.0 GiB of 20.0 GiB (100.00%)
Successfully imported disk as 'unused0:local:777/vm-777-disk-0.raw'
Se puede verificar más información sobre la configuración de VM con el comando qm config
:
$ qm config 777
agent: 1
boot: order=ide2;net0
cipassword: **********
ciuser: ubuntu
cores: 1
ide0: local:777/vm-777-cloudinit.qcow2,media=cdrom
ide2: none,media=cdrom
ipconfig0: ip=dhcp
memory: 2048
meta: creation-qemu=7.2.0,ctime=1697459258
name: Ubuntu-22.04-Template
net0: virtio=F2:9D:7D:B1:38:EC,bridge=vmbr1,firewall=1
numa: 0
ostype: l26
scsihw: virtio-scsi-single
serial0: socket
smbios1: uuid=c32a607b-ece6-470c-b301-6f97c9de7d9f
sockets: 1
unused0: local:777/vm-777-disk-0.raw
vga: serial0
vmgenid: bff5d249-26fd-4445-a39c-4088f4fd7b10
Vuelva a escanear volúmenes en su servidor Proxmox.
$ sudo qm rescan
rescan volumes...
Después de importar la imagen, el disco permanecerá sin uso. Navegue a la sección de hardware de VM y haga doble clic para adjuntarlo.
Haga clic en “Agregar” para conectar el disco a la VM. Puede marcar Descartar para habilitar el aprovisionamiento ligero.
El disco ahora debería mostrarse como en uso.
Actualice el orden de inicio de la máquina virtual en Opciones > Orden de inicio.
Seleccione scsi0 para habilitarlo y arrástrelo a la posición 2 después de ide2.
La vista después de configurar el orden de inicio.
5. Prepare la máquina virtual para crear plantillas
Utilice la consola VM para acceder al terminal. Inicie sesión con el nombre de usuario y la contraseña proporcionados dentro de los parámetros/valores de cloud-init.
Actualice y actualice el sistema operativo.
sudo apt update && sudo apt upgrade -y
Luego instale el agente invitado QEMU en la instancia.
sudo apt install qemu-guest-agent
Habilite qemu-guest-agent para que se inicie al iniciar el sistema.
sudo systemctl enable qemu-guest-agent
Restablecer la identificación de la máquina.
sudo su -
cat /dev/null > /etc/machine-id
cat /dev/null > /var/lib/dbus/machine-id
cat /dev/null > /var/lib/dbus/machine-id
Ejecute el script de limpieza de Cloud Init.
cloud-init clean
Cerrar la instancia
shutdown -h now
6. Crear una máquina virtual a partir de una plantilla
Creamos una instancia de VM clonando la plantilla. Hay dos opciones estándar para esto.
- Clon vinculado : la máquina virtual creada a partir de esto requiere menos espacio en disco, pero no puede ejecutarse sin acceso a la plantilla de máquina virtual base.
- Clon completo : una máquina virtual creada a partir de un clon completo es una copia completa y es totalmente independiente de la plantilla de máquina virtual original, pero requiere el mismo espacio en disco que la original.
Para clonar, haga clic derecho en la Plantilla y elija “Clonar”.
Seleccione el modo de clonación: Completo o Vinculado.
Seleccione el almacenamiento de destino para la instancia de VM y asígnele un nombre.
Antes de iniciar la instancia, puede modificar el hardware y establecer sus valores para las variables predeterminadas de Cloud Init.
Si todo va bien, la instancia debería estar operativa en unos segundos.
Conclusión
Con el procedimiento indicado en este artículo, debería tener una instancia en ejecución en Proxmox VE creada a partir de la plantilla creada. Ya no debe realizar la instalación manual del sistema Ubuntu o Debian Linux. Esto le ahorra mucho tiempo en tediosas instalaciones manuales del sistema operativo.
Más sobre Proxmox:
- Instalación de pfSense en el servidor raíz de Proxmox Hetzner
- Cómo ejecutar macOS en Proxmox VE
- Exporte la máquina virtual Proxmox y ejecútela en KVM (Libvirt)