Argomento precedente: Installazione di appliance di Linux

Argomento successivo: Kit di installazione di appliance per distribuzioni Linux Ubuntu


Kit di installazione di appliance per distribuzioni Linux RedHat e CentOs
File
Compatibilità

Le versioni apk-*-linux-rh sono compatibili con le seguenti distribuzioni del sistema operativo:

Per installare APK è necessario:

L'immagine deve essere associata al file system ext3, se vengono utilizzati i file initrd e il kernel fornito con APK.

Preparazione dell'immagine

Importante: Le versioni Linux di APK supportano l'avvio HVM sia per hypervisor VMWare che XEN. Il kernel PVM fornito con CA AppLogic è facoltativo.

I seguenti passaggi possono variare a seconda del modo in cui è stato originariamente installato il sistema operativo. Non vengono eseguiti dallo script di installazione di APK e sono a discrezione dell'amministratore, perché alcuni di essi sono invasivi e potrebbero danneggiare i dati, se eseguiti accidentalmente su un sistema live (anziché sull'immagine in fase di preparazione). Pertanto, è sconsigliabile eseguirli in uno script automatico. Ignorare i passaggi non appropriati.

Per preparare l'immagine

  1. Verificare che l'immagine del disco sia un file system ext3.

    Se il sistema operativo è stato installato come ext2, eseguire il seguente comando per convertire l'immagine in ext3.

    tune2fs -j
    

    Per utilizzare ext2 (o qualsiasi file system diverso da ext3), il file initrd fornito con APK deve essere ricompilato.

  2. Eseguire il seguente comando per rimuovere i file di configurazione di rete:
    rm /etc/sysconfig/network-scripts/ifcfg-eth* 
    
  3. Modificare il file etc/fstab e cambiare il nome della periferica principale con /dev/hda1.

    Il programma di installazione effettuerà inoltre la verifica e stamperà un avviso, se rileva che la periferica principale è specificata tramite etichetta o UUID.

  4. Eseguire il seguente comando per eliminare il pacchetto del kernel (ignorare questo passaggio se si sta creando un'immagine per l'esecuzione in modalità di emulazione hardware).
    rpm --root path/to/image -e --nodeps kernel
    

    oppure, se si esegue questa operazione dalla shell di 'vol manage':

    chroot  path/to/image rpm -e --nodeps kernel 
    
  5. Disinstallare i servizi del sistema operativo che non verranno utilizzati.

Nota: dopo la pulizia, il volume può essere ridotto per produrre un'immagine più piccola del volume di avvio per l'appliance, tuttavia, verificare che vengano lasciati almeno 10-15 MB di spazio libero per disporre di spazio sufficiente per l'installazione del kernel XEN DomU e di APK, e di alcuni headroom per i file di log, i file temporanei, e così via.

Installazione di APK

Le istruzioni di installazione specificate qui presuppongono che l'installazione di APK venga eseguita come un'immagine del sistema operativo attualmente non in esecuzione, ma preparata in anticipo, installando un sistema operativo pulito, disattivandolo e prendendo l'immagine di avvio del disco o tramite l'aggiornamento di un'appliance di CA AppLogic esistente aggiornata con una nuova versione di APK.

Anche l'installazione live (su un sistema operativo in esecuzione) è possibile, e può essere utilizzata con l'utilità iso2class fornita nel CA AppLogic Service Pack 2.4.5 e in versioni successive. Notare, tuttavia, che iso2class creerà un'applicazione HVM, e APK non funziona in modalità HVM. L'appliance deve essere modificata in modalità paravirtualizzata dopo l'installazione di APK. Per installare su un sistema live, attenersi alla procedura riportata di seguito, ma utilizzare / come directory corrente per tutte le operazioni. Questa opzione è consigliata in una macchina virtuale XEN (ad esempio, usando 'iso2class'), l'esecuzione di questa operazione su un sistema bare-metal renderà impossibile l'avvio di un computer.

Per installare APK

  1. L'immagine del sistema operativo deve essere montata nel file system.

    Se l'immagine è già installata come volume in una griglia di CA AppLogic, è possibile accedere ad essa utilizzando il comando vol manage (gestione volume).

  2. Copiare il file APK nella directory /tmp sull'immagine stessa o in una directory temporanea nell'host quando l'immagine viene montata. Se l'immagine è già in una griglia, copiare i file nell'immagine stessa utilizzando l'interfaccia Web. (Altrimenti eseguire questa operazione in una griglia: notare che le seguenti operazioni devono essere eseguite come utente principale)

Importante: è necessario il pacchetto dhclient per il funzionamento di APK. Non è installato per impostazione predefinita su CentOs5. Installare il pacchetto dhclient nell'immagine prima di installare APK.

L'RPM di dhclient può essere installato su un'immagine di un sistema operativo non-live (ad esempio, il volume montato nella shell di 'vol manage'), utilizzando chroot. L'RPM dovrebbe essere disponibile su qualsiasi sito mirror di CentOS (ad esempio, http://mirror.stanford.edu/yum/pub/centos/5,1/os/i386/CentOS/dhclient-3.0,5-7,el5,i386,rpm)

Per installare il pacchetto dhclient

  1. Decomprimere il kernel DomU e l'archivio binario APK nella directory principale dell'immagine. Di seguito è riportato un esempio dei comandi da eseguire::
    cd /mnt/vol 
    tar -zxf tmp/domu-linux-2.6.18.8.386.tar.gz # ** vedere nota sotto! 
    tar -zxf tmp/apk-2.0.14-rh.tar.gz 
    

    Lo script sarà decompresso nella directory ./tmp.

    Importante: Utilizzare il corretto archivio domu-linux per l'architettura della distribuzione. L'installazione di un kernel a 32 bit non consente il funzionamento in una distribuzione a 64 bit.

  2. Eseguire il seguente script di installazione:
    tmp/apk-install 
    

    Lo script di installazione - e i file tar, se sono stati copiati nell'immagine stessa - possono essere ora rimossi tramite il seguente comando:

    rm tmp/apk-install tmp/domu-linux-*.tar.gz tmp/apk-*.tar.gz 
    

    Nota: Gli script di inizializzazione forniti con APK non supportano più script specifici di appliance installati in "/appliance". Se è presente, lo script di installazione verrà interrotto e sarà richiesto l'input dell'utente. Se non è stata eseguita nessuna personalizzazione specifica per l'appliance in questa directory (ovvero, i relativi contenuti sono uguali o simili a ciò che è stato trovato su LUX), è consigliabile eliminarlo. Tutte le funzionalità standard solitamente installate vengono ora fornite da APK. In caso contrario, fare clic su Salva in /tmp e procedere con l'installazione.

  3. Smontare l'immagine e importarla nella griglia di CA AppLogic (o chiudere la shell di gestione volume vol manage, se l'immagine è già presente nella griglia ed è stata modificata utilizzando vol manage).
  4. Se l'immagine corrisponde a quella di un'appliance esistente, eseguire le seguenti operazioni:
    1. Modificare la classe (utilizzando l'editor della GUI) e rimuovere i nomi del kernel e del file initrd.
    2. Impostare la modalità di configurazione su dhcp.
Configurazione di inizializzazione dell'appliance

Se è presente il file /etc/sysconfig/applogic_init, lo script di inizializzazione di APK lo legge come una shell con script (con il comando "."). I seguenti parametri possono essere definiti in /etc/sysconfig/applogic_init :

APK_AUTH_KEY_PATH

Specifica la posizione in cui archiviare la chiave pubblica di accesso SSH dell'appliance. Il comando 3T comp ssh si connette alle appliance tramite la corrispondente chiave privata. Il valore predefinito è /root/.ssh. Se impostata su una stringa vuota, la chiave non verrà archiviata.
Se il percorso specificato è un file esistente, il titolare e le autorizzazioni verranno mantenuti. In caso contrario, il file verrà creato con il titolare principale.

APK_CONFIG_EXTIFC

Abilita la configurazione IP automatica delle interfacce esterne, se è fornito nell'applicazione. Impostare questo valore su No per disabilitare la configurazione IP dell'interfaccia esterna. Con questo valore, l'APK si comporta come la versione precedente che non supportava la configurazione delle interfacce esterne.

Impostazione predefinita:

Importante: Impostare APK_CONFIG_EXTIFC=no se si è installato il nuovo APK di CA AppLogic 3.5 in un'appliance con un'interfaccia esterna che è progettata per operare su una griglia pre-3.5. Queste appliance utilizzano le proprietà per configurare la rete esterna. Questa impostazione non ha effetto sulle appliance senza interfacce esterne.

APK_CONFIG_FILES

Specifica l'elenco di file delimitato da spazi a cui applicare le proprietà dell'appliance. Tale elenco sostituisce l'elenco dei file di configurazione specificato nella finestra di dialogo Modifica limite nella GUI (per appliance che non utilizzano APK). Un'appliance dotata di APK utilizza l'elenco APK_CONFIG_FILES trovato nell'appliance stessa, non l'elenco specificato nella GUI.
Importante: se si installa APK in un'appliance esistente, controllare nel descrittore di classe (utilizzando l'editor della GUI) la presenza dei file di configurazione nella scheda Configura file trovata nella finestra di dialogo Visualizza/Modifica limite. Trasferire l'elenco dei file nell'impostazione APK_CONFIG_FILES nell'appliance.

Importante: Il file /etc/sysconfig/applogic_init viene eseguito prima che i dati di configurazione vengano recuperati o applicati, e di conseguenza lo script non può basarsi sulla presenza di nessuno dei file di configurazione dell'appliance. Non utilizzare questo file per l'esecuzione di codice di inizializzazione, utilizzarlo solo per le variabili di configurazione definita in precedenza.

Esempio /etc/sysconfig/applogic_init:

APK_CONFIG_FILES=/etc/httpd/conf.d/myconfig.conf 
APK_AUTH_KEY_PATH=/root/.ssh/alternate_keys 
Controllo di appliance successivo all'avvio

Se il file /etc/sysconfig/applogic_appliance è presente, lo script di inizializzazione successivo di APK lo legge come una shell con script (con il comando "."), dopo che sono stati avviati tutti i servizi nell'appliance. Lo stato di ritorno dallo script indica se l'avvio dell'appliance deve essere considerato corretto o non riuscito. Se lo script stampa un messaggio in stderr e restituisce un errore, l'ultima riga del messaggio verrà utilizzata come messaggio di errore inviato al controller.

Esempio di file di controllo successivo all'avvio, per un'appliance del server web - Verifica che il server sia attivo e che risponda a HTTP GET per la pagina iniziale:

if ! wget -q -O /dev/null http://localhost/ ; then
echo "start failed - Web server is not responding" >&2
return 1
fi
return 0

Importante: Alcune appliance nel catalogo di sistema utilizzano uno script personalizzato che si trova in /appliance per inizializzare i servizi. Questa opzione non è più supportata. All'installazione di APK viene stampato un avviso, per mantenere la struttura della directory principale pulita e conforme alla gerarchia standard del File System. È possibile spostare il codice da tali script a /etc/sysconfig/applogic_appliance per emulare il comportamento precedente, ma non è questa l'intenzione del file di controllo successivo all'avvio e l'opzione non è consigliata. Un servizio installato dovrebbe invece disporre di un proprio script di inizializzazione e in generale dovrebbe essere in grado di funzionare perfettamente all'esterno di CA AppLogic.