28 Jan 2012

Proxmox: compartir disco físico con máquina virtual

Escrito por  Roberto Segura

En sistemas basados en Proxmox hay ocasiones en las que se necesita que un disco físico conectado al anfitrión esté disponible para una de las máquinas virtuales creadas en el mismo. El procedimiento es bastante simple. Una vez creada la máquina virtual ( que en este ejemplo tendrá el id 102 ) se edita el archivo que guarda la configuración de la misma.

Los archivos de configuración siguen el patrón:

/etc/qemu-server/<vmid>.conf

Donde <vmid> es el id de la máquina virtual. En este caso habría que editar el archivo:

/etc/qemu-server/102.conf

El contenido de ese archivo sería algo similar a:

name: samba
ide2: cdrom,media=cdrom
vlan0: rtl8139=32:1B:78:C2:D8:80
bootdisk: ide0
ostype: other
ide0: local:101/vm-101-disk-1.raw
memory: 1024
onboot: 1
sockets: 1
cores: 1

En el ejemplo de este artículo se añadirá el disco /dev/sdb como disco virtio. Para agregar el disco basta con agregar la línea:

virtioX: /dev/sdb o ideX: /dev/sdb o scsiX: /dev/sdb

dependiendo del tipo de disco que se quiera usar ( virtio, ide o scsi). Para máquinas basadas en Windows se recomienda usar siempre ide. La X sería el siguiente identificador de disco libre. 

El archivo quedaría:

name: samba
ide2: cdrom,media=cdrom
vlan0: rtl8139=32:1B:78:C2:D8:80
bootdisk: ide0
ostype: other
ide0: local:101/vm-101-disk-1.raw
virtio0: /dev/sdb
memory: 1024
onboot: 1
sockets: 1
cores: 1

También se podría agregar sólo una partición concreta del disco con:

virtio0: /dev/sdb1

A continuación en la máquina virtual hay que comprobar que el disco ha sido detectado correctamente con:

fdisk -l

En este caso se aprecia que aparece:

Disco /dev/vda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x7dd69d3f
Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/vda1               1       60801   488384001   83  Linux

Ahora sólo falta decidir el punto de montaje que se quiere usar e introducirlo en el fstab. En el ejemplo de este artículo el archivo /etc/fstab agregaríamos la línea:

/dev/vda1 /home/sambafiles ext3 defaults 0 1

Se comprueba que funciona con:

mount /home/sambafiles

Si todo ha ido bien a partir de ahora desde la máquina virtual podrá acceder al disco del anfitrión desde el directorio /home/sambafiles

2 comments

  • Comment Link Alejandro Vazquez Miércoles, 28 Marzo 2012 14:26 posted by Alejandro Vazquez

    Una pregunta: ¿Este método puede ser utilizado para montar el mismo disco duro en varias máquinas al mismo tiempo?, como para hacer un mismo filesystem para un cluster de servidores web?.
    Gracias

  • Comment Link anacondaweb Martes, 24 Abril 2012 15:51 posted by anacondaweb

    Buena información, Gracias por compartirla.

Leave a comment

Los campos marcados con (*) son obligatorios.

Domatix Technologies, S.L.U. - C/Espinosa 8 - 46008 - Valencia - Telf.: 963 230 962
Delegación Murcia - C/Juan de Juanes 4 - 30740 - San Pedro del Pinatar - Murcia