Skip to content

Instantly share code, notes, and snippets.

@razametal
Created June 17, 2025 17:50
Show Gist options
  • Select an option

  • Save razametal/0e80d21ca35fe0f4c0f1b316e6ac094f to your computer and use it in GitHub Desktop.

Select an option

Save razametal/0e80d21ca35fe0f4c0f1b316e6ac094f to your computer and use it in GitHub Desktop.
Proxmox: Convertir LXC a KVM
# Proxmox: Convertir contenedor LXC a máquina virtual KVM
Crear una máquina virtual KVM con disco virtual de similar tamaño al del origen.
Contenedor Original LXC:
Sistema Operativo: Ubuntu 22.04 LTS
Disco Duro: 80 GB
Interfaz de red: 1Gbps
Acceso SSH permitido para root
Máquina Virtual Nueva KVM:
Sistema Operativo: Ubuntu 22.04 LTS
Disco Duro: 80 GB
Interfaz de red: 1Gbps
En la máquina KVM:
Iniciar con livecd de la distribución instalada en el contenedor lxc, por ejemplo si en el contenedor tenemos Ubuntu 22.04 LTS, usaremos Ubuntu 22.04 Live en la VM.
Formatear el disco duro de la siguiente manera (en el livecd se puede usar gparted):
partición 1 /dev/sda1 : 71GB tipo primario ext4 / activar la opción BOOT
partición 2 /dev/sda2 : 1GB tipo primario ext4 /boot activar la opción BIOS_GRUB
patrición 3 /dev/sda3 : 8GB tipo primario linux-swap
Montar la partición de datos en el live system:
mount /dev/sda1 /mnt
Copiar los datos desde el sistema LXC hacia el live system:
rsync -aAXv [email protected]:/ --exclude=/proc --exclude=/sys --exclude=/dev /mnt/
Cuando se termine el proceso de copia, creamos los siguientes directorios:
mkdir /mnt/proc/ /mnt/sys/ /mnt/dev/
Luego montar las particiones del live system en los directorios recién creados:
for F in /dev /sys /dev/pts /proc; do mount -o bind {,/mnt}${F}; done
Iniciar sesión en el sistema recién copiado:
chroot /mnt
Instalar el sistema base:
apt-get update
apt-get -y install grub-pc linux-image-generic arch-install-scripts parted qemu-guest-agent openssh-server
Activamos la partición swap para luego poder generar el archivo /etc/fstab correcto:
mkswap /dev/sda3
swapon /dev/sda3
Modificar la configuración de grub :
sed -i 's/quiet splash//' /etc/default/grub
sed -i 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"/' /etc/default/grub
Generamos el archivo /etc/fstab :
genfstab -t UUID / > /etc/fstab
blkid | grep /dev/sd | sed -r 's/:.* (UUID=[^ ]*).*/;\1/' | while read re; do sed -i "s;^$re;;" /etc/fstab; done
Configurar grub :
update-initramfs -k all -c
update-grub && grub-install --force --recheck /dev/sda
Salir del chroot
exit
Desmontar las unidades:
for F in /dev/pts; do umount /mnt${F}; sleep 5; done
for F in /dev /sys /proc; do umount /mnt${F}; done
umount /mnt
Reiniciar el ambiente live:
reboot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment