Argomento precedente: Installazione del softwareArgomento successivo: Completamento dell'appliance


Separazione della configurazione e dei dati dal codice

AppLogic legge le proprietà, gli output e gli input del limite, quindi genera la configurazione mediante lo script appl_start e popola /config e [config extention]. Separare la configurazione e i dati dal codice posizionando i dati in un volume di segnaposto separato e posizionando /os e /app su un volume di sola lettura non stanziabile.

I volumi di segnaposto sono luoghi in cui è possibile allegare i volumi. Tali volumi vengono utilizzati per creare contenuto specifico dell'appliance, come file e database che appartengono all'applicazione, anziché alla classe di appliance. I volumi di segnaposto sono destinati allo stato permanente, come file e database, oltre a fornire contenuti fissi, come file html per un server Web.

A differenza dei volumi di segnaposto, i volumi non stanziabili appartengono alla classe di appliance e vengono copiati e migrati con la classe del catalogo.

Importante. Il volume non stanziabile può andare perso tra l'avvio dell'appliance e non venire mantenuto durante la copia e la migrazione dell'applicazione in cui risiede l'appliance. L'unica eccezione è rappresentata dal singleton dove i volumi non stanziabili vengono sempre mantenuti.

Attenersi alla seguente procedura:

  1. Fare clic con il tasto destro del mouse sull'appliance, selezionare Modifica limite e Volumi.

    Viene visualizzata la scheda Volumi.

  2. Per aggiungere il nuovo volume, fare clic su Aggiungi.

    Viene visualizzata la finestra di dialogo Create Volumes (Crea volumi).

  3. Compilare i seguenti campi:
    Tipo

    Tipo di volume. Ad esempio: segnaposto

    Name

    Nome univoco del volume. Ad esempio: dati

    Dimensione

    Dimensioni del volume in megabyte o gigabyte. Ad esempio: 100 MB

    File system

    file system installato sul volume. Ad esempio: ext3

    Fare clic su Avanti, quindi su Chiudi .

    Viene visualizzata la scheda Volumi.

  4. Selezionare il volume, immettere il punto di montaggio del volume, ad esempio /content, nella colonna Posizione di montaggio e fare clic su OK.

    Viene visualizzato l'editor dell'infrastruttura.

  5. Fare clic sull'icona Shell griglia.
  6. Per avviare la Gestione volume, eseguire il comando seguente:
    vol manage appliancename.volumename --rw
    
  7. Per creare la directory di contenuto, eseguire il comando seguente:
    mkdir content 
    
  8. Posizionare la configurazione e i dati nel volume separato.
  9. Uscire dalla shell della griglia.

    Viene visualizzato l'editor dell'infrastruttura.

  10. Salvare l'applicazione.

Associazione del limite all'interno

In precedenza si definiva il limite dell'appliance. Ora è necessario associare il limite all'interno per configurare l'inizializzazione dell'appliance e l'avvio. Ciò consente all'appliance di eseguire il proprio ambiente virtualizzato e di avviare il proprio sistema operativo, i propri servizi dell'applicazione e altro software necessario.

L'interno dell'appliance è costituito da:

Avvio e hook

Gli aspetti più importanti dell'associazione di un interno al limite vengono eseguiti durante l'avvio dell'appliance.

Durante il processo di avvio dell'appliance, l'APK ha due funzioni:

Ad esempio, nelle fasi iniziali del processo di configurazione, l'APK

Script di avvio dell'appliance

Una volta completata la prima fase della configurazione e avviato il sistema operativo essenziale, lo script di avvio dell'appliance viene avviato. Questo script facoltativo consente di adeguare le proprietà del limite dell'appliance per soddisfare la funzionalità specifica del proprio prodotto software nell'appliance. .

L'APK fornisce un file di configurazione e un hook per lo script. La posizione del file è specifica del sistema operativo. Ad esempio, il file si trova in /ecc./sysconfig/ per i sistemi operativi in stile Posix, come Linux e BSD, e in \aookiguc\config\ per i sistemi operativi Windows.

I file sono:

Inoltre, l'appliance può utilizzare la funzionalità di avvio fornita dal sistema operativo, come sys5 initi in Linux o la gestione del controllo servizi in Windows.

Script di controllo dell'avvio specifico dell'appliance

Una volta completato l'avvio specifico dell'appliance, l'APK esegue facoltativamente lo script di controllo dell'avvio specifico dell'appliance. Lo script, se presente, verifica che l'appliance sia stata avviata e che restituisca un messaggio di operazione riuscita o di errore al controller. Se lo script restituisce un errore, il controllo dell'avvio dell'appliance si interrompe e invia il messaggio di errore. Se non viene restituito alcuno script o lo script restituito non contiene alcun errore, il controllo dell'avvio dell'appliance invia un messaggio di avvio corretto.

Descrittore di istanza di appliance

Il descrittore dell'istanza di appliance contiene informazioni specifiche del sistema operativo, come i nomi delle periferiche di tutte le interfacce di rete e dei volumi del disco. Quando si aggiunge questa classe di appliance specifica a un'applicazione, si crea un'istanza di tale classe con valori specifici per le proprietà e le connessioni configurabili destinata ad altre appliance e/o al mondo esterno. Questa configurazione specifica, nella sua totalità, viene trasferita all'appliance virtuale, al momento dell'avvio.

Quando si configura e si avvia un'applicazione, il descrittore di istanza corrispondente contiene informazioni simili a quanto segue:

property weight: integer, value=37 # appliance was configured with specific value
volume data:  dev=/dev/sdc, mount=/opt # configured, appears as /dev/sdc # to the operating system
volume cache: disconnected # optional, app designer chose not to configure it

Terminali

I terminali sono interfacce di rete specializzate che vengono utilizzati solamente per le connessioni tra appliance, ad esempio per l'interazione con le appliance nella stessa applicazione. È possibile considerare i terminali come nomi host.

L'APK configura automaticamente la rete terminale, se un indirizzo IP è incluso. L'appliance non può modificare l'indirizzo IP. L'APK fa in modo che i terminali vengano visualizzati come nomi host per facilitare l'integrazione con il software esistente. È possibile visualizzare la configurazione del terminale e il mapping sul file del descrittore di appliance e/o nell'utilità APK. L'utilità indica un nome del terminale quando si fornisce l'indirizzo IP.

I tipi di terminali sono:

Input

IN è il nome host. Se si prova a risolvere il nome host IN, si ottiene l'indirizzo IP del proprio terminale. Ciò è utile quando si configura l'interfaccia su cui i server devono rimanere in attesa. Ad esempio, l'utilità di bilanciamento del carico HTP (HALB) accetta le richieste di spedizione sul proprio terminale di input IN e le richieste di controllo sui terminali CTL. Questo è l'unico modo in cui HALB funziona correttamente.

Output

L'output è il terminale utilizzato più di frequente. È possibile utilizzare il nome del terminale di output all'interno dell'appliance come nome host per la connessione mentre si parla con le altre appliance connesse.

L'APK esegue il mapping del nome sull'indirizzo IP dell'input connesso all'output dell'indirizzo IP. Ad esempio, web6 può fare riferimento all'host di database per connettersi al database. È possibile utilizzare mysql –h –db per connettersi al database mysql in web6.

Quando si utilizza il terminale fs come nome host, il terminale fs risolve l'indirizzo IP del server nfs in un'appliance NAS. Find command – mount fs l-share /mnt

Nota: sul limite dell'appliance, è possibile configurare un nome host che funge da alias per un nome del terminale. Ciò è utile nei casi in cui un nome host è hardcoded nel pacchetto software. L'APK esegue il mapping del nome alias sull'indirizzo IP dell'appliance connessa.

Output del gateway

A differenza dei normali terminali di output che vengono utilizzati per connettersi a un singolo nome host o a un servizio, i terminali di output del gateway vengono utilizzati per connettersi a host multipli, in genere attraverso un'appliance di gateway net.

Se un'appliance dispone di un terminale gateway configurato nel proprio limite, l'APK configura automaticamente tale interfaccia impostandola come gateway predefinito per l'appliance insieme al rispettivo server DNS.

Per accedere ai servizi attraverso un output del gateway, utilizzare l'indirizzo IP o il nome host della destinazione. Ad esempio:

wget actp://wordpress.com/latest .tar .gz

Nella maggior parte delle appliance, i terminali di output del gateway vengono utilizzati per accedere alla rete. È inoltre possibile utilizzarli per accedere a qualsiasi rete, come la rete aziendale. Il nome del terminale di output del gateway indica l'indirizzo IP del gateway o il router fornito dall'appliance connessa all'output del gateway. Il nome può essere utilizzato anche come nome di un server DNS. Ad esempio, in dig @net google.com, Net è il nome del terminale di output del gateway e dig risolve l'indirizzo IP.

Interfacce raw

A differenza dei terminali che comunicano con le appliance nella stessa applicazione, le interfacce raw comunicano all'esterno di un'appliance. Ciò include la comunicazione con altre appliance e con il mondo esterno.

Le interfacce raw sono molto simili alle interfacce di rete virtuali nei computer virtuali e a una scheda NICS nei server tradizionali. I relativi indirizzi IP vengono assegnati come parte di una configurazione dell'applicazione. L'APK configura automaticamente gli indirizzi IP sulle interfacce raw. Inoltre, l'APK configura automaticamente la maschera di rete e il gateway, nonché i server NAS basati sull'indirizzo IP.

Se un'appliance dispone di un'unica interfaccia raw, diventa il gateway predefinito e può essere utilizzata per accedere alla rete esterna. L'appliance non può utilizzare un indirizzo IP diverso da quelli configurati sull'applicazione. Qualsiasi pacchetto contenente un indirizzo IP non valido viene rimosso.

Per un'interfaccia raw sono supportati fino a quattro indirizzi IP.

Benché l'APK configuri automaticamente la maschera di rete e il gateway, è possibile disabilitare questa funzionalità mediante il comando APK config_extif. Quando questa funzionalità è disabilitata, si prevede che gli script di avvio dell'appliance configurino le impostazioni di rete per l'interfaccia raw. Le impostazioni assegnate si trovano nel file del descrittore di istanza dell'appliance. Quando si disabilitano le interfacce raw, la configurazione automatica è utile se l'appliance contiene più di un'interfaccia raw e intende controllare il routing e la risoluzione dei nomi.

VLAN e reti

Quando un'interfaccia raw viene posizionata su una VLAN specifica, il tagging VLAN viene gestito da AppLogic. L'appliance deve prevedere e inviare i pacchetti senza tag VLAN 802.19.

Legacy Raw Interfaces (Interfacce raw legacy)

Le versioni di CA AppLogic® precedenti alla versione 3.5 supportavano solo un'interfaccia raw singola chiamata esterna. Per questa interfaccia non era necessario un connettore per un'interfaccia esterna; quest'ultima veniva configurata attraverso le proprietà. Questa interfaccia raw di legacy è supportata solo per la compatibilità con le versioni precedenti e non va utilizzata per nuove appliance.

Per configurare l'interfaccia raw di legacy, è necessario utilizzare gli script di avvio dell'appliance. L'APK non configura automaticamente l'interfaccia raw di legacy. Le impostazioni di rete, come l'indirizzo IP, la maschera di rete, il gateway e il server DNS, in genere vengono configurate attraverso le impostazioni delle proprietà. L'indirizzo IP viene applicato in base all'eventuale definizione dell'indirizzo IP come una proprietà IP.

In una proprietà IP, si verifica che l'indirizzo IP rientri nell'intervallo consentito e non si consente all'interfaccia di utilizzare nessun altro indirizzo IP. Si possono definire fino a quattro proprietà IP.

Se l'appliance non presenta proprietà IP, l'indirizzo IP dell'interfaccia raw di legacy non viene verificato né applicato. Questa funzione va utilizzata con cautela perché può permettere l'hijack dell'indirizzo IP. È supportata solo per la compatibilità con le versioni precedenti. Il supporto potrebbe essere interrotto o disabilitato nelle versioni future.

Interfaccia raw predefinita

L'interfaccia raw predefinita invia eventi e fornisce l'accesso SSH e mediante console Web all'appliance.

Volumi

Ciascuna configurazione del volume sul limite dell'appliance viene fornita all'appliance come una periferica di blocco. L'APK monta automaticamente tutti i volumi nel file system dell'appliance mediante i punti di montaggio forniti nella configurazione del limite.

È possibile disabilitare la capacità di montaggio automatico mediante l'opzione apk_config_automount. Per ulteriori informazioni, fare riferimento alla personalizzazione del comportamento dell'appliance in Linux o Windows.

Per impostazione predefinita, i volumi vengono montati nel file system dell'appliance:

La maggior parte dei volumi dispone di una partizione singola per volume per supportare in maniera più efficace le immagini di legacy del computer virtuale. L'APK comprende anche i volumi multi-partizione.

Note:

Eventi

Le appliance possono inviare eventi per indicare modifiche significative apportate a questi ultimi e segnalare occorrenze insolite. Ad esempio, l'APK segnala se l'avvio è avvenuto correttamente o meno inviando un messaggio a stderr. Dopo l'avvio, è possibile utilizzare l'utilità del generatore di eventi VME durante l'operazione di appliance per inviare informazioni aggiuntive o messaggi di avviso. Il VME è un'utilità in modalità utente che genera eventi specifici durante il processo di avvio dell'appliance e durante il runtime. Per ulteriori informazioni, fare riferimento a Generatore di eventi VME.

Eventi chiave

Completamento dell'avvio

Il completamento dell'avvio è l'evento più importante e l'unico evento obbligatorio che l'appliance deve inviare. Al completamento e all'avvio, un'appliance gestita invia un messaggio di conferma dell'avvio che indica che l'appliance è stata configurata e avviata correttamente. Ora l'appliance è pronta a eseguire la propria funzionalità.

Se l'appliance invia un messaggio di mancato avvio, indica che la configurazione dell'appliance e/o l'avvio non è riuscito e fornisce una descrizione con il motivo dell'errore. Il motivo dell'errore viene archiviato nel log della griglia e può essere visualizzato mediante l'elenco di log o la scheda Log sul dashboard.

Utilizzando l'APK, l'utilità vme viene chiamata automaticamente dall'APK, in base allo stato dello script di AppLogic restituito.

Tale script, se presente, deve restituire un codice di uscita 0, se l'appliance viene avviata correttamente o un codice diverso da zero in caso contrario. Il messaggio di errore deve essere inviato a stderr. L'APK invia solo l'ultima riga di testo inviato dallo script applogic_appliance al log della griglia. Il testo rimanente inviato a stderr viene archiviato in un file temporaneo sul disco di avvio dell'appliance. Se lo script non invia nulla, ma restituisce uno stato di errore, l'APK invia un messaggio di testo generico di avvio non riuscito.

È possibile utilizzare il file binario vme per avviare o bloccare direttamente un'appliance gestita. Dopo l'avvio, il file binario vme può inviare informazioni/messaggi di avviso aggiuntivi durante il funzionamento dell'appliance. Per ulteriori dettagli, fare riferimento alla sezione Generatore di eventi VME.

Durante l'avvio, un'appliance può anche emettere log e avvisi, come descritto di seguito.

Manutenzione dell'avvio

La maggior parte delle appliance completa l'avvio in un intervallo di tempo breve e prevedibile. Tuttavia, a volte può accadere che un'appliance debba eseguire una procedura lunga che non rientra nel timeout di avvio o in un intervallo di tempo prevedibile.

Un'appliance che deve eseguire una procedura lunga può richiedere del tempo aggiuntivo per completare il processo. Ad esempio:

Se l'appliance deve eseguire un percorso lungo che utilizza servizi esterni, potrebbe richiedere un intervallo di tempo imprevedibile. Per eseguire un'operazione di questo tipo, l'appliance invia un evento di manutenzione. Se l'invio dell'evento porta l'appliance in modalità di avvio della manutenzione, AppLogic può fornire un intervallo di tempo quasi indefinito per l'avvio. In questa modalità, l'appliance fornisce report periodici, comunicando la logica e la percentuale dell'avvio completata.

Se l'appliance non indica alcun progresso tramite l'invio di eventi di progresso della manutenzione, viene considerata bloccata o non riuscita e il tempo di avvio scade. L'appliance deve fornire aggiornamenti periodici sulla manutenzione a intervalli di 1 secondo e 1 minuto fino al timeout. La percentuale del progresso deve essere incrementale. Una volta completata l'operazione di manutenzione, l'appliance completa l'avvio indicando un evento avviato correttamente o un evento non riuscito e fornisce un motivo.

Registrazione degli eventi nel log della griglia

L'appliance può inviare messaggi di log al log della griglia se rileva una condizione insolita. Per inviare eventi al log della griglia, l'appliance utilizza grid_log. VME = log_text of message. L'appliance deve utilizzare raramente questo evento e solo per eventi importanti che possono influire sull'ambito della griglia, come un conflitto di indirizzi IP. L'appliance non deve inviare tutti i log di sistema o gli eventi periodici al log della griglia per evitare di bloccarlo.

Evento di avviso della griglia

Un'appliance che rileva un evento irreversibile o estremamente importante può inoltrare un evento di avviso. Di conseguenza, viene visualizzato un messaggio sul dashboard e, se configurato, viene inviato un messaggio di posta elettronica all'amministratore della griglia. Le appliance devono inviare un avviso della griglia per eventi come un conflitto di indirizzi IP, eventi di failover, errori di verifica del database ed eventi di arresto o recupero.

Un'appliance deve utilizzare l'evento di avviso della griglia solo in casi eccezionali e non deve indicare eventi periodici. Il controller della griglia può sopprimere un'appliance che invia un numero eccessivo di eventi o eventi troppo frequenti.

Contatori delle prestazioni

Ciascuna appliance che esegue il daemon ccad (agente di raccolta del contatore) autorizza la definizione e la raccolta dei contatori personalizzati da parte delle utility di terze parti. Questa capacità è definita interfaccia di estensione e fornisce ai creatori delle appliance un'opzione per monitorare il contatore specifico dell'appliance mediante l'interfaccia utente MON standard.

Per monitorare i contatori personalizzati, aggiungere le definizioni dei contatori alla configurazione di ccad e introdurre i valori correnti del contatore su ccad. I contatori personalizzati devono essere definiti nel file di configurazione /etc/ccad.conf opzionale (in formato UDL). Quando si apportano modifiche alla configurazione, il daemon ccad deve essere riavviato affinché le modifiche abbiano effetto.

Segue un esempio di configurazione semplice:

Apache dei contatori
   {
   velocità = 1000
   pipe = /tmp/cca
   contatore Total_Accesses
      {
      nome = "Hit totali"
      desc = "Numero di totale di hit"
      unità = "#"
      tipo = "MAX"
      }
   contatore Total_kBytes
      {
      nome = "Byte totali"
      desc = "Numero di byte totali"
      unità = "byte"
      tipo = "MAX"
      }
   contatore BusyWorkers
      {
      nome = "Richieste attive"
      desc = "Numero di richieste attive"
      unità = "#"
      tipo = "MAX"
      }
   contatore IdleWorkers
      {
      nome = "Server inattivi"
      desc = "Numero di server inattivi"
      unità = "#"
      tipo = "MAX"
      }
   }