È possibile aggiornare SaltStack Config alla versione stabile più recente da una versione precedente.
Procedure consigliate durante l'aggiornamento
Durante la pianificazione dell'aggiornamento, seguire queste linee guida:
- Non eseguire l'aggiornamento tramite il programma di installazione o le istruzioni di installazione manuale.Se si sta aggiornando l'installazione di SaltStack Config, fare riferimento alle seguenti istruzioni di aggiornamento.
- Per risultati ottimali, passare da una versione principale a un'altra. È consigliabile eseguire sempre l'aggiornamento dalla versione principale più recente di SaltStack Config alla nuova versione. Se è installata una versione precedente, eseguire l'aggiornamento in modo incrementale da una versione a quella successiva.
- Eseguire il backup dei dati. Per evitare la perdita dei dati, eseguirne il backup.
- Eseguire gli aggiornamenti durante le ore in cui l'attività di rete è minore. Gli aggiornamenti del database richiedono la reindicizzazione dei dati. A seconda della complessità dei dati, un aggiornamento del database potrebbe richiedere diverse ore. Per evitare interruzioni del servizio, è consigliabile aggiornare il database durante le ore lavorative meno intense o eseguire il trimming del database prima di un aggiornamento.
- Verificare se nel database sono presenti comandi esistenti da archiviare. In alcuni casi, il database PostgreSQL archivia i vecchi comandi che non sono stati eseguiti. Questi comandi potrebbero essere eseguiti durante il processo di aggiornamento, quando si riavvia il plug-in Master. Per evitare che ciò accada, controllare se nel database sono memorizzati vecchi comandi ed escludere i processi precedenti a una data definita.
- Verificare l'aggiornamento prima della distribuzione. Se possibile, provare a eseguire una prova generale in un ambiente di test per avere un'idea del tempo necessario per l'aggiornamento.
- Leggere innanzitutto tutta la guida. È inoltre consigliabile leggere una volta l'intera guida prima di implementare un aggiornamento in modo da avere un'idea delle attività necessarie e se richiedono una pianificazione da parte del team o se le parti interessate devono essere informate delle modifiche in sospeso.
Aggiornamento dalle versioni precedenti
È consigliabile eseguire sempre l'aggiornamento dalla versione principale più recente di SaltStack Config alla nuova versione. Se si esegue l'aggiornamento da una versione precedente alla versione più recente, è possibile ottenere risultati migliori eseguendo l'aggiornamento in modo incrementale da una versione principale a quella successiva.
Per istruzioni sull'aggiornamento dalle versioni precedenti di SaltStack Config, consultare le istruzioni di aggiornamento specifiche della versione da cui si esegue l'aggiornamento. Le istruzioni di aggiornamento per le versioni precedenti sono incluse nel PDF della guida all'installazione per la versione successiva. Ad esempio, se è necessario eseguire l'aggiornamento dalla versione 5.5 alla versione 6.0, consultare le istruzioni di aggiornamento nel PDF dell'installazione della versione 6.0.
Per SaltStack Config versione 8.4 e successive, utilizzare il selettore di versione nella parte superiore di questa pagina per selezionare la guida all'aggiornamento corretta per la versione del prodotto in uso. Per le versioni 8.3 e precedenti, utilizzare le guide PDF indicate nella tabella seguente:
Come aggiornare SaltStack Config
- Eseguire il backup dei dati, inclusi alcuni file e directory cruciali per l'installazione specifica di SaltStack Config
- Aggiornare PostgreSQL (facoltativo, ma consigliato)
- Aggiornare l'infrastruttura Salt (facoltativo, ma consigliato)
- Scaricare i file dell'aggiornamento
- Aggiornamento del nodo RaaS
- Aggiornare tutti i Salt Master utilizzando il plug-in Master
Per ulteriori informazioni sull'aggiornamento di SSC tramite Lifecyle Manager, vedere Aggiornamento di vRealize Automation SaltStack Config nella documentazione di LCM.
Backup dei file e delle directory di SaltStack Config
I file e le directory seguenti contengono le configurazioni di SaltStack Config personalizzate e devono essere sottoposti a backup prima dell'aggiornamento:
- Nel nodo RaaS, eseguire il backup di queste directory complete:
/etc/raas/raas
/etc/raas/raas.secconf
/var/log/raas
/etc/raas/pki/
Nota:Poiché la directory
pki
contiene file nascosti, assicurarsi di eseguire il backup dell'intera directory. Il backup dei file di registro nella directory/var/log/raas
è facoltativo. Durante il processo di aggiornamento, è possibile cancellare i file di registro per poter fornire un file di registro pulito se dovesse essere necessario risolvere problemi. - In ogni Salt Master, eseguire il backup dei file
/etc/salt/master.d/raas.conf
e/etc/salt/master.d/eAPIMasterPaths.conf
.Nota:In base alla modalità di installazione iniziale di SaltStack Config, i percorsi del Salt Master eAPI potrebbero invece trovarsi nel file
/etc/salt/master.d/raas.conf
.
Backup dello schema del database
Quando si aggiorna il nodo RaaS, lo schema del database viene aggiornato. Per tale motivo, assicurarsi di creare un backup del database prima dell'aggiornamento.
Per eseguire il backup del database, è innanzitutto necessario cercare il nome del database PostgreSQL e quindi copiare i contenuti:
- Nel server PostgreSQL, eseguire il backup di questi file:
postgresql.conf
pg_hba.conf
- Accedere come utente
postgres
utilizzando il comando seguente:sudo su - postgres
- Recuperare il nome del database utilizzando i comandi seguenti per accedere a PostgreSQL e quindi elencare i database:
psql \l
- Per uscire da PostgreSQL ed effettuare la disconnessione come utente
postgres
, premere Ctrl+D ed eseguire il comando seguente:exit
- Copiare i contenuti del database in un file. Il comando seguente fornisce un esempio:
pg_dump -U salteapi raas_db_name > postgres_raas_backup_$(date +%Y-%m-%d).sql
Aggiornamento del database PostgreSQL
SaltStack Config richiede un database PostgreSQL 9.6, ma è consigliabile utilizzare PostgreSQL 13.7. La versione di PostgreSQL consigliata è inclusa nel programma di installazione di SaltStack Config.
Non è necessario eseguire l'aggiornamento alla versione più recente di PostgreSQL. Tuttavia, l'aggiornamento di PostgreSQL può migliorare le prestazioni. Per istruzioni sull'aggiornamento alla versione più recente di PostgreSQL, vedere Aggiornamento di PostgreSQL.
Aggiornamento del database Redis
SaltStack Config richiede un database Redis 5.x, ma è consigliabile utilizzare Redis 6.2.7. La versione di Redis consigliata è inclusa nel programma di installazione di SaltStack Config.
Non è necessario eseguire l'aggiornamento alla versione più recente di Redis 5.x. Tuttavia, l'aggiornamento di Redis può migliorare le prestazioni. Per istruzioni sull'aggiornamento di Redis, vedere Amministrazione di Redis.
Aggiornamento di Salt
Quando si aggiorna Salt, è necessario aggiornare prima i Master. I minion in esecuzione con versioni di Salt più recenti rispetto ai rispettivi Master potrebbero non funzionare come previsto perché il minion può includere modifiche non ancora disponibili nel Master. Inoltre, quando possibile, la compatibilità con le versioni precedenti tra i nuovi Master e i minion precedenti viene mantenuta. In genere, la sola eccezione a questo criterio si ha nel caso di una vulnerabilità della sicurezza.
Per ottenere prestazioni ottimali, assicurarsi che tutti i componenti di Salt nell'infrastruttura siano in esecuzione nella versione principale più recente di Salt.
Per istruzioni sull'aggiornamento del pacchetto Salt Crystal, vedere Come aggiornare Salt Crystal.
Aggiornamento del nodo RaaS
Dopo aver effettuato l'aggiornamento alla versione più recente di PostgreSQL, Redis e Salt, è possibile aggiornare il nodo RaaS dalla versione precedente alla versione più recente.
Prima di aggiornare il nodo RaaS, è necessario eseguire il backup dei dati di sistema per evitare la perdita dei dati. Per preservare la configurazione, salvare le eventuali modifiche apportate al file system, ai dati del pillar e ai processi predefiniti come nuovi file o processi. È inoltre consigliabile registrare o creare una copia di tutte le assegnazioni di destinazione dei pillar esistenti, poiché vengono rimosse durante il processo di aggiornamento.
Per aggiornare il nodo RaaS:
- Scaricare i file dell'aggiornamento da Customer Connect.
- Arrestare il servizio RaaS con il comando seguente:
sudo systemctl stop raas
- Rimuovere i file di registro nella directory
/var/log/raas
. Se si cancellano i dati dei file di registro, è possibile ottenere un file di registro pulito da utilizzare nel caso sia necessario risolvere problemi. - Rimuovere la versione attualmente installata dell'API (RaaS) con il comando seguente:
sudo yum remove raas
- Aggiornare il nodo RaaS installando l'RPM più recente. Utilizzare il seguente comando di esempio, specificando il nome di file esatto dell'RPM:
sudo yum install raas-rpm-file-name.rpm
- IMPORTANTE: ripristinare il backup dei seguenti file:
/etc/raas/raas
/etc/raas/raas.secconf
/etc/raas/pki/
- Aggiornare le autorizzazioni per l'utente
raas
con il comando seguente:sudo chown -R raas:raas /etc/pki/raas/certs
- FACOLTATIVO: se si dispone di una licenza SaltStack SecOps e si desidera aggiungere la libreria di conformità, aggiungere la nuova sezione seguente al file
/etc/raas/raas
:sec: ingest_override: true locke_dir: locke post_ingest_cleanup: true username: 'secops' content_url: 'https://enterprise.saltstack.com/secops_downloads' download_enabled: true download_frequency: 86400 stats_snapshot_interval: 3600 compile_stats_interval: 10 ingest_on_boot: True content_lock_timeout: 60 content_lock_block_timeout: 120
Nota:Questo passaggio è facoltativo e si applica solo alle organizzazioni che dispongono di una licenza di SaltStack SecOps valida. Questo modulo del componente aggiuntivo è disponibile per SaltStack Config versione 6.0 e successive. Le opzioni di configurazione precedenti nel file di configurazione
/etc/raas/raas
sono specifiche di questi moduli del componente aggiuntivo. - FACOLTATIVO: se si dispone di una licenza di SaltStack SecOps e si desidera aggiungere la libreria di vulnerabilità, aggiungere una nuova sezione al file
/etc/raas/raas
:vman: vman_dir: vman download_enabled: true download_frequency: 86400 username: vman content_url: 'https://enterprise.saltstack.com/vman_downloads' ingest_on_boot: true compile_stats_interval: 60 stats_snapshot_interval: 3600 old_policy_file_lifespan: 2 delete_old_policy_files_interval: 86400 tenable_asset_import_enabled: True tenable_asset_import_grains: ['fqdn', 'ipv4', 'ipv6', 'hostname', 'mac_address', 'netbios_name', 'bios_uuid', 'manufacturer_tpm_id', 'ssh_fingerprint', 'mcafee_epo_guid', 'mcafee_epo_agent_guid', 'symantec_ep_hardware_key', 'qualys_asset_id', 'qualys_host_id', 'servicenow_sys_id', 'gcp_project_id', 'gcp_zone', 'gcp_instance_id', 'azure_vm_id', 'azure_resource_id', 'aws_availability_zone', 'aws_ec2_instance_ami_id', 'aws_ec2_instance_group_name', 'aws_ec2_instance_state_name', 'aws_ec2_instance_type', 'aws_ec2_name', 'aws_ec2_product_code', 'aws_owner_id', 'aws_region', 'aws_subnet_id', 'aws_vpc_id', 'installed_software', 'bigfix_asset_id' ]
Nota:Questo passaggio è facoltativo e si applica solo alle organizzazioni che dispongono di una licenza di SaltStack SecOps valida. Questo modulo del componente aggiuntivo è disponibile per SaltStack Config versione 6.0 e successive. Le opzioni di configurazione precedenti nel file di configurazione
/etc/raas/raas
sono specifiche di questi moduli del componente aggiuntivo. - Al momento, RaaS include un problema noto relativo ai processi obsoleti. Quando eseguono l'aggiornamento, alcuni utenti potrebbero notare una coda di processi obsoleti bloccati nello stato In sospeso. L'aggiornamento del nodo RaaS può causare l'esecuzione di questi processi a meno che non vengano cancellati prima.
Per evitare che ciò si verifichi, verificare innanzitutto se nel database sono archiviati comandi precedenti. Nel nodo PostgreSQL, verificare la presenza di eventuali processi in sospeso utilizzando il comando seguente:
select count(1) from commands where state='new';
Il risultato è il numero di processi in sospeso. Se il numero di processi è
0
, continuare il processo di aggiornamento. - Aggiornare il database del servizio RaaS utilizzando il comando seguente:
sudo su - raas raas upgrade
Nota:A seconda delle dimensioni del database, l'aggiornamento può richiedere da alcuni minuti a più di un'ora. Se si verificano errori, controllare il file di registro
/var/log/raas/raas
per maggiori informazioni. - Dopo l'aggiornamento, uscire dalla sessione per l'utente
raas
con il comando seguente:exit
- Avviare il servizio RaaS con il comando seguente:
sudo systemctl enable raas sudo systemctl start raas
Aggiornare il plug-in Master mediante l'interfaccia utente SaltStack Config
SaltStack Config aggiorna automaticamente il plug-in Master alla versione più recente senza alcuna azione richiesta dall'utente.
Tuttavia, è anche possibile aggiornare il plug-in Master dall'interfaccia utente di SaltStack Config. Per aggiornare il plug-in Master da SaltStack Config selezionare Amministrazione e quindi fare clic su Plug-in Master. La scheda Plug-in Master mostra la versione del plug-in e l’ambiente SaltStack Config in uso, assieme a un elenco degli ID dei plug-in Master. Nella scheda Plug-in Master, è possibile selezionare i plug-in Master che si desidera aggiornare e quindi fare clic su Aggiorna.
Aggiornare il plug-in Master mediante la CLI
Dopo aver completato l'aggiornamento del nodo RaaS, è possibile aggiornare tutti i Salt Master che utilizzano il plug-in Master per connettersi a SaltStack Config.
Prima di aggiornare i Salt Master, assicurarsi che l'applicazione pip3 sia installata nei Salt Master. Se si esegue l'aggiornamento dalla versione più recente del plug-in Master, questa applicazione è già installata.
Per aggiornare il plug-in Master in un Salt Master:
- Arrestare il servizio
salt-master
con il comando seguente:sudo systemctl stop salt-master
- Controllare quale versione di Python è in esecuzione nel Salt Master. Se è Python 3.6 o versione successiva, non è necessaria alcuna modifica. In caso contrario, eliminare la versione precedente del modulo SSEAPE. (SSEAPE è il plug-in di SaltStack Config per il Salt Master). Ad esempio:
RHEL/CentOS
sudo rm -rf /usr/lib/python3.6/site-packages/SSEAPE*
Ubuntu
sudo rm /usr/lib/python3.6/dist-packages/SSEAPE*
- Aggiornare il plug-in Master installando manualmente il file wheel di Python aggiornato. Utilizzare i seguenti comandi di esempio, specificando il nome esatto del file wheel:
RHEL/CentOS
sudo pip3 install SSEAPE-file-name.whl --prefix /usr
Ubuntu
sudo pip3 install SSEAPE-file-name.whl
Nota:È possibile che alcuni utenti debbano utilizzare la sintassi
pip3.6
opip36
per i loro sistemi operativi. - Aggiornare i percorsi del modulo API (RaaS) modificando il file
/etc/salt/master.d/eAPIMasterPaths.conf
per fare riferimento ai percorsi dei vari moduli. Ad esempio, potrebbe essere necessario sostituire tutti i riferimentipython2.7
in questo file conpython3.6
.Nota:In base alla modalità di installazione iniziale di SaltStack Config, i percorsi del Salt Master eAPI potrebbero invece trovarsi nel file
/etc/salt/master.d/raas.conf
. - Controllare la sezione
engines
in/etc/salt/master.d/raas.conf
per verificare che corrisponda a quanto segue:engines: - sseapi: {} - eventqueue: {} - rpcqueue: {} - jobcompletion: {} - keyauth: {}
Nota:Se si verifica un problema, è possibile che sia necessario ripristinare i backup dei file
/etc/salt/master.d/raas.conf
e/etc/salt/master.d/eAPIMasterPaths.conf
. - Se si utilizza l'autenticazione con chiave salt-master (scelta consigliata), assicurarsi che
sseapi_pubkey_path
sia configurato e chesseapi_username
esseapi_password
siano commentati in/etc/salt/master.d/raas.conf
.sseapi_pubkey_path: /etc/salt/pki/master/sseapi_key.pub #sseapi_username: #sseapi_password:
- Verificare che le voci
master_job_cache
eevent_return
selezionate siano impostate susseapi
. il returnerpgjsonb
non è più disponibile. - Avviare il servizio
salt-master
con il comando seguente:sudo systemctl start salt-master
A questo punto, il processo di aggiornamento è stato completato. Se si verificano altri errori, fare riferimento alla sezione Risoluzione dei problemi.