Argomento precedente: Installazioni di distribuzione

Argomento successivo: Kit di installazione di appliance per distribuzioni Linux RedHat e CentOs


Kit di installazione di appliance per distribuzioni Linux Ubuntu
File
Compatibilità

Le versioni apk-*-linux-ub 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

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

Sistemi operativi compatibili con Red Hat

Se il kernel fornito con CA AppLogic viene decompresso prima di eseguire l'installazione di APK, verrà configurato automaticamente come il kernel di avvio quando l'appliance viene avviata in modalità PVM. Viene creato per questo scopo un nuovo file boot/grub/menu.lst. Il kernel fornito con il sistema operativo verrà utilizzato durante l'avvio HVM (il file di configurazione di sgombero per sistemi operativi compatibili con Red Hat è boot/grub/grub.conf).

Altri sistemi operativi basati su Linux

se il kernel fornito con CA AppLogic non viene decompresso prima di installare APK, verrà impostato come il kernel di avvio in boot/grub/menu.lst. Il file di configurazione GRUB originale verrà restituito come boot/grub/menu.lst.apkbk. L'autore dell'appliance può rinominare il backup salvato e riconfigurare il boot loader di GRUB per utilizzare il nome file alternativo come file di configurazione, in modo che sia prelevato quando l'appliance viene avviata in modalità HVM. Quando viene eseguito l'avvio in modalità PV, viene sempre utilizzato boot/grub/menu.lst.

Se l'installazione di APK viene eseguita senza decomprimere il kernel fornito con CA AppLogic, la configurazione GRUB rimarrà intatta. Si presuppone che l'appliance verrà eseguita in modalità HVM, o che il kernel fornito con il sistema operativo sia in grado di avviarsi in modalità PV XEN (molte delle più recenti distribuzioni di sistema operativo forniscono un build di kernel XEN-PV, che può essere installato e configurato per impostazione predefinita).

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.
    eseguire tune2fs-j
    

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

  2. Modificare il file di configurazione di rete ( /etc/network/interfaces) e rimuovere tutte le interfacce tranne lo.
  3. Modificare il file etc/fstab e cambiare il nome della periferica principale con il seguente:
    /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. (Facoltativo) Eliminare il pacchetto del kernel, ignorando le dipendenze (per risparmiare spazio su disco nel volume di avvio).
  5. Verificare che il pacchetto iproute sia installato nelle distribuzioni Debian e Ubuntu più vecchie.
  6. Disinstallare i servizi del sistema operativo che non verranno utilizzati.
  7. (distribuzioni a 64 bit) Installare il pacchetto libc6-i386 e le relative dipendenze (apt-get install libc6-i386). I file binari APK sono a 32 bit, e non verranno eseguiti senza le librerie a 32 bit.

    Nota: se è necessario eseguire file eseguibili a 32 bit diversi da quelli in APK; si consiglia di installare il metapacchetto ia32-libs. Il meta-pacchetto installa tutti i pacchetti contenenti librerie a 32 bit.

Importante: Disinstallare o disabilitare NetworkManager. Questo programma interferirà con la configurazione di rete di CA AppLogic. Eccezione: se si effettua l'impostazione di un server PVS con interfaccia utente grafica, l'applet di Network Manager può essere utilizzata per eseguire la configurazione IP manuale (ma deve essere impostata in modalità manuale prima di avviare la nuova installazione del sistema operativo in CA AppLogic).

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.

Nota su file initrd

APK utilizza una semplice immagine iniziale ramdisk (initrd) creata con il programma di bootstrap 'nash'. Esso non carica moduli del kernel e il suo solo scopo è impostare la directory /dev/ basata su ramdisk per il programma udev e popolarla.

Funziona bene in fase di avvio in appliance virtuali basate su Ubuntu e non è necessario creare un'immagine initrd in stile ubuntu per l'appliance. Le immagini initrd 6/7 di Ubuntu sono più pesanti e hanno funzionalità più avanzate, non necessarie per la maggior parte delle appliance. Se si desidera, può essere creato e utilizzato un file initrd specifico per Ubuntu. Modificare semplicemente il file /boot/grub/menu.lst per puntare a un'immagine initrd alternativa. Notare che questa modifica dovrà essere riapplicata nel caso si reinstalli APK in futuro.

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. 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). Se APK è installato solo con il kernel XEN PV di CA AppLogic, verrà creata una macchina non avviabile.

Montare l'immagine del sistema operativo nel file system in uso. Se l'immagine è già installata come volume in una griglia di CA AppLogic, è possibile accedervi utilizzando il comando vol manage (gestione volume). Copiare il file APK nella directory /tmp sull'immagine stessa oppure copiare i file in una directory temporanea nell'host che contiene l'immagine montata. Se l'immagine è già in una griglia, copiare i file nell'immagine stessa utilizzando l'interfaccia Web. Le seguenti operazioni richiedono un root utente se l'attività non è eseguita su una griglia.

Per installare APK

  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.i386,tar.gz 
    tar -zxf tmp/apk-2.0.14-ub.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 lo script di installazione:
    tmp/apk-install 
    

    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à arrestato e sarà richiesto l'input dell'utente. Se non è stata eseguita nessuna personalizzazione specifica per l'appliance in questa directory, è consigliabile eliminarlo. Ad esempio, i relativi contenuti sono uguali o simili a ciò che è stato trovato su LUX. 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.

    Lo script di installazione e i file tar, se sono stati copiati nell'immagine stessa, possono essere rimossi:

    rm tmp/apk-install =  =tmp/domu-linux-*.tar.gz = tmp/apk-*.tar.gz= 
    
  3. Smontare l'immagine e importarla nella griglia di CA AppLogic. È anche possibile chiudere la shell vol manage, se l'immagine era già sulla griglia ed è stata modificata usando il seguente comando:
    vol manage
    
  4. Se l'immagine è 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.
Comportamento di appliance personalizzate - Riferimento rapido

Per ulteriori dettagli, consultare la Guida per l'utente.

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 un 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 utilizzerà 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.