1.3. Preparazione dell'avvio del sistema di destinazione

In questa sezione vengono illustrate le attività di configurazione necessarie per scenari di avvio complessi. Vengono presentati esempi di configurazione pronti all'uso per DHCP, avvio PXE, TFTP e Wake on LAN.

1.3.1. Configurazione di un server DHCP

La configurazione di un server DHCP in SUSE Linux viene eseguita mediante la modifica manuale dei file di configurazione corrispondenti. In questa sezione viene illustrata l'estensione di una configurazione di un server DHCP esistente per fornire i dati necessari per il servizio in ambiente TFTP, PXE e WOL.

1.3.1.1. Configurazione manuale di un server DHCP

Oltre a fornire un'allocazione di indirizzo automatica ai client della rete in uso, il server DHCP annuncia l'indirizzo IP del server TFTP e il file che deve essere ricavato dalle routine di installazione nel computer di destinazione.

  1. Eseguire il login come root nel computer che ospita il server DHCP.

  2. Aggiungere le righe seguenti al file di configurazione del server DHCP in uso in /etc/dhcpd.conf:

    group { 
      # PXE related stuff 
      # 
      # "next server" defines the tftp server that will be used 
      next server ip_tftp_server: 
      #
      # "filename" specifiies the pxelinux image on the tftp server
      # the server runs in chroot under /srv/tftpboot 
      filename  "pxelinux.0";
    }

    Sostituire ip_of_the_tftp_server con l'indirizzo IP effettivo del server TFTP.

    Per ulteriori informazioni sulle opzioni disponibili in dhcpd.conf, vedere la documentazione relativa a dhcpd.conf.

  3. Riavviare il server DHCP eseguendo il comando rcdhcpd restart.

Se si prevede di utilizzare SSH per il controllo remoto di un'installazione PXE e Wake on LAN, specificare esplicitamente l'indirizzo IP che dovrebbe essere fornito alla destinazione dell'installazione da DHCP. A tale scopo, modificare la configurazione DHCP precedentemente indicata in base all'esempio seguente:

 
group { 
  # PXE related stuff 
  # 
  # "next server" defines the tftp server that will be used 
  next server ip_tftp_server:
  # 
  # "filename" specifiies the pxelinux image on the tftp server 
  # the server runs in chroot under /srv/tftpboot
  filename "pxelinux.0";
  host test { hardware ethernet mac_address; 
              fixed-address some_ip_address; }
       }

L'istruzione host introduce il nome host della destinazione dell'installazione. Per associare il nome host e l'indirizzo IP a un host specifico, è necessario conoscere e specificare l'indirizzo hardware (MAC) del sistema. Sostituire tutte le variabili utilizzate in questo esempio con i valori effettivi che corrispondono all'ambiente in uso.

Dopo aver riavviato il server DHCP, viene fornito un indirizzo IP statico per l'host specificato che consente la connessione al sistema tramite SSH.

1.3.2. Configurazione di un server TFTP

Configurare un server TFTP mediante YaST o manualmente in qualsiasi sistema operativo Linux che supporta xinetd e tftp. Il server TFTP fornisce l'immagine di avvio al sistema di destinazione quando questo viene avviato e invia una richiesta per l'immagine.

1.3.2.1. Configurazione di un server TFTP mediante YaST

  1. Eseguire il login come root.

  2. Avviare YaST+Servizi di rete+Server TFTP e installare il pacchetto necessario.

  3. Fare clic su Abilita per verificare se il server è stato avviato e incluso nelle routine di avvio. Non sono necessarie ulteriori azioni da parte dell'utente per garantire che xinetd esegua tftpd al momento dell'avvio.

  4. Fare clic su Apri porta nel Firewall per aprire la porta corrispondente nel firewall in esecuzione nel computer in uso. Se nel server in uso non vi sono firewall in esecuzione, questa opzione non è disponibile.

  5. Fare clic su Sfoglia per esplorare la directory dell'immagine di avvio.

    La directory di default /tftpboot viene creata e selezionata automaticamente.

  6. Fare clic su Fine per applicare le impostazioni desiderate e avviare il server.

1.3.2.2. Configurazione manuale di un server TFTP

  1. Eseguire il login come root e installare i pacchetti tftp e xinetd.

  2. Se non sono disponibili, creare le directory /srv/tftpboot e /srv/tftpboot/pxelinux.cfg.

  3. Aggiungere i file corrispondenti necessari per l'immagine di avvio come descritto nella Sezione 1.3.3, "Avvio PXE".

  4. Modificare la configurazione di xinetd in /etc/xinetd.d/ per verificare che il server tftp venga eseguito all'avvio:

    1. Se non esiste, creare un file denominato tftp in questa directory mediante il comando touch tftp. Quindi eseguire chmod 755 tftp.

    2. Aprire il file tftp e aggiungere le righe seguenti:

      service tftp 
      { 
              socket_type            = dgram
              protocol               = udp 
              wait                   = yes 
              user                   = root 
              server                 = /usr/sbin/in.tftpd 
              server_args            = -s /tftpboot 
              disable                = no 
      }
      
    3. Salvare il file e riavviare xinetd mediante il comando rcxinetd restart.

1.3.3. Avvio PXE

Alcune informazioni tecniche generali, nonché le specifiche di PXE complete sono disponibili nel documento Preboot Execution Environment (PXE) Specification (ftp://download.intel.com/labs/manage/wfm/download/pxespec.pdf).

  1. Passare alla directory dell'archivio di installazione in uso e copiare i file linux, initrd, message e memtest nella directory /srv/tftpboot immettendo quanto indicato di seguito:

    cp -a boot/loader/linux boot/loader/initrd 
          boot/loader/message boot/loader/memtest /srv/tftpboot
  2. Installare il pacchetto syslinux direttamente dai CD o dai DVD di installazione mediante YaST.

  3. Copiare il file /usr/share/syslinux/pxelinux.0 nella directory /srv/tftpboot immettendo quanto indicato di seguito:

    cp -a /usr/share/syslinux/pxelinux.0 /srv/tftpboot
         
  4. Passare alla directory dell'archivio di installazione in uso e copiare il file isolinux.cfg in /srv/tftpboot/pxelinux.cfg/default immettendo quanto indicato di seguito:

    cp -a boot/loader/isolinux.cfg /srv/tftpboot/pxelinux.cfg/default
         
  5. Modificare il file /srv/tftpboot/pxelinux.cfg/default e rimuovere le righe che iniziano con gfxboot, readinfo e framebuffer.

  6. Inserire le voci seguenti nelle righe aggiuntive delle etichette di default failsafe e apic:

    insmod=e100

    Mediante questa voce, il modulo kernel per una scheda di rete Intel 100MBit/s viene caricato nei client PXE. Questa voce dipende dall'hardware del client e deve essere adattata di conseguenza. Nel caso di una scheda di rete Broadcom GigaBit, questa voce deve corrispondere a insmod=bcm5700.

    netdevice=eth0

    Questa voce definisce l'interfaccia di rete del client che deve essere utilizzata per l'installazione di rete. È necessario soltanto che il client sia dotato di più schede di rete e che sia adattato di conseguenza. Nel caso di una singola scheda di rete, questa voce può essere omessa.

    install=nfs://ip_instserver/path_instsource/CD1

    Questa voce definisce il server NFS e l'origine dell'installazione per l'installazione del client. Sostituire ip_instserver con l'indirizzo IP effettivo del server di installazione in uso. Sostituire path_instsource con il percorso effettivo delle origini dell'installazione. Le origini HTTP, FTP o SMB vengono indirizzate in modo simile, ad eccezione del prefisso di protocollo, che deve essere http, ftp oppure smb.

    [Important]Importante

    Se è necessario passare altre opzioni di avvio alle routine di installazione, quali i parametri di avvio SSH o VNC, aggiungerli alla voce install. Una panoramica dei parametri e alcuni esempi sono disponibili nella Sezione 1.4, "Avvio del sistema di destinazione per l'installazione".

    Di seguito viene illustrato il file di esempio /srv/tftpboot/pxelinux.cfg/default. Modificare il prefisso di protocollo per l'origine dell'installazione in modo che corrisponda alla configurazione di rete in uso e specificare il metodo di connessione preferito al programma di installazione mediante l'aggiunta delle opzioni vnc e vncpassword o ssh e sshpassword alla voce install. Le righe separate da \ devono essere immesse come un'unica riga continua senza interruzione di riga e senza \.

    default linux 
            
    # default 
    label linux 
      kernel linux 
    	    append initrd=initrd ramdisk_size=65536 insmod=e100 \
    	    install=nfs://ip_instserver/path_instsource/product 
    	    
    # failsafe 
    label failsafe 
      kernel linux 
      append initrd=initrd ramdisk_size=65536 ide=nodma apm=off acpi=off \
      insmod=e100 install=nfs://ip_instserver/path_instsource/product
    
    # apic 
    label apic 
      kernel linux 
      append initrd=initrd ramdisk_size=65536 apic insmod=e100 \
      install=nfs://ip_instserver/path_instsource/product
    
    # manual 
    label manual 
      kernel linux 
      append initrd=initrd ramdisk_size=65536 manual=1 
    
    # rescue 
    label rescue 
      kernel linux 
      append initrd=initrd ramdisk_size=65536 rescue=1 
    
    #  memory test 
    label memtest 
      kernel memtest 
    
    # hard disk 
    label harddisk 
      kernel 
      linux append SLX=0x202 
    
    implicit     0 
    display      message
    prompt       1 
    timeout      100
    

    Sostituire ip_instserver e path_instsource con i valori utilizzati nella configurazione.

    La sezione seguente rappresenta un breve riferimento alle opzioni PXELINUX utilizzate in questa configurazione. È possibile trovare ulteriori informazioni sulle opzioni disponibili nella documentazione del pacchetto syslinux in /usr/share/doc/packages/syslinux/.

1.3.4. Opzioni di configurazione di PXELINUX

Le opzioni elencate di seguito sono solo una parte di tutte le opzioni disponibili per il file di configurazione di PXELINUX.

DEFAULT kernel options...

Consente di impostare la riga di comando del kernel di default. Se PXELINUX viene avviato automaticamente, agisce come se le voci che seguono DEFAULT fossero state digitate al prompt di avvio, ad eccezione dell'opzione auto che viene aggiunta automaticamente, indicando un avvio automatico.

Se non è presente il file di configurazione o in esso non è presente alcuna voce DEFAULT, per default il nome del kernel è "linux" senza opzioni.

APPEND options...

Consente di aggiungere una o più opzioni alla riga di comando del kernel. Queste vengono aggiunte sia per l'avvio automatico, sia per quello manuale. Le opzioni vengono aggiunte all'inizio della riga di comando del kernel e solitamente possono essere ignorate dalle opzioni del kernel immesse esplicitamente.

LABEL label KERNEL image APPEND options...

Indica che se label viene immesso come kernel da avviare, PXELINUX deve invece eseguire image e le opzioni APPEND specificate devono essere utilizzate al posto di quelle specificate nella sezione generale del file prima del primo comando LABEL. L'impostazione di default di image è la stessa di label e, se non viene fornita alcuna opzione APPEND, per default viene utilizzata la voce generale, se presente. Sono ammesse fino a 128 voci LABEL.

Si noti che GRUB utilizza la sintassi seguente:

title mytitle 
  kernel my_kernel my_kernel_options 
  initrd myinitrd

mentre PXELINUX utilizza la sintassi seguente:

label mylabel 
  kernel mykernel 
  append myoptions
      

Le etichette vengono modificate come se fossero nomi di file e devono essere univoche dopo essere state modificate. Le due etichette "v2.1.30" e "v2.1.31", ad esempio, non sarebbero distinguibili in PXELINUX poiché entrambe vengono modificate e risultano nello stesso nome file DOS.

Non è necessario che il kernel sia un kernel Linux, può anche essere un settore di avvio o un file COMBOOT.

APPEND -

Indica che non vi sono aggiunte. APPEND seguito da un singolo trattino come argomento in una sezione LABEL può essere utilizzato per ignorare l'opzione APPEND generale.

LOCALBOOT type

In PXELINUX, se si specifica LOCALBOOT 0 invece dell'opzione KERNEL, viene chiamata questa etichetta e viene avviato il disco locale invece del kernel.

Argomento

Descrizione

0

Consente di eseguire un avvio normale.

4

Consente di eseguire un avvio locale mediante Universal Network Driver Interface (UNDI) ancora residente in memoria.

5

Consente di eseguire l'avvio locale mediante lo stack PXE completo, incluso il driver UNDI, ancora residente in memoria.

Tutti gli altri valori non sono definiti. Se non si conoscono gli stack UNDI o PXE, specificare 0.

TIMEOUT time-out

Indica il tempo di attesa al prompt di avvio prima dell'avvio automatico, espresso in unità di 1/10 di secondo. Il timeout viene annullato non appena l'utente digita qualsiasi testo sulla tastiera, in base al presupposto che l'utente completi il comando iniziato. Un valore di timeout pari a zero disabilita completamente il timeout. Questa è anche l'impostazione di default.

Il valore massimo di timeout possibile è 35996 (poco meno di un'ora).

PROMPT flag_val

Se flag_val è 0, il prompt di avvio viene visualizzato solo se vengono premuti i tasti Shift o Alt oppure se si imposta Bloc Maiusc o Bloc Scorr. Questa è l'impostazione di default. Se flag_val è 1, il prompt di avvio viene sempre visualizzato.

 
F2  filename
F1  filename 
..etc... 
F9  filename
F10 filename

Consente di visualizzare il file indicato sullo schermo quando viene premuto un tasto funzione al prompt di avvio. Può essere utilizzato per implementare la Guida in linea relativa al preavvio, presumibilmente per le opzioni della riga di comando del kernel. Per la compatibilità con versioni precedenti, è possibile inoltre immettere F10 come F0. Si noti che non esiste attualmente alcun modo per associare i nomi file a F11 e F12.

1.3.5. Preparazione del sistema di destinazione per l'avvio PXE

Preparare il BIOS del sistema per l'avvio PXE includendo l'opzione PXE nell'ordine di avvio del BIOS.

[Warning]Avvertimento

Non posizionare l'opzione PXE all'inizio dell'opzione di avvio del disco rigido nel BIOS, altrimenti il sistema cercherà di reinstallarsi a ogni avvio.

1.3.6. Preparazione del sistema di destinazione per Wake on LAN

Con Wake on LAN (WOL) è necessario che l'opzione BIOS corrispondente sia abilitata prima dell'installazione. Trascrivere inoltre l'indirizzo MAC del sistema di destinazione. Questi dati sono indispensabili per avviare Wake on LAN.

1.3.7. Wake on LAN

Con Wake on LAN è possibile accendere un computer mediante uno speciale pacchetto di rete che viene inviato con l'indirizzo MAC del computer. Poiché ogni computer dispone di un identificatore MAC univoco, non si corre il rischio di accendere accidentalmente il computer sbagliato.

[Important]Importante

Se il computer di controllo non si trova nello stesso segmento di rete della destinazione dell'installazione che si desidera attivare, configurare le richieste WOL da inviare come multidiffusioni oppure controllare un computer in remoto in quel segmento di rete per agire come mittente delle richieste.

1.3.8. Wake on LAN manuale

  1. Eseguire il login come root.

  2. Avviare YaST+Gestione software e installare il pacchetto netdiag.

  3. Aprire un terminale e immettere il comando seguente come root per attivare la destinazione:

    ether-wake mac_of_target

    Sostituire mac_of_target con l'indirizzo MAC effettivo della destinazione.