Omitir Vínculos de navegación | |
Salir de la Vista de impresión | |
Gestión de servicios y errores en Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (Español) |
1. Gestión de servicios (descripción general)
2. Gestión de servicios (tareas)
Supervisión de servicios de la SMF
Supervisión de servicios (mapa de tareas)
Cómo enumerar el estado de un servicio
Cómo enumerar personalizaciones de un servicio
Cómo visualizar los servicios que dependen de una instancia de servicio
Cómo visualizar de qué servicios depende un servicio
Cómo configurar notificaciones de eventos de transición de la SMF
Gestión de servicios de la SMF
Gestión de servicios SMF (mapa de tareas)
Uso de perfiles de derechos de RBAC con la SMF
Cómo desactivar una instancia de servicio
Cómo activar una instancia de servicio
Cómo restaurar un servicio que está en estado de mantenimiento
Cómo crear un perfil de la SMF
Configuración de servicios de la SMF
Configuración de servicios SMF (mapa de tareas)
Cómo modificar una propiedad de servicio SMF
Cómo modificar varias propiedades para un servicio
Cómo modificar un servicio que está configurado por un archivo
Cómo cambiar una variable de entorno para un servicio
Cómo cambiar una propiedad para un servicio controlado por inetd
Cómo suprimir personalizaciones de un servicio
Cómo modificar un argumento de línea de comandos para un servicio controlado por inetd
Cómo convertir entradas inetd.conf
Uso de secuencias de comandos de control de ejecución
Uso de secuencias de comandos de control de ejecución (mapa de tareas)
Cómo agregar una secuencia de comandos de control de ejecución
Cómo desactivar una secuencia de comandos de control de ejecución
Cómo convertir un secuencia de comandos de control para un servicio SMF
Resolución de problemas de la utilidad de gestión de servicios
Resolución de problemas de la SMF (mapa de tareas)
Cómo depurar un servicio que no se inicia
Cómo reparar un repositorio dañado
Cómo iniciar sin tener que iniciar servicios
Esta sección incluye información sobre la gestión de servicios SMF.
En el siguiente mapa de tareas, se describen los procedimientos que son necesarios para gestionar servicios SMF.
|
Puede utilizar perfiles de derechos de RBAC para permitir que los usuarios gestionen algunos de los servicios SMF, sin tener que proporcionar acceso al usuario root. Los perfiles de derechos definen qué comandos el usuario puede ejecutar. Para la SMF, los perfiles siguientes se han creado:
Service Management: el usuario puede agregar, suprimir o modificar servicios.
Service Operator: el usuario puede solicitar cambios de estado de cualquier instancia de servicio, como reiniciar y actualizar.
Para obtener información específica sobre las autorizaciones, consulte la página del comando man smf_security(5). Para obtener instrucciones sobre cómo asignar un perfil de derechos, consulte Cómo cambiar los atributos de seguridad de un usuario de Administración de Oracle Solaris 11.1: servicios de seguridad.
Es frecuente que los administradores escriban secuencias de comandos para realizar un trabajo cuando se inicia el sistema. Este procedimiento muestra cómo utilizar las ventajas de la SMF para admitir una secuencia de comandos.
Antes de empezar
Determine qué modelo de servicio necesita la secuencia de comandos. Si la secuencia de comandos realiza parte del trabajo y, a continuación, sale sin iniciar los procesos de larga ejecución, probablemente se deba a un servicio transitorio. Si la secuencia de comandos inicia un daemon de larga ejecución y sale, se trata de un servicio de contrato. Consulte la sección de duración en la página del comando man svc.startd(1M) para obtener más información sobre modelos de servicio.
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
En este ejemplo, el nombre del servicio es site/ex_svc y es un servicio transitorio, de modo que no es necesario un método de detención.
# svcbundle -o /tmp/ex_svc.xml -s service-name=site/ex_svc \ -s start-method=/lib/svc/method/ex_svc -s model=transient
Compruebe que el contenido del manifiesto en /tmp/ex_svc.xml sea lo que necesita.
# cp /tmp/ex_svc.xml /lib/svc/manifest/site/ex_svc.xml
# svcadm restart svc:/system/manifest-import
Ejemplo 2-12 Instalación automática de un manifiesto generado
Para instalar automáticamente el manifiesto en /lib/svc/manifest/site, utilice la opción -i con el comando svcbundle tal como se muestra a continuación. Este comando se puede ejecutar en lugar del comando en el paso 3, y no necesita realizar ningún otro paso.
# svcbundle -i -s service-name=site/ex_svc \ -s start-method=/lib/svc/method/ex_svc -s model=transient
Utilice el siguiente procedimiento para desactivar un servicio. El cambio de estado del servicio se registra en el repositorio de configuración de servicios. Una vez que se desactiva el servicio, el estado desactivado se mantiene en todos los reinicios. La única forma de que el servicio esté en ejecución de nuevo es activarlo.
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
Si este servicio tiene dependientes que se necesitan, no se puede desactivar.
# svcs -D FMRI
# svcadm disable FMRI
Utilice el siguiente procedimiento para activar un servicio. El cambio de estado del servicio se registra en el repositorio de configuración de servicios. Una vez que se activa el servicio, el estado activado se mantiene en los reinicios del sistema; sin embargo, el servicio se inicia sólo si se cumplen todas las dependencias.
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
# svcadm enable FMRI
# svcs -x FMRI
Si las dependencias requeridas están desactivadas, actívelas con el siguiente comando:
# svcadm enable -r FMRI
Ejemplo 2-13 Activación de un servicio en modo de usuario único
El siguiente comando activa rpcbind. La opción -t inicia el servicio en modo temporal, que no cambia el repositorio de servicios, de modo que este cambio no persiste después de un reinicio. La opción -r inicia recursivamente todas las dependencias del servicio especificado.
# svcadm enable -rt rpc/bind
Si un servicio se está ejecutando, pero se debe reiniciar debido a un cambio de configuración o algún otro motivo, el servicio se puede reiniciar sin tener que escribir comandos separados para detener e iniciar el servicio. El único motivo para específicamente desactivar y luego activar un servicio es si los cambios se deben realizar antes de activar el servicio y después de desactivar el servicio.
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
# svcadm restart FMRI
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
# svcs -x FMRI
Consulte el archivo de registro o la página del comando man mencionada para determinar cuál es el error.
En general, cuando una instancia de servicio está en estado de mantenimiento, todos los procesos asociados con esa instancia se han detenido. Sin embargo, debe asegurarse antes de continuar. El siguiente comando muestra el ID de contrato para el FMRI seleccionado.
# svcs -o CTID FMRI
Repita este paso para todos los procesos mostrados por el comando svcs.
# pkill -9 -c CTID
# svcadm clear FMRI
Un perfil es un archivo XML que muestra los servicios SMF e indica si cada uno debe estar activado o desactivado. Los perfiles se utilizan para activar o desactivar muchos servicios a la vez. Los perfiles también se utilizan para definir valores de propiedades, agregar valores de propiedades e incluso crear un servicio e instancias de un servicio. No es necesario que todos los servicios se muestren en un perfil. Cada perfil sólo debe incluir los servicios que se deben activar o desactivar para que el perfil sea útil.
El servicio svc:/system/rmtmpfiles es responsable de depurar el directorio /tmp durante el inicio. De manera predeterminada, el servicio rmtmpfiles no depura /var/tmp. Si desea depurar /var/tmp durante el proceso de inicio, puede cambiar el comportamiento si establece la propiedad options/clean_vartmp en true. Si desea realizar esto en varios sistemas, lo más sencillo es crear un perfil y colocarlo en /etc/svc/profile/site en esos sistemas.
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
Este comando crea un nuevo perfil en /tmp/rmtmpfiles.xml, que se puede copiar en /etc/svc/profiles/site según sea necesario.
# svcbundle -o /tmp/rmtmpfiles.xml -s service-name=system/rmtmpfiles \ -s bundle-type=profile -s service-property=options:clean_vartmp:boolean:true
# cp /tmp/rmtmpfiles.xml /etc/svc/profile/site/rmtmpfiles.xml
# svcadm restart svc:/system/manifest-import
Ejemplo 2-14 Instalación automática de un perfil de la SMF mientras se crea el perfil
La opción -i se utiliza para instalar el perfil generado. El comando escribirá el perfil en /etc/svc/profile/site/rmtmpfiles.xml. Asimismo, el comando reiniciará el servicio manifest-import para aplicar el perfil.
# svcbundle -i -s service-name=system/rmtmpfiles \ -s bundle-type=profile -s service-property=options:clean_vartmp:boolean:true
Un perfil es un archivo XML que muestra los servicios SMF e indica si cada uno debe estar activado o desactivado. Los perfiles se utilizan para activar o desactivar muchos servicios a la vez. Los perfiles también se utilizan para definir valores de propiedades, agregar valores de propiedades e incluso crear un servicio e instancias de un servicio. No es necesario que todos los servicios se muestren en un perfil. Cada perfil sólo debe incluir los servicios que se deben activar o desactivar para que el perfil sea útil.
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
En este ejemplo, el comando svccfg se utiliza para crear un perfil que representa las personalizaciones locales en el sistema actual. También puede realizar una copia de un perfil existente para editar.
# svccfg extract> profile.xml
Si tiene un gran número de sistemas idénticos o si desea archivar la configuración del sistema para su posterior restauración, puede que desee utilizar este procedimiento para crear una versión única de un perfil de la SMF.
En este ejemplo, el nombre se cambia a profile.
# cat profile.xml ... <service_bundle type=`profile` name=`profile` xmIns::xi='http://www.w3.org/2003/XInclude' ...
Para cada servicio, elimine las tres líneas que describen el servicio. Cada descripción de servicio comienza con <service y finaliza con </service. En este ejemplo, se muestran las líneas del servicio del cliente LDAP.
# cat profile.xml ... <service name='network/ldap/client' version='1' type='service'> <instance name='default' enabled='true'/> </service>
Cada servicio se debe establecer utilizando los tres sintaxis de línea que se muestran arriba.
En este ejemplo, el servicio sendmail está desactivado.
# cat profile.xml ... <service name='network/smtp' version='1' type='service'> <instance name='sendmail' enabled='false'/> </service> ...
Consulte Cómo aplicar un perfil de la SMF para obtener instrucciones.
Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.
En este ejemplo, se aplica el perfil profile.xml.
# svccfg apply profile.xml