Sistemi operativi Linux

Avvio automatico dei server su sistemi Linux

È possibile avviare automaticamente un server su un sistema operativo Linux® utilizzando il sistema di inizializzazione systemd o System V .

Avvio automatico del server utilizzando l'inizializzazione systemd

Per avviare automaticamente un server su un sistema operativo Linux® utilizzando il sistema di inizializzazione systemd, configurare ed eseguire lo script dsmserv.rc .

Prima di iniziare

Verificare che il programma di utilità /usr/bin/systemctl o /bin/systemctl sia installato sul sistema.

Assicurarsi che l'istanza del server venga eseguita con un ID utente non root con lo stesso nome del proprietario istanza.

Informazioni su questa attività

È possibile utilizzare lo script dsmserv.rc per avviare o arrestare automaticamente un'istanza del server.

Procedura

Per ciascuna istanza del server che si desidera avviare automaticamente, completare le seguenti fasi:

  1. Rinominare lo script dsmserv.rc in modo che corrisponda al nome del proprietario dell'istanza del server. Ad esempio, se il proprietario dell'istanza del server è tsminst1 e il file viene salvato nella directory install_dir/server/bin , immettere il seguente comando:
    cp /opt/tivoli/tsm/server/bin/dsmserv.rc /opt/tivoli/tsm/server/bin/tsminst1
  2. Impostare le autorizzazioni di esecuzione sullo script appena ridenominato eseguendo il seguente comando:.
    chmod +x install_dir/server/bin/instance
    Ad esempio:
    chmod +x /opt/tivoli/tsm/server/bin/tsminst1
  3. Se la directory dell'istanza del server non è home_directory/tsminst1, individuare la riga seguente nella copia dello script:
    instance_dir="${instance_home}/tsminst1"

    Modificare la riga per puntare alla directory dell'istanza del server. Ad esempio:

    instance_dir="/tsminst1"
  4. Nella copia dello script, individuare la seguente riga:
    # pidfile: /var/run/dsmserv_instancename_su.pid

    Modificare il valore del nome dell'istanza sul nome del proprietario dell'istanza del server. Ad esempio, se il proprietario dell'istanza del server è tsminst1, aggiornare la riga immettendo il seguente comando:

    # pidfile: /var/run/dsmserv_tsminst1_su.pid
  5. Creare un file dell'istanza .service nella directory /etc/systemd/system

    Ad esempio:

    vi /etc/systemd/system/tsminst1.service

    Il file contiene il seguente contenuto:

    [Unit]
    Description=IBM Storage Protect Server instance tsminst1
    
    [Service]
    TasksMax=infinity
    Type=oneshot
    RemainAfterExit=true
    ExecStart=/opt/tivoli/tsm/server/bin/tsminst1 start
    ExecStop=/opt/tivoli/tsm/server/bin/tsminst1 stop
    ExecReload=/opt/tivoli/tsm/server/bin/tsminst1 restart
    
    [Install]
    WantedBy=multi-user.target
    
  6. Salva il file di servizio ed esegui il seguente comando:
    systemctl daemon-reload
  7. Creare un collegamento simbolico dallo script nella directory /etc/systemd/system alla directory /etc/systemd/system/multi-user.target.wants . Ad esempio:
    ln -s /etc/systemd/system/tsminst1.service  /etc/systemd/system/multi-user.target.wants/tsminst1.service
  8. Per abilitare il servizio di inizializzazione systemd, eseguire questo comando:
    systemctl enable service_name

    Ad esempio:

    systemctl enable tsminst1.service

Avvio automatico del server utilizzando l'inizializzazione System V

Per avviare automaticamente un server su un sistema Linux utilizzando il sistema di inizializzazione System V, configurare ed eseguire lo script dsmserv.rc .

Prima di iniziare

Assicurarsi che i parametri kernel siano impostati correttamente.

Assicurarsi che l'istanza del server venga eseguita con l'ID dell'utente proprietario dell'istanza.

Verificare che i diritti di accesso e i limiti utente siano impostati correttamente.

Informazioni su questa attività

Lo script dsmserv.rc si trova nella directory di installazione, ad esempio /opt/tivoli/tsm/server/bin.

Lo script dsmserv.rc può essere utilizzato per avviare manualmente il server o per avviarlo automaticamente aggiungendo le voci alla directory /etc/rc.d/init.d. Lo script funziona con i programmi di utilità Linux come CHKCONFIG e SERVICE.

Procedura

Per ciascuna istanza del server che si desidera avviare automaticamente, completare le seguenti fasi:

  1. Inserire una copia dello script dsmserv.rc nella directory /init.d , ad esempio /etc/rc.d/init.d.

    Assicurarsi di modificare soltanto la copia dello script. Non modificare lo script di origine.

  2. Rinominare la copia dello script in modo che corrisponda al nome del proprietario dell'istanza del server, ad esempio tsminst1.

    Lo script è stato creato nell'ipotesi che la directory dell'istanza del server sia home_directory/tsminst1, ad esempio: /home/tsminst1/tsminst1.

  3. Se la directory dell'istanza del server non è home_directory/tsminst1, individuare la riga seguente nella copia dello script:
    instance_dir="${instance_home}/tsminst1"
    Modificare la riga in modo che punti alla directory dell'istanza del server, ad esempio:
    instance_dir="/tsminst1"
  4. Nella copia dello script, individuare la seguente riga:
    # pidfile: /var/run/dsmserv_instancename_su.pid
    Modificare il valore del nome dell'istanza sul nome del proprietario dell'istanza del server.
    Ad esempio, se il proprietario dell'istanza del server è tsminst1, aggiornare la riga come indicato di seguito:
    # pidfile: /var/run/dsmserv_tsminst1_su.pid
  5. Configurare il livello di esecuzione con cui viene automaticamente avviato il server. Utilizzando strumenti come l'utility CHKCONFIG, specificare un valore che corrisponda a una modalità multiutente con collegamento in rete. Generalmente, il livello di esecuzione da utilizzare è 3 o 5, a seconda del sistema operativo e della relativa configurazione. Per ulteriori informazioni sulla modalità multiutente e i livelli di esecuzione, consultare la documentazione del sistema operativo.
  6. Per avviare il server, eseguire il seguente comando:
    service proprietario_istanza server start

    Ad esempio, se il proprietario dell'istanza del server è tsminst1, immettere il seguente comando:

    service tsminst1 start

  7. Per arrestare il server, immettere il seguente comando:
    service proprietario_istanza server stop

    Ad esempio, se il proprietario dell'istanza del server è tsminst1, immettere il seguente comando:

    service tsminst1 stop

Esempio

Questo esempio utilizza i seguenti valori:
  • Il proprietario dell'istanza è tsminst1.
  • La directory dell'istanza del server è /home/tsminst1/tsminst1.
  • La copia dello script dsmserv.rc è denominata tsminst1.
  • Il programma di utilità CHKCONFIG è utilizzato per configurare lo script per l'avvio ai livelli di esecuzione 3, 4 e 5.
cp /opt/tivoli/tsm/server/bin/dsmserv.rc /etc/rc.d/init.d/tsminst1
sed -i 's/dsmserv_instancename.pid/dsmserv_tsminst1.pid/' /etc/rc.d/init.d/tsminst1
chkconfig --list tsminst1
service tsminst1 supports chkconfig, but is not referenced in
any runlevel (run 'chkconfig --add tsminst1')
chkconfig --add tsminst1
chkconfig --list tsminst1
tsminst1 0:off 1:off 2:off 3:off 4:off 5:off 6:off
chkconfig --level 345 tsminst1 on
chkconfig --list tsminst1
tsminst1 0:off 1:off 2:off 3:on 4:on 5:on 6:off