Virtualización con KVM y libvirt: clonación, redes, almacenamiento e iSCSI

Classified in Technology

Written on in English with a size of 3.94 KB

1. Clonación de máquinas virtuales

ssh root@dirección

virt-clone --original ESTACION1 --name ESTACION2 --file /var/lib/libvirt/estacion2.qcow2 --mac RANDOM

Comprobarlo: virsh dumpxml ESTACION1 | grep 'mac'

2. Configuración de una red virtual

virsh net-dumpxml default > red2.xml

vi red2.xml

<name>RED2</name> (nombre)

<forward mode='nat'/> (tipo de envío; puede cambiarse a route si es enrutada o bridge si es de tipo bridge)

<bridge name='virbr2' stp='on' delay='0'/> (a dónde se asocia el switch)

<ip address='192.168.200.1' netmask='255.255.255.0'> (dirección IP de la red)

<range start='192.168.200.20' end='192.168.200.254'/> (rango de IPs de la red)

virsh net-define red2.xml

virsh net-start RED2

virsh net-autostart RED2

Conectar la red a una máquina (si se solicita):

virsh attach-interface --domain nombre --type tipo_de_conexion (network) --source red_conexion (RED2) --model virtio --config --live

3. Creación de un pool de almacenamiento

mkdir /var/lib/libvirt/imagenes/contexa

fdisk /dev/sda (si se solicita)

mkfs.ext4 /dev/sda

virsh pool-define-as CONTEXA --type fs --source-dev /dev/sda --source-format ext4 --target /var/lib/libvirt/imágenes/contexa

(Si es de tipo dir, solo se deja el target; si es de tipo netfs, se cambian dev y format por host (IP) y path)

virsh pool-build CONTEXA

virsh pool-start CONTEXA

virsh pool-autostart CONTEXA

4. Creación y conexión de volúmenes

vol-create-as --pool default --name vol_exa.img/.qcow2 --capacity 512M --format raw/qcow2 --prealloc-metadata (solo si es qcow2)

virsh attach-disk --domain ESTACION1 --source /var/lib/libvirt/images/vol_exa.img/qcow2 --target sda/vda --targetbus sata/virtio --subdriver raw/qcow2 --config --live

Dentro de ESTACION1:

mkfs.ext4 /dev/sda

mkdir -p /mnt/extra

mount /dev/sda /mnt/extra

echo "prueba" > /mnt/extra/prueba.txt

qemu-img create -f qcow2 --prealloc-metadata /var/lib/libvirt/images/Alma1_vol2_p6.qcow2 1G

5. Configuración de iSCSI con targetcli

targetcli

cd backstores/block -> create name=discoexa dev=/dev/sda

cd iscsi/ -> wwn=create iqn.2025-06.com.vpd:discoexa

cd iqn.2025-06.com.vpd:discoexa/tpg1/luns -> create /backstores/block/discoexa

cd iqn.2025-06.com.vpd:discoexa/tpg1/acls -> wwn=create iqn.2025-06.com.vpd:estacion1

cd iqn.2025-06.com.vpd:discoexa/tpg1/portals -> delete 0.0.0.0 3260 / ::0 3260 -> create ip_red1 (IP de la red1 de la máquina cabina)

saveconfig

exit

Comprobación:

En anfi_virt, editar /etc/iscsi/initiatorname.iscsi con InitiatorName=iqn.2025-06.com.vpd:estacion1

systemctl restart iscsi

Dentro de la máquina cabina:

iscsiadm -m discovery -t st -p ip_red1

iscsiadm -m node -T iqn.2025-06.com.vpd:discoexa -p ip_red1 -l

RAID 1 con LVM

pvcreate /dev/sda /dev/sdb

vgcreate ApacheVG /dev/sda /dev/sdb --setautoactivation n

lvcreate --type raid1 -m 1 -L 900M -n ApacheLV ApacheVG

vgchange -ay ApacheVG -> lvs

6. Configuración de red con nmcli y bridges

En el caso NAT, se realiza el attach de la interfaz fuera y dentro con nmcli:

nmcli connection add type ethernet/bridge con-name nombre_conexion if-name nombre_red (enp7s0) ipv4.method manual ipv4.addresses ip_asignada 10.22.122.2/24 (si es auto, se deja ipv4.method auto)

Bridge completo en el anfitrión virtual:

nmcli con add type bridge con-name bridge0 ifname bridge0

nmcli con add type ethernet slave-type bridge con-name bridge ifname enp1s0 master bridge0

Levantar conexión

nmcli connection up bridge0

virsh attach-interface --domain ESTACION1 --type bridge --source bridge0 --model virtio --config --live

Related entries: