1.3. installazione e configurazione del Red Hat Enterprise Linux

Dopo l'impostazione dell'hardware di base del cluster, procedere con l'installazione del Red Hat Enterprise Linux su ogni membro e assicurarsi che tutti i sistemi riconoscano i dispositivi collegati. Seguite le seguenti fasi:

  1. Installare Red Hat Enterprise Linux su tutti i membri del cluster. Consultate Red Hat Enterprise Linux Installation Guide per maggiori informazioni.

    In aggiunta, quando installate Red Hat Enterprise Linux, é fortemente consigliato effettuare quanto segue:

    • Raccogliere gli indirizzi IP per i membri e per le porte Ethernet collegate, prima d'installare Red Hat Enterprise Linux.Notare che gli indirizzi IP per le porte Ethernet collegate,possono essere degli indirizzi IP privati, (per esempio, 10. x.x.x).

    • Non posizionare i file system locali, (come /, /etc, /tmp, e /var) sui dischi condivisi oppure su di un bus SCSI come disco condiviso. Ció aiuta a prevenire che altri membri del cluster possano accidentalmente montare questi file system e riservando anche un numero limitato di numeri d'identificazione SCSI su di un bus per i dischi del cluster.

    • Posizionare /tmp e /var su file system differenti. Questo puó migliorare le prestazioni del membro.

    • Quando si avvia un membro, assicurarsi che il membro rilevi i dispositivi del disco nello stesso ordine di come sono stati rilevati durante l'installazione del Red Hat Enterprise Linux. Se i dispositivi non vengono rilevati nello stesso ordine, il membro non entra in funzione.

    • Quando si usa il RAID storage configurato con le Unitá Numeriche Logiche (Logical Unit Numbers LUN) maggiori di zero, é necessario abilitare il supporto LUN aggiungendo quanto segue /etc/modules.conf alla riga:

      options scsi_mod max_scsi_luns=255

      Dopo aver modificato modules.conf, é necessario ricostruire il disco ram iniziale usando mkinitrd. ConsultareRed Hat Enterprise Linux System Administration Guide per maggiori informazioni riguardanti la creazione dei dischi ram usando mkinitrd.

  2. Riavviare i membri.

  3. Nell'usare un terminal server, configurare Red Hat Enterprise Linux in modo tale da poter inviare messaggi della console alla porta di quest'ultima.

  4. Modificare il file /etc/host su ogni membro del cluster ed includere gli indirizzi IP, usati nel cluster o assicurare che gli indirizzi sono DNS. Consultate la Sezione 1.3.1 per maggiori informazioni su come eseguire questo compito.

  5. Diminuire il limite del timeout di avvio alternato del Kernel, per ridurre il tempo d'avvio per i membri. Consultare la Sezione 1.3.2 per maggiori informazioni.

  6. Assicurarsi che nessun programma di login (o getty) venga associato alle porte seriali usate per il collegamento dell'interruttore remoto(se applicabile). Per eseguire questo compito, modificare il file /etc/inittab ed usare il simbolo crocetta (#) per decommentare le entry che corrispondono alle porte seriali usate per il collegamento dell'interruttore remoto. Invocare poi il comando init q.

  7. Verificare che tutti i sistemi rilevino tutti gli hardware installati:

    • Usare il comando dmesg per visualizzare i messaggi di avvio della console. Consultare la Sezione 1.3.3 per maggiori informazioni su come eseguire questo compito.

    • Usare il comando cat /proc/devices per visualizzare i dispositivi configurati nel kernel. Consultare la Sezione 1.3.4 per maggiori informazioni su come effettuare questo compito.

  8. Verificare che tutti i membri possano comunicare attraverso tutte le interfacce di rete usando il comando ping per inviare dei pacchetti di verifica da un membro ad un altro.

  9. Se si vogliono configurare i servizi di Samba, verificare che i pacchetti RPM per i suddetti servizi siano installati.

1.3.1. Modifica del file /etc/hosts

Il file /etc/hosts contiene la tabella inerente il significato dell'indirizzo IP dell'hostname (IP address-to-hostname). Il file /etc/host di ogni membro, deve contenere le seguenti entry:

Come alternativa al file /etc/hosts, ci sono alcuni servizi che possono essere chiamati DNS o NIS e usati per definire gli host name usati da un cluster. Tuttavia, per limitare il numero di dipendenze e ottimizzare la disponibilitá, é fortemente consigliato usare il file /etc/hosts per definire gli indirizzi IP per le interfaccie di rete del cluster.

Il seguente è un esempio di un file /etc/hosts su di un membro:

127.0.0.1         localhost.localdomain   localhost
193.186.1.81      cluster2.example.com      cluster2
10.0.0.1          ecluster2.example.com     ecluster2
193.186.1.82      cluster3.example.com      cluster3
10.0.0.2          ecluster3.example.com     ecluster3

L'esempio precedente mostra gli indirizzi IP e gli host name per due membri (cluster2 e cluster3) e gli indirizzi privati IP e gli host name per l'interfaccia Ethernet (ecluster2 e ecluster3) usata nel collegamento heartbeat point-to-point su ogni membro.

Verificare la corretta formattazione della entry della host locale nel file /etc/host, per assicurarsi che non includa sistemi non-locali (non-local systems) nella entry stessa. Ecco riportato un esempio di una entry della host locale non corretta che include un sistema non-locale (server1):

127.0.0.1     localhost.localdomain     localhost server1

Un collegamento Ethernet potrebbe non funzionare correttamente se il formato del file /etc/hosts non é corretto. Controllare il file /etc/hosts e correggere, se necessario, il formato del file rimuovendo i sistemi non-locali dalla entry della host locale.

Notare che ogni adattatore di rete deve essere configurato con gli indirizzi IP e la maschera di rete appropriata.

Il seguente esempio mostra una parte di output dal comando /sbin/ifconfig su di un membro del cluster:

eth0      Link encap:Ethernet  HWaddr 00:00:BC:11:76:93  
          inet addr:192.186.1.81  Bcast:192.186.1.245  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:65508254 errors:225 dropped:0 overruns:2 frame:0
          TX packets:40364135 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:19 Base address:0xfce0

eth1      Link encap:Ethernet  HWaddr 00:00:BC:11:76:92  
          inet addr:10.0.0.1  Bcast:10.0.0.245  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:18 Base address:0xfcc0

L'esempio precedente mostra due interfacce di rete su di un membro del cluster: eth0 (l'interfaccia di rete per il membro) e eth1 (interfaccia di rete per il collegamento Ethernet point-to-point).

Potete aggiungere anche gli indirizzi IP per i membri del cluster al vostro server DNS. Consultare Red Hat Enterprise Linux Reference Guide per informazioni su come configurare DNS, oppure consultate il vostro amministratore di rete.

1.3.2. Diminuzione del Limite del Timeout di avvio del kernel

É possibile ridurre il tempo di avvio per un membro, riducendo il limite del timeout di avvio del kernel. Durante la sequenza di avvio del Red Hat Enterprise Linux, il bootloader permette di specificare un kernel alternativo da avviare. Il limite del timeout di default per specificare un kernel, é di dieci secondi.

Per modificare il limite di timeout di avvio del kernel, modificare i file appropriati in modo seguente:

Allo stesso modo, quando si usa il boot loader GRUB, il parametro di timeout in/boot/grub/grub.conf, dovrebbe essere modificato, in questo modo é possibile specificare il numero di secondi appropriato (in decimi di secondo) per il parametro timeout. Per impostare l'intervallo a tre secondi, modificare il parametro in modo seguente:

timeout = 3

Quando si usano i boot loader LILO o ELILO, modificare il file /etc/lilo.conf (su sistemi x86) o il file elilo.conf (su sistemi Itanium), e specificare il valore desiderato (in decimi di secondo) per il parametro timeout. L'esempio seguente imposta il limite di timeout a tre secondi:

timeout = 30

Per applicare le modifiche fatte al file /etc/lilo.conf, richiamare il comando /sbin/lilo.

Su di un sistema Itanium, per poter applicare qualsiasi cambiamento eseguito sul file /boot/efi/efi/redhat/elilo.conf, invocare il comando /sbin/elilo.

1.3.3. Visualizzazione della Console dei messaggi d'inizio

Usare il comando dmesg per visualizzare i messaggi di avvio della console. Consultate la pagina man dmesg(8) per maggiori informazioni.

Il seguente esempio di output del comando dmesg mostra come due bus SCSI esterni e nove dischi, siano stati rilevati sul membro (notare che le righe con il segno( \ ) , saranno visualizzate come una unica riga sulla maggior parte degli schermi):

May 22 14:02:10 storage3 kernel: scsi0 : Adaptec AHA274x/284x/294x \
	      (EISA/VLB/PCI-Fast SCSI) 5.1.28/3.2.4 
May 22 14:02:10 storage3 kernel:         
May 22 14:02:10 storage3 kernel: scsi1 : Adaptec AHA274x/284x/294x \
              (EISA/VLB/PCI-Fast SCSI) 5.1.28/3.2.4 
May 22 14:02:10 storage3 kernel:         
May 22 14:02:10 storage3 kernel: scsi : 2 hosts. 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST39236LW         Rev: 0004 
May 22 14:02:11 storage3 kernel: Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdb at scsi1, channel 0, id 0, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdc at scsi1, channel 0, id 1, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdd at scsi1, channel 0, id 2, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sde at scsi1, channel 0, id 3, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdf at scsi1, channel 0, id 8, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdg at scsi1, channel 0, id 9, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdh at scsi1, channel 0, id 10, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: SEAGATE   Model: ST318203LC        Rev: 0001 
May 22 14:02:11 storage3 kernel: Detected scsi disk sdi at scsi1, channel 0, id 11, lun 0 
May 22 14:02:11 storage3 kernel:   Vendor: Dell      Model: 8 BAY U2W CU      Rev: 0205 
May 22 14:02:11 storage3 kernel:   Type:   Processor \
                          ANSI SCSI revision: 03 
May 22 14:02:11 storage3 kernel: scsi1 : channel 0 target 15 lun 1 request sense \
	      failed, performing reset. 
May 22 14:02:11 storage3 kernel: SCSI bus is being reset for host 1 channel 0. 
May 22 14:02:11 storage3 kernel: scsi : detected 9 SCSI disks total.

Il seguente esempio dell'output del comando dmesg, mostra che una scheda Ethernet quad é stata rilevata sul membro:

May 22 14:02:11 storage3 kernel: 3c59x.c:v0.99H 11/17/98 Donald Becker
May 22 14:02:11 storage3 kernel: tulip.c:v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov 
May 22 14:02:11 storage3 kernel: eth0: Digital DS21140 Tulip rev 34 at 0x9800, \
	      00:00:BC:11:76:93, IRQ 5. 
May 22 14:02:12 storage3 kernel: eth1: Digital DS21140 Tulip rev 34 at 0x9400, \
	      00:00:BC:11:76:92, IRQ 9. 
May 22 14:02:12 storage3 kernel: eth2: Digital DS21140 Tulip rev 34 at 0x9000, \
	      00:00:BC:11:76:91, IRQ 11. 
May 22 14:02:12 storage3 kernel: eth3: Digital DS21140 Tulip rev 34 at 0x8800, \
	      00:00:BC:11:76:90, IRQ 10.

1.3.4. Visualizzazione dei Dispositivi Configurati nel Kernel

Per essere sicuri che i dispositivi installati, incluso le interfacce di rete e seriali, siano configurati nel kernel, usare il comando cat /proc/devices su ogni membro. Usare questo comando per determinare anche se sia installato un supporto per il raw device sul membro. Per esempio:

Character devices:
  1 mem
  2 pty
  3 ttyp
  4 ttyS
  5 cua
  7 vcs
 10 misc
 19 ttyC
 20 cub
128 ptm
136 pts
162 raw

Block devices:
  2 fd
  3 ide0
  8 sd
 65 sd

L'esempio precedente mostra: