Un archivo o volumen (por ejemplo, de ZFS o Solaris Volume Manager) se exporta como disco completo o como disco de segmento único dependiendo de si está configurada o no la opción slice.
Si no configura la opción slice, un archivo o volumen se exporta como disco completo. En este caso, los controladores de disco virtual (vds y vdc) envían E/S desde el disco virtual y administran la partición del disco virtual. El archivo o volumen eventualmente se convierte en una imagen de disco que contiene datos de todos los segmentos del disco virtual y metadatos usados para administrar la partición y estructura del disco.
Cuando se exporta un archivo o volumen en blanco como disco completo, aparece en el dominio invitado como disco sin formato, esto es, un disco sin partición. Tendrá que ejecutar el comando format en el dominio invitado para definir particiones utilizables y grabar una etiqueta de disco válida. Cualquier E/S al disco virtual falla cuando el disco no tiene formato.
service# mkfile 100m /ldoms/domain/test/fdisk0
El tamaño del archivo define el tamaño del disco virtual. Este ejemplo crea un archivo en blanco de 100 MB para obtener un disco virtual de 100 MB.
primary# ldm add-vdsdev /ldoms/domain/test/fdisk0 fdisk0@primary-vds0
En este ejemplo, la opción slice no se ha fijado, así que el archivo se exporta como disco completo.
Por ejemplo, asigne el disco (fdisk) al dominio invitado ldg1.
primary# ldm add-vdisk fdisk fdisk0@primary-vds0 ldg1
Un disco lleno es un disco común con 8 segmentos.
El siguiente ejemplo muestra cómo enumerar el disco, c0d5 y comprueba que es accesible y que es un disco completo.
ldg1# ls -1 /dev/dsk/c0d5s* /dev/dsk/c0d5s0 /dev/dsk/c0d5s1 /dev/dsk/c0d5s2 /dev/dsk/c0d5s3 /dev/dsk/c0d5s4 /dev/dsk/c0d5s5 /dev/dsk/c0d5s6 /dev/dsk/c0d5s7
En el siguiente ejemplo, se muestra cómo crear un volumen ZFS, zdisk0, para usarlo como disco lleno.
service# zfs create -V 100m ldoms/domain/test/zdisk0
El tamaño del volumen define el tamaño del disco virtual. En este ejemplo, se crea un volumen de 100 MB para obtener un disco virtual de 100 MB.
primary# ldm add-vdsdev /dev/zvol/dsk/ldoms/domain/test/zdisk0 \ zdisk0@primary-vds0
En este ejemplo, no se ha configurado la opción slice, así que el archivo se exporta como disco completo.
En el siguiente ejemplo, se muestra cómo asignar el volumen, zdisk0, al dominio invitado ldg1:
primary# ldm add-vdisk zdisk0 zdisk0@primary-vds0 ldg1
Un disco lleno es un disco común con 8 segmentos.
En el siguiente ejemplo, se muestra cómo enumerar el disco, c0d9, y cómo comprobar que es un disco lleno y que se puede acceder a él:
ldg1# ls -1 /dev/dsk/c0d9s* /dev/dsk/c0d9s0 /dev/dsk/c0d9s1 /dev/dsk/c0d9s2 /dev/dsk/c0d9s3 /dev/dsk/c0d9s4 /dev/dsk/c0d9s5 /dev/dsk/c0d9s6 /dev/dsk/c0d9s7
Si se fija la opción slice, entonces el volumen se exporta como disco de segmento único. En ese caso, el disco virtual solo tiene una partición (s0), que se asigna directamente al backend del archivo o del volumen. El archivo o volumen solo contiene datos escritos en el disco virtual sin datos extra como información sobre la partición o la estructura del disco.
Cuando se exporta un archivo o volumen como disco de segmento único, el sistema simula una partición del disco falsa que hacer que el archivo o volumen aparezca como un segmento del disco. Dado que la partición del disco es simulada, no puede crear una partición para ese disco.
El siguiente ejemplo muestra cómo crear un volumen ZFS, zdisk0, para usarlo como disco de segmento único.
service# zfs create -V 100m ldoms/domain/test/zdisk0
El tamaño del volumen define el tamaño del disco virtual. Este ejemplo crea un volumen de 100 MB para obtener un disco virtual de 100 MB.
primary# ldm add-vdsdev options=slice /dev/zvol/dsk/ldoms/domain/test/zdisk0 \ zdisk0@primary-vds0
A continuación se muestra cómo asignar el volumen zdisk0 al dominio invitado ldg1.
primary# ldm add-vdisk zdisk0 zdisk0@primary-vds0 ldg1
ldg1# ls -1 /dev/dsk/c0d9s* /dev/dsk/c0d9s0 /dev/dsk/c0d9s1 /dev/dsk/c0d9s2 /dev/dsk/c0d9s3 /dev/dsk/c0d9s4 /dev/dsk/c0d9s5 /dev/dsk/c0d9s6 /dev/dsk/c0d9s7
Si tiene una configuración que exporta volúmenes como discos virtuales, los volúmenes se exportan como discos completos, no como discos de segmento único. Para mantener el antiguo comportamiento y que los volúmenes se exporten como discos de segmento único, debe realizar una de estas acciones:
Use el comando ldm set-vdsdev en el software de Oracle VM Server for SPARC 3.3 y configure la opción slice para todos los volúmenes que desea exportar como discos de segmento único. Consulte la página del comando man ldm(1M).
Agregue la siguiente línea al archivo /etc/system en el dominio de servicio.
set vds:vd_volume_force_slice = 1
Para obtener información acerca de crear o actualizar correctamente los valores de propiedad /etc/system, consulte Actualización de valores de propiedad en el archivo /etc/system.
|
Esta sección incluye recomendaciones para la exportación de un archivo o un segmento de disco como disco virtual.
El uso del controlador de archivos de bucle de retorno (lofi) para exportar un archivo como disco virtual agrega una capa adicional al controlador y afecta el rendimiento del disco virtual. En vez de ello, puede exportar directamente un archivo como disco completo o como disco de segmento único. Consulte Exportación de archivos y volúmenes.
Para exportar un segmento como disco virtual de manera directa o indirecta (por ejemplo, mediante un volumen de Solaris Volume Manager), asegúrese de que el segmento no inicie en el primer bloque (bloque 0) del disco físico usando el comando prtvtoc.
Si exporta directa o indirectamente un segmento de disco que inicia en el primer bloque de un disco físico, puede sobrescribir la tabla de particiones del disco físico y dejar todas las particiones del disco inaccesibles.