Cualquier volumen ZFS, Solaris Volume Manager o Veritas Volume Manager (VxVM) puede exportarse de un dominio de servicio a un dominio invitado como disco virtual. Un volumen puede ser exportado con disco de segmento único (si la opción slice se especifica con el comando ldm add-vdsdev) o como disco completo.
Los siguientes ejemplos muestran como exportar un volumen como disco de segmento único.
El disco virtual en el dominio invitado (por ejemplo, /dev/dsk/c0d2s0) se asigna directamente al volumen asociado (por ejemplo, /dev/md/dsk/d0) y los datos que se guardan en el disco virtual del dominio invitado son directamente guardados en el volumen asociado sin metadatos adicionales. Por lo tanto, también puede accederse directamente a los datos guardados en el disco virtual del dominio invitado desde el dominio de servicio a través del volumen asociado.
Ejemplos
Si el volumen de Solaris Volume Manager d0 se exporta del dominio primary a domain1, la configuración de domain1 requiere algunos pasos adicionales.
primary# metainit d0 3 1 c2t70d0s6 1 c2t80d0s6 1 c2t90d0s6 primary# ldm add-vdsdev options=slice /dev/md/dsk/d0 vol3@primary-vds0 primary# ldm add-vdisk vdisk3 vol3@primary-vds0 domain1
Después de que domain1 esté enlazado e iniciado, el volumen exportado aparece como /dev/dsk/c0d2s0, por ejemplo, y puede usarlo.
domain1# newfs /dev/rdsk/c0d2s0 domain1# mount /dev/dsk/c0d2s0 /mnt domain1# echo test-domain1 > /mnt/file
Después de haber parado y desenlazado domain1, puede acceder directamente a los datos guardados en el disco virtual de domain1 a través del volumen de Solaris Volume Manager d0.
primary# mount /dev/md/dsk/d0 /mnt primary# cat /mnt/file test-domain1
Cuando otro dominio usa un volumen RAID o Solaris Volume Manager reflejado como disco virtual, debe exportarse sin fijar la opción (excl) exclusiva. En caso contrario, si hay un fallo en uno de los componentes del volumen de Solaris Volume Manager, la recuperación del volumen de Solaris Volume Manager mediante el comando metareplace o con una reserva activa no se iniciará. El comando metastat ve el volumen como resincronizando, pero esta operación no está en curso.
Por ejemplo, /dev/md/dsk/d0 es un volumen RAID Solaris Volume Manager exportado como disco virtual con la opción excl a otro dominio, y d0 se configura con algunos dispositivos de reserva activa. Si falla un componente de d0, Solaris Volume Manager sustituye el componente que ha fallado con una reserva activa y vuelve a sincronizar el volumen de Solaris Volume Manager. Sin embargo, no comienza la resincronización. El volumen se indica como resincronizando, pero la resincronización no avanza.
primary# metastat d0 d0: RAID ; ; ; ;State: Resyncing ; ; ; ;Hot spare pool: hsp000 ; ; ; ;Interlace: 32 blocks ; ; ; ;Size: 20097600 blocks (9.6 GB) Original device: ; ; ; ;Size: 20100992 blocks (9.6 GB) Device ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;Start Block ; ;Dbase ; ; ;State Reloc c2t2d0s1 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;330 ; ;No ; ; ; ; ; ; ;Okay ; ;Yes c4t12d0s1 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;330 ; ;No ; ; ; ; ; ; ;Okay ; ;Yes /dev/dsk/c10t600C0FF0000000000015153295A4B100d0s1 ; ;330 ; ;No ; ;Resyncing ; ;Yes
En esta situación, el dominio que usa el volumen de Solaris Volume Manager como disco virtual debe pararse y desenlazarse para completar la resincronización. El volumen de Solaris Volume Manager puede resincronizarse utilizando el comando metasync.
# metasync d0
Cuando VxVM está instalado en su sistema, y si Veritas Dynamic Multipathing (DMP) está activado en un disco físico o en una partición física que desea exportar como disco virtual, tiene que exportar ese disco o esa partición sin establecer la opción excl (no es la opción predeterminada). En caso contrario, recibe un error en /var/adm/messages mientras enlaza un dominio que usa dicho disco.
vd_setup_vd(): ldi_open_by_name(/dev/dsk/c4t12d0s2) = errno 16 vds_add_vd(): Failed to add vdisk ID 0
Para comprobar si Veritas DMP está activado, puede consultar la información de rutas múltiples en la salida de vxdisk list. Por ejemplo:
# vxdisk list Disk_3 Device: ; ; ; ;Disk_3 devicetag: ;Disk_3 type: ; ; ; ; ; ;auto info: ; ; ; ; ; ;format=none flags: ; ; ; ; ;online ready private autoconfig invalid pubpaths: ; ;block=/dev/vx/dmp/Disk_3s2 char=/dev/vx/rdmp/Disk_3s2 guid: ; ; ; ; ; ;- udid: ; ; ; ; ; ;SEAGATE%5FST336753LSUN36G%5FDISKS%5F3032333948303144304E0000 site: ; ; ; ; ; ;- Multipathing information: numpaths: ; ;1 c4t12d0s2 ; ;state=enabled
Alternativamente, si Veritas DMP está habilitado en un disco o en un segmento que desea exportar como disco virtual con la opción excl fijada, puede inhabilitar DMP usando el comando vxdmpadm. Por ejemplo:
# vxdmpadm -f disable path=/dev/dsk/c4t12d0s2