升级到最新版本的 PostgreSQL、Redis 和 Salt 后,需要将 RaaS 节点从先前版本升级到最新版本。
请注意,数据库升级需要重新编制数据索引。如果数据复杂,数据库升级可能需要数小时。有关何时计划升级以及其他技巧的探讨,请参见升级 时最佳做法。
重要说明:
在升级 RaaS 节点之前,必须备份系统数据以避免数据丢失。有关升级之前必须备份的文件和目录的说明,请参见备份数据。
要升级 RaaS 节点,请执行以下操作:
- 从 Customer Connect 下载升级文件。
- 将对默认文件系统、pillar 数据和作业所做的任何更改另存为新文件或作业。
- 注意对默认目标进行的任何 pillar 分配。升级后需要重新分配。
- 使用下列命令停止 RaaS 服务:
sudo systemctl stop raas
- 移除
/var/log/raas
目录中的日志文件。如果需要进行故障排除,清除日志文件会提供干净的日志文件。 - 使用以下命令移除当前安装的 API (RaaS) 版本:
sudo yum remove raas
- 通过安装最新的 RPM 升级 RaaS 节点。使用以下示例命令,并替换为 RPM 的确切文件名:
sudo yum install raas-rpm-file-name.rpm
- 重要说明:还原以下文件的备份:
/etc/raas/raas
/etc/raas/raas.secconf
/etc/raas/pki/
- 使用以下命令更新
raas
用户的权限:sudo chown -R raas:raas /etc/pki/raas/certs
- 可选:如果您具有 SaltStack SecOps 许可证,并且希望添加合规性库,请在
/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
注:此步骤为可选步骤,仅适用于具有有效 SaltStack SecOps 许可证的组织。此加载项模块适用于 SaltStack Config 版本 6.0 及更高版本。
/etc/raas/raas
配置文件中的先前配置选项特定于这些加载项模块。 - 可选:如果您具有 SaltStack SecOps 许可证,并且希望添加漏洞库,请在
/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' ]
注:此步骤为可选步骤,仅适用于具有有效 SaltStack SecOps 许可证的组织。此加载项模块适用于 SaltStack Config 版本 6.0 及更高版本。
/etc/raas/raas
配置文件中的先前配置选项特定于这些加载项模块。 - RaaS 当前有一个与失效作业相关的已知问题。升级时,某些用户可能会注意到一系列停滞在挂起状态的失效作业。升级 RaaS 节点可能会导致这些作业运行,除非先将其清除。
为防止发生这种情况,请先检查数据库中是否存储了任何旧命令。在 PostgreSQL 节点上,使用以下命令检查任何挂起的作业:
select count(1) from commands where state='new';
输出结果是挂起作业的数量。如果作业数量为
0
,请继续执行升级过程的其余步骤。如果作业数量大于0
,请联系支持部门进行解决。 - 使用下列命令升级 RaaS 服务数据库:
sudo su - raas raas upgrade
注:根据数据库的大小,升级可能需要数分钟到一个小时以上不等。如果遇到错误,请查看
/var/log/raas/raas
日志文件以了解更多信息。 - 升级后,使用以下命令退出
raas
用户的会话:exit
- 使用下列命令启动 RaaS 服务:
sudo systemctl enable raas sudo systemctl start raas
确认 SaltStack Config 正常运行且运行的是最新版本。继续执行下一部分。
后续操作
升级 RaaS 节点后,最终任务是升级主节点插件。有关详细信息,请参见升级主插件。