Este problema ocurrre cuando el directorio temporal /var/tmp no está disponible. Puede haber sido borrado por el script de limpieza /sbin/tmpwatch.sh debido a un problema que afecta los servidores ESXi 4.1 Update 1 que no tienen una ubicación permanente de respaldo o un disco RAM para scratch.
Acciones tales como la instalación de parches y la recopilación del registro de eventos dependen de la escritura temporal de información en un disco virtual temporal es decir en un "Scratch disk" en el servidor ESXi. Estos archivos temporales son colocados en el directorio /var/tmp que apunta al directorio /scratch, el cual puede estar respaldado en un disco RAM o en una ubicación de almacenamiento permanente. Si los directorios /var/tmp y /scratch no están disponibles entonces estas acciones fallarán.
Algunas posibles ubicaciones para el directorio de scratch incluyen:
- Un directorio .locker del banco de almacenamiento VMFS. Por ejemplo: /vmfs/volumes/UUID/.locker/
- Un volúmen FAT16 en el disco de arranque o en otro disco local. Por ejemplo: /vmfs/volumes/UUID/
- Un Ramdisk. Por ejemplo: /tmp/scratch/
ESXi 4.x periódicamente borra los archivos temporales contenidos en el directorio /tmp que tienen más de 10 días. Bajo algunas circunstancias el script de limpieza /sbin/tmpwatch.sh remueve el directorio /tmp/scratch y su contenido, dejando los enlaces simbólicos /var/tmp y /scratch sin blanco. En esta situación, las operaciones o acciones que intenten grabar nuevos archivos temporales en estos directorios van a fallar.
Solución
Otras Alternativas
Intente una de las siguientes opciones alternativas para este problema cuando no quiera aplicar el parche:
- Este inconveniente no afecta los servidores que tienen configurado un espacio de scratch permanente. Asi que como opción para evitar este percance, configure sus servidores ESXi 4.1 Update 1 con scratch permanente. Para implementar esta alternativa, vea Creating a persistent scratch location for ESXi (1033696).
- Cree esta vez el directorio Scratch que falta, en un disco RAM. Para prevenir que sea borrado de nuevo, cree un enlace simbólico dentro del directorio scratch.
Nota: El objetivo o blanco del enlace simbólico no tiene que existir. El enlace simbólico en sí, ni el directorio que lo contiene, serán borrados por el script de limpieza /sbin/tmpwatch.sh.
Para implementar esta alternativa, realice los siguientes pasos:
- Abra una consola para el servidor ESXi. Para mayor información, vea Using Tech Support Mode in ESXi 4.1 (1017910).
- Cree los directorios que faltan usando el comando:
/sbin/configLocker
- Cree un enlace simbólico dentro del directorio scratch, para prevenir que sea borrado por el script /sbin/tmpwatch.sh, escribiendo:
ln -fs /scratch/kb1037190 /scratch/.keep
- Abra el archivo /etc/rc.local en un editor de texto. Para mayor información, vea Editing configuration files in VMware ESX (1017022).
- Agregue el mismo comando del paso 3 al final del este archivo en una linea individual propia:
ln -fs /scratch/kb1037190 /scratch/.keep
- Grabe o guarde el archivo.
- Usando el siguiente comando, realice una copia de seguridad del cambio de la configuración para el banco de arranque "bootbank" y así hacerlo permanente al reiniciar:
auto-backup.sh