Sto configurando un servizio su un cluster redhat.
In particolare ho un processo che che ha i dati su un filesystem clusterizzato.
Chiaramente il processo non deve venire startato se il filesystem non è montato.
Questa è la prima soluzione:
/etc/cluster/cluster.conf
..
<service name="mioservizio">
<fs ref="miofs"> (in cui miofs è definito in <resources>...</resources>)
<script ref="scriptdistart"/> (in cui scriptdistart è definito come script in <resources>...</resources>)
</fs>
</service>
...
e così startando mioservizio mi parte filesystem e processo.
Però se per qualche motivo voglio vedere solo i dati senza tirare su il processo (per troubleshooting per esempio) sono costretto a fermarlo e montare il filesystem a mano che non è una cosa bella.
Allora la soluzione che è logica è quella di fare due servizi separati, uno per il fs e uno per il processo.
<service name="serviziofs">
<fs ref="miofs"/>
</service>
<service name="sevizioprocesso">
<script ref="scriptdistart">
</service>
Ma questo mi consente di avviare il processo senza il filesystem. Allora ho corretto il secondo servizio in
<service name="servizioprocesso" depend="serviziofs">
e difatti non mi permette di avviare il processo se non ho il filesystem montato perchè effettua il controllo se il serviziofs è down o up
Però non effettua il controllo del nodo di residenza, il ché significa che mi consente di avviare il processo sul nodo A anche se il filesystem è montato sul nodo B.
Chi conosce la soluzione?
L'ideale sarebbe
<service name="mioservizio">
<fs ref="miofs"> (in cui miofs è definito in <resources>...</resources>)
<script ref="scriptdistart"/> (in cui scriptdistart è definito come script in <resources>...</resources>)
</fs>
</service>
ma con la possibilità di stoppare solamente scriptdistart (da command line parlo; però clusvcadm mi consente solo di specificare "mioservizio")
Grazie,
01

)