En SMF los servicios se arrancan en paralelo dentro de lo posible. Para asegurarnos que un servicio se arranca después de otro, lo que tenemos que hacer es crear una dependencia. Por ejemplo si tenemos un servicio de apache que necesita tener montado unos volúmenes vía NFS, tenemos que asegurarnos de que este servicio este arrancado y funcionando, antes de levantar el apache. La forma de hacerlo es como sigue: Primero vemos que el servicio seguramente ya tiene dependencias:

 

# svcs -l svc:/network/csk-http:CSKapache2
fmri         svc:/network/csk-http:CSKapache2
nombre       Apache 2 HTTP server
habilitada   Verdadero
estado       online
next_state   none
state_time   17 de septiembre de 2010 08:46:49 CEST
logfile      /var/svc/log/network-csk-http:CSKapache2.log
reiniciador  svc:/system/svc/restarter:default
contract_id  86
dependency   require_all/error svc:/milestone/network:default (online)
dependency   require_all/none svc:/system/filesystem/local:default (online)
dependency   optional_all/error svc:/system/filesystem/autofs:default (disabled)

 

Este servicio tiene 3 dependencias, 2 requeridas y una opcional. Nosotros queremos que el servicio no arranque hasta que no estén montados los volúmenes NFS, por lo que tenemos que agregar una dependencia a svc:/network/nfs/client. Esto se hace de la siguiente forma:

 

# svccfg -s svc:/network/csk-http:CSKapache2
svc:/network/csk-http:CSKapache2> addpg nfs-dep dependency
svc:/network/csk-http:CSKapache2> setprop nfs-dep/grouping = astring: "require_all"
svc:/network/csk-http:CSKapache2> setprop nfs-dep/restart_on = astring: "none"
svc:/network/csk-http:CSKapache2> setprop nfs-dep/type = astring: "service"
svc:/network/csk-http:CSKapache2> setprop nfs-dep/entities = fmri: "svc:/network/nfs/client"
svc:/network/csk-http:CSKapache2> exit
# svcadm refresh svc:/network/csk-http:CSKapache2

 

En este caso, la dependencia es fuerte (require_all). El nombre nfs-dep es un label, podemos poner cualquier cosa.

Una vez hecho esto, el servicio del apache no levantara hasta que no estén montados los volúmenes NFS.

 

Fuente: http://hub.opensolaris.org/bin/view/Community+Group+smf/faq

   
© Copyright © 2014 Web de Guillermo Adrián Molina. All Rights Reserved.