bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


Barra lateral

ASIX Administració de Sistemes Informàtics i Xarxes
Tots els mòduls del cicle
MP01 Implantació de sistemes operatius
Totes les UFs del modul
MP02 Gestió de bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Fonaments de maquinari
Totes les UFs del modul
MP06 Administració de sistemes operatius
Totes les UFs del modul
MP07 Planificació i administració de xarxes
Totes les UFs del modul
MP08 Serveis de xarxa i Internet
Totes les UFs del modul
MP09 Implantació d'aplicacions web
Totes les UFs del modul
MP10 Administració de sistemes gestors de bases de dades
Totes les UFs del modul
MP11 Seguretat i alta disponibilitat
Totes les UFs del modul
MP12 Formació i orientació laboral
Totes les UFs del modul
MP13 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP14 Projecte
Totes les UFs del modul
DAM Desenvolupament d’aplicacions multiplataforma
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Accés a dades
Totes les UFs del modul
MP07 Desenvolupament d’interfícies
Totes les UFs del modul
MP08 Programació multimèdia i dispositius mòbils
Totes les UFs del modul
MP09 Programació de serveis i processos
Totes les UFs del modul
MP10 Sistemes de gestió empresarial
Totes les UFs del modul
MP11 Formació i orientació laboral
Totes les UFs del modul
MP12 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP13 Projecte de síntesi
Totes les UFs del modul
MPDual Mòdul Dual / Projecte
DAW Desenvolupament d’aplicacions web
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació
Totes les UFs del modul
MP04 Llenguatge de marques i sistemes de gestió d’informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Desenvolupament web en entorn client
Totes les UFs del modul
MP07 Desenvolupament web en entorn servidor
Totes les UFs del modul
MP08 Desplegament d'aplicacions web
Totes les UFs del modul
MP09 Disseny d'interfícies web
Totes les UFs del modul
MP10 Formació i Orientació Laboral
Totes les UFs del modul
MP11 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP12 Projecte de síntesi
Totes les UFs del modul
SMX Sistemes Microinformàtics i Xarxes
Tots els mòduls del cicle
MP01 Muntatge i manteniment d’equips
Totes les UFs del modul
MP02 Sistemes Operatius Monolloc
Totes les UFs del modul
MP03 Aplicacions ofimàtiques
Totes les UFs del modul
MP04 Sistemes operatius en xarxa
Totes les UFs del modul
MP05 Xarxes locals
Totes les UFs del modul
MP06 Seguretat informàtica
Totes les UFs del modul
MP07 Serveis de xarxa
Totes les UFs del modul
MP08 Aplicacions Web
Totes les UFs del modul
MP09 Formació i Orientació Laboral
Totes les UFs del modul
MP10 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP11 Anglès
Totes les UFs del modul
MP12 Síntesi
Totes les UFs del modul
CETI Ciberseguretat en Entorns de les Tecnologies de la Informació
Tots els mòduls del cicle
CiberOT Ciberseguretat en Entorns d'Operació
Tots els mòduls del cicle
open_nebula

Aquesta és una revisió antiga del document


Open Nebula Environment - ONE

Open Nebula Environment és un gestor de infraestructura de virtualització. És

Instal·lació de proves amb Vagrant

Tenim aquí els arxius per a una instal·lació típica de 1 frontend + 2 workers KVM (que es poden augmentar fàcilment).

Tindrem 5 arxius:

  1. Vagranfile : arxiu principal de la infraestructura
  2. network.sh : ajustos de la xarxa
  3. common.sh : configuració bàsica de paquets comuns de Open Nebula
  4. frontend.sh : configuració del node frontend
  5. worker.sh : configuració del node worker KVM

Arxius

Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
 
# Vagrantfile per a ONE - Open Nebula Environment
# frontend node a 192.168.100.10
# nodes (2) a 192.168.100.11 , .12 , etc.
# xarxa bridge br0 per a VMs
 
#box = "bento/debian-12" # per a macos (aarch64)
box = "debian/bookworm64" # per a linux/windows (amd64)
#provider = "virtualbox"
provider = "libvirt" # tb utilitza virtiofs
 
 
Vagrant.configure("2") do |config|
 
  config.vm.define "frontend" do |frontend|
    frontend.vm.box = box
    frontend.vm.hostname = "frontend"
    frontend.vm.network "private_network", ip: "192.168.100.10" # main
    frontend.vm.network "private_network", ip: "192.168.101.10", auto_config: false # bridge per vms
    frontend.vm.provision "shell", path: "network.sh"
    frontend.vm.provision "shell", path: "common.sh"
    frontend.vm.provision "shell", path: "frontend.sh"
  end
 
  # Configuració de les màquines nodes
  (1..2).each do |i|
    config.vm.define "node#{i}" do |node|
      node.vm.box = box
      node.vm.hostname = "node#{i}"
      node.vm.network "private_network", ip: "192.168.100.1#{i}" # main
      node.vm.network "private_network", ip: "192.168.101.1#{i}", auto_config: false # bridge per vms
      node.vm.provision "shell", path: "network.sh"
      node.vm.provision "shell", path: "common.sh"
      node.vm.provision "shell", path: "worker.sh"
    end
  end
 
  # Configuració comuna per totes les màquines
  config.vm.provider provider do |virt|
    virt.memory = "4096"
    virt.cpus = 2
    # ajustos virtiofs (nomes en libvirt)
    if provider == "libvirt" then
      virt.memorybacking :access, :mode => 'shared'
    end
  end
 
  # carpeta compartida per virtiofs enlloc de NFS per libvirt
  if provider == "libvirt" then
    config.vm.synced_folder ".", "/vagrant", type: "virtiofs"
  end
 
end
network.sh
#!/bin/bash
 
# configuració /etc/network/interfaces
 
IPBASE="192.168.101."
IFACE="eth2"
 
# paquets
apt-get update
apt-get install -y bridge-utils
 
# trobem numero de node
numero=$(echo "$(hostname)" | grep -oE '[0-9]+$')
 
# si no té número, és que és el frontend (.10)
if [ -z "$numero" ]; then
    numero=0
fi
 
lastipnum=$((10+$numero))
IP="$IPBASE$lastipnum"
echo "Configurant xarxa br0 a "$(hostname)" : $IP"
 
echo "
# interficie física per al pont
#auto $IFACE
iface $IFACE inet manual
 
# Bridge principal
auto br0
 
# Bridge amb IP estàtica
iface br0 inet static
    bridge_ports $IFACE
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0
    address $IP
    netmask 255.255.255.0
    # gateway "$IPBASE"1    # gateway: Descomentar si cal
" >> /etc/network/interfaces
 
# reiniciem xarxa
systemctl restart networking.service
common.sh
#!/bin/bash
 
# actualització apt
apt-get update
 
# Eines bàsiques (per versió curl+gpg)
apt-get install -y wget curl net-tools vim nfs-common gnupg2
 
# repos Open Nebula
wget -q -O- https://downloads.opennebula.io/repo/repo2.key | apt-key add -
#curl -fsSL https://downloads.opennebula.io/repo/repo2.key | gpg --dearmor -o /etc/apt/keyrings/opennebula.gpg
echo "deb https://downloads.opennebula.io/repo/7.0/Debian/12 stable opennebula" > /etc/apt/sources.list.d/opennebula.list
 
# actualitzem
apt-get update
frontend.sh
#!/bin/bash
 
# resetejem la clau pública del oneadmin per fer SSH
rm -f /vagrant/id_rsa.pub.frontend
 
# a la conf comuna ja s'ha fet update i afegir els repos de Open Nebula
#apt-get update
 
# Instal·lació packages Open Nebula
apt-get install -y opennebula opennebula-fireedge opennebula-gate opennebula-flow
 
# ajust password de oneadmin
echo 'oneadmin:vagrant' > /var/lib/one/.one/one_auth
 
# TODO: instal·lar i configurar mariadb-server i /etc/one/oned.conf
 
# arrenquem i configurem a l'inici els serveis
systemctl start opennebula opennebula-fireedge opennebula-gate opennebula-flow
systemctl enable opennebula opennebula-fireedge opennebula-gate opennebula-flow
 
# publiquem clau publica del oneadmin
cp /var/lib/one/.ssh/id_rsa.pub /vagrant/id_rsa.pub.frontend
worker.sh
#!/bin/bash
 
# a la conf comuna ja s'ha fet update i afegir els repos de Open Nebula
#apt-get update
 
# instal·lem node worker KVM
apt-get install -y opennebula-node-kvm
 
while [ ! -f /vagrant/id_rsa.pub.frontend ]
do
	echo "Esperem que es publiqui la clau publica de oneadmin"
	sleep 5
done
 
# importem la clau pública de oneadmin
cat /vagrant/id_rsa.pub.frontend >> /var/lib/one/.ssh/authorized_keys


Posada en marxa

Has de tenir instal·lat Vagrant.

$ time vagrant up

Hauria de crear 3 nodes amb noms «frontend», «node1» i «node2».

open_nebula.1773883703.txt.gz · Darrera modificació: 2026/03/19 01:28 per enric_mieza_sanchez