Performancing Metrics

solutioncafe IT

Il System Architect è il punto di unione tra IT, processi aziendali, e esigenze del cliente

mar
2010
5

Dovendo installare due firewall (Checkpoint) su hardware Sun, ho dovuto “rispolverare” le mie ormai sepolte conoscenze del sistema operativo Unix proprietario di casa Sun Microsystem (di recente acquisizione Oracle).
Devo dire, una volta terminato, che l’operazione non è poi stata così ardua, anzi il risultato ottenuto si presenta pulito e ordinato.
I server utilizzati sono due Netra T1 105 con processory UltraSPARC-II 440MHz (hardware di del 2002 o giù di lì) 512 MB di RAM 2 dischi da 18 GB, 2 schede di rete onboard, una scheda di rete “qfe” (Quad Fast Ethernet) e ovviamente NESSUN lettore cdrom.
Per coloro non avvezzi a questo tipo di hardware, è bene specificare che la famiglia Netra in genere viene fornita SENZA cdrom e non ha (nel senso che NON ESISTE) scheda grafica; l’output video viene inviato alle (2) “LOM” (Lights Out Manager) in pratica, delle porte seriali.
Per l’installazione, non potendo utilizzare la rete vicino ai server per il “Jumpstart” (installazione da rete), ho optato per un lettore CDROM collegato alla posta scsi esterna e una volta installato il sistema operativo minimale (poichè si tratta di firewall) avendo necessità di accedere ai packages necessari ad installare il resto dei servizi “essenziali”, ho realizzato tre immagini ISO dei cdrom (2 per l’OS + 1 per la patch “recommended”), che ho poi trasferto sui dischi interni servendomi del servizio FTP.
Avendo quindi necessità di “saltare” da un disco all’altro, alla ricerca di quanto necessario, per “montare” e “smontare” le ISO velocemente, senza dovermi preoccupare di quale immagine fosse in uso al momento, ho realizzato questo script, che permette di montare l’immagine al “volo” senza dovermi preoccupare di verificare se e quale delle tre fosse in uso.
Lo script è “essenziale”, ovviamente è possibile migliorarlo introducendo qualche controllo di errore, ma sicuramente svolge bene il proprio compito anche così.

La shell utilizzata è la Bash, su Solaris 8 non si tratta di un package installato di default, va quindi installata manualmente dal cdrom #2.

#!/usr/bin/bash

MPOINT=/mnt/iso
LOOPDEV=""
ISOFILE=$2

showhelp() {

   echo "Usage:
                $0 { isomount isofile }
                $0 { isoumount }
                $0 { status }"
   echo

   exit 1

  }

checkavail() {

        AVAIL=`df -k "$MPOINT" |grep "$MPOINT"`
  }

isoumount() {

        checkavail
        if [ -n "$AVAIL" ]
        then
                LOOPDEV=`df -k "$MPOINT" |grep "$MPOINT" | awk
 '{ print $1 }'`
                umount $MPOINT
                lofiadm -d $LOOPDEV
        fi

  }

isomount() {

        if [ ! -d $MPOINT ]
        then
                mkdir -p $MPOINT
        fi

        x=1

        while [ $x -eq 1 ]
        do
                checkavail

                if [ -z "$AVAIL" ]
                then
                        LOOPDEV=`lofiadm -a $ISOFILE`
                        mount -F hsfs -o ro $LOOPDEV $MPOINT
                        echo `df -k "$MPOINT" |grep "$MPOINT"`
        else
                        isoumount
                        x=$(( $x + 1 ))
                fi
                x=$(( $x - 1 ))
        done

  }

status() {

        STATUS=`df -k "$MPOINT" |grep "$MPOINT"`
        if [ -n "$STATUS" ]
        then
                echo "$STATUS"
        else
                echo "Nothing Mounted on $MPOINT"
        fi

  }

if [[ "$1" == "isomount" && -z "$2" ]]
then
        showhelp
fi

case "$1" in
  isomount)
    isomount
    ;;

  isoumount)
    isoumount
    ;;

  status)
    status
    ;;

  *)
    showhelp
esac

exit $?
Tag:

Related posts

Lascia un commento


Attenzione: I commenti sono moderati, potrebbero non apparire immediatamente.


Akismet verifica tutti i commenti, ogni tentativo di spam e' inutile.

Banner