Resolución
Desde el kernel 2.4.20-021stab028.18 (publicado en setiembre del 2005), todas las versiones del kernel de Parallels Virtuozzo Containers soportan el cliente NFS. Esto significa que puede montar particiones NFS en un servidor de hardware Parallels Virtuozzo Containers.El kernel de Parallels Virtuozzo Containers no soporta el servidor NFS, pero puede usar software de servidor NFS a nivel de usuario.
El cliente NFS no está disponible desde dentro de un contenedor, pero puede montar particiones NFS en el nodo hardware y entonces montarlas en un contenedor usando el montador denominado 'bind'. Este comportamiento será modificado en Parallels Virtuozzo Containers 4.0, pudiendo montar particiones NFS directamente desde dentro de un contenedor.
A partir de Parallels Virtuozzo Containers 3.0 SP1, puede administrar montajes bind dentro de contenedores usando la opción '--bindmount_add' del comando 'vzctl set'.
Los ejemplos básicos que aparecen a continuación le muestran cómo mapear un recurso desde el host (de hecho cualquier directorio, incluyendo el punto de montaje NFS) a un contenedor en Parallels Virtuozzo Containers 3.x:
- montar una partición NFS en el servidor Parallels Virtuozzo Containers:
# mount -t nfs nfsserver.test.com:/data /mnt/nfs/data- mapear la partición al contenedor #101 como /mnt/data:
# mkdir /vz/root/101/mnt/data
# mount --bind /mnt/nfs/data /vz/root/101/mnt/dataCon el fin de simplificar y automatizar la gestión de mapeos externos, puede usar scripts de acción de Parallels Virtuozzo Containers. De esta forma, los montajes serán restaurados de forma automática cuando se inicie el contenedor. A continuación le mostramos unos scripts de muestra que mapean /mnt/data desde el host hasta /mnt/data del contenedor #101. Anote la ubicación de los scripts (/etc/sysconfig/vz-scripts) y los nombres de archivo del script.
- montar el script, ejecutado cuando se inicie el contenedor #101 (/etc/sysconfig/vz-scripts/101.mount):
#!/bin/sh
# Check if global Virtuozzo configuration and container configuration files exist
[ -f /etc/sysconfig/vz ] || exit 1
[ -f $VE_CONFFILE ] || exit 1
# Source both files. Note the order, it is important
source /etc/sysconfig/vz
source $VE_CONFFILE
mkdir -p $VE_ROOT/mnt/data && mount --bind /mnt/data $VE_ROOT/mnt/data
exit 0- desmontar el script, ejecutado cuando se detenga el contenedor #101 (/etc/sysconfig/vz-scripts/101.umount):
#!/bin/sh
# Check if global Virtuozzo configuration and container configuration files exist
[ -f /etc/sysconfig/vz ] || exit 1
[ -f $VE_CONFFILE ] || exit 1
# Source both files. Note the order, it is important
source /etc/sysconfig/vz
source $VE_CONFFILE
umount $VE_ROOT/mnt/data
exit 0Si desea usar el script para otros contenedor, pongamos el contenedor #102, simplemente copie los scripts de acción y edite los directorios que desea montar, si es necesario:
# cp /etc/sysconfig/vz-scripts/101.mount /etc/sysconfig/vz-scripts/102.mount
# cp /etc/sysconfig/vz-scripts/101.umount /etc/sysconfig/vz-scripts/102.umount