Diferencia entre revisiones de «Virtualización con libvirt»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Crear VM utilizando virt-manager)
(Paso 3: Configuración la imagen de Ubuntu con cloud-init)
Línea 45: Línea 45:
 
''En los ordenadores del aula de prácticas estos paquetes ya estarán preinstalados, con lo que puedes saltarte este paso''.
 
''En los ordenadores del aula de prácticas estos paquetes ya estarán preinstalados, con lo que puedes saltarte este paso''.
  
= Paso 3: Configuración la imagen de Ubuntu con cloud-init =
+
= Paso 3: Configuración de la imagen de Ubuntu con cloud-init =
  
 
Para configurar la imagen de Ubuntu cloud, hay que crear un fichero de configuración para la herramienta '''cloud-init'''.
 
Para configurar la imagen de Ubuntu cloud, hay que crear un fichero de configuración para la herramienta '''cloud-init'''.

Revisión del 11:41 6 ago 2019

Para la realización de esta práctica necesitará de una imagen de Ubuntu Cloud que descargaremos de https://cloud-images.ubuntu.com/ y necesitaremos un sistema anfitrión con Ubuntu 18.04.

En esta práctica se emplearán la imagen descargada de la web Ubuntu Cloud y se hará uso de la herramienta cloud-init para configurarla.

Paso 1: Descarga de la imagen Ubuntu Cloud

Entramos en https://cloud-images.ubuntu.com/ y descargamos la imagen de Ubuntu 18.04 LTS (Long Time Support).

Puedes descargarla directamente con la orden wget:

wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img

si comenzó a descargar verás una salida similar a esta:

-2019-08-06 12:26:26--  https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
Resolviendo cloud-images.ubuntu.com (cloud-images.ubuntu.com)... 91.189.88.89, 2001:67c:1560:8001::8001
Conectando con cloud-images.ubuntu.com (cloud-images.ubuntu.com)[91.189.88.89]:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 343474176 (328M) [application/octet-stream]
Grabando a: “bionic-server-cloudimg-amd64.img”

bionic-server-cloudimg-amd64.img.   0%[                                                              ]   2,21M   472KB/s    eta 14m 6s

Espera hasta que la imagen esté descargada al 100%.

Paso 2: Instalación de paquetes necesarios para entorno de virtualización libvirt

Esta práctica requiere de los siguientes paquetes que estén instalados en el sistema anfitrión:

  • virt-manager: interfaz gráfica para la gestión de hipervisores.
  • cloud-init: herramienta para configurar una imagen de Ubuntu cloud.
  • cloud-image-utils: esta herramienta es complementaria a cloud-init y sirve para modificar imágenes de Ubuntu cloud.

Podemos instalar estos paquetes con la herramienta apt desde el intérprete de órdenes:

sudo apt install cloud-init cloud-image-utils virt-manager

En los ordenadores del aula de prácticas estos paquetes ya estarán preinstalados, con lo que puedes saltarte este paso.

Paso 3: Configuración de la imagen de Ubuntu con cloud-init

Para configurar la imagen de Ubuntu cloud, hay que crear un fichero de configuración para la herramienta cloud-init.

Este fichero empieza siempre por la línea #cloud-config y se estructura en formato yaml.

Paso 3.1: Configurar usuario y contraseña para login

Para añadir una contraseña y permitir el acceso por ssh con este usuario hay que crear el fichero de configuración cloud.cfg para la herramienta cloud-init:

#cloud-config
password: qwerty123
chpasswd: { expire: False }
ssh_pwauth: True

Por defecto, el usuario es ubuntu, y en este caso, la contraseña es querty123.

Una vez añadida esta configuración, podemos configurar la imagen para que apliquen estos cambios con el siguiente comando:

cloud-localds bionic-server-cloudimg-amd64.img cloud.cfg

De esta forma, al entrar por ssh, necesitaremos poner la contraseña del usuario:

ssh ubuntu@IP  # Esto nos pedirá nuestra contraseña de usuario

Paso 3.2: Configurar de acceso ssh con clave pública

Este paso es opcional, si quieres configurar el acceso con clave pública ssh, tienes que generar el par de claves pública y privada.

ssh-keygen  # Generará clave pública/privada para la autenticación
cat ~/.ssh/id_rsa.pub  # Mostrará nuestra clave pública generada

La configuración del fichero cloud.cfg resultaría la siguiente:

#cloud-config users: - name: practica ssh-authorized-keys: - ssh-rsa AA... miusuario@nombremaquina sudo: ALL=(ALL) NOPASSWD:ALL groups: sudo shell: /bin/bash

ssh practica@IP  # No nos pedirá clave de usuario

Paso 3.3: Configurar hostname y un id de instancia

#cloud-config
instance-id: my-instance-id
local-hostname: my-hostname
  • Configurar repositorio: añadir e instalar paquetes
  • Ejecutar comandos al iniciar
  • Crear VM utilizando virt-manager

copiar volumen de cloud-init e imagen de ubuntu a /var/lib/libvirt/images/ https://gist.github.com/shettyg/455ff78605ea4c45febe7b5aa345c87d

  • Configuración de virt-manager

abrir virt-manager y crear VM

  • Buscar ip local de la VM para conectarnos por ssh

buscar ip máquina https://www.cyberciti.biz/faq/find-ip-address-of-linux-kvm-guest-virtual-machine/