非连续 FIPS 数据库升级

从 Vertica 10.1.1 开始,已恢复 FIPS 支持。在此之前,支持 FIPS 的最后一个版本是 Vertica 9.2.x。Vertica 升级通常采取连续的方式,但如果从 9.2.x 升级并且希望维护 FIPS 认证,则必须首先执行从 9.2.x 到 10.1.1 的直接非连续升级,然后再执行从 10.1.1 到 12.0.x 的标准连续升级。

以下过程执行从 RHEL 6.x 上运行的 Vertica 9.2.x 到 RHEL 8.1 上运行的 Vertica 10.1.1 的直接升级。

  1. 为 Vertica 9.2.x 数据库创建完整备份。此示例使用的是配置文件 fullRestore.ini

    $ vbr --config-file=/tmp/fullRestore.ini -t init
    $ vbr --config-file=/tmp/fullRestore.ini -t backup
    
    [Transmission]
    concurrency_backup = 1
    port_rsync = 50000
    encrypt = False
    serviceAccessPass = rsyncpw
    hardLinkLocal = False
    checksum = False
    total_bwlimit_restore = 0
    serviceAccessUser = rsyncuser
    total_bwlimit_backup = 0
    concurrency_restore = 1
    
    [Misc]
    snapshotName = full_restore
    restorePointLimit = 1
    retryDelay = 1
    objects =
    retryCount = 0
    tempDir = /tmp/vbr
    
    [Mapping]
    v_fips_db_node0001 = 198.51.100.0:/home/release/backup/
    v_fips_db_node0002 = 198.51.100.1:/home/release/backup/
    v_fips_db_node0003 = 198.51.100.2:/home/release/backup/
    
    [Database]
    dbPort = 5433
    dbPromptForPassword = False
    dbUser =
    dbPassword =
    dbName = fips_db
    
  2. 正常关闭数据库。在得到指示之前,不要启动数据库。

  3. 通过以下方法之一获取 RHEL 8.1 群集:

    1. 就地升级
    2. 重新映射计算机映像
    3. 使用完全不同的 RHEL 8.1 群集
  4. 在 RHEL 8.1 计算机上启用 FIPS 并重新引导。

    $ fips-mode-setup --enable
    
  5. 在 RHEL 8.1 群集上安装 Vertica 10.1.1。

    $ install_vertica --hosts node0001, node0002, node0003 \
        --rpm /tmp/vertica-10.1.1-0/x86_64.RHEL8.rpm
    
  6. 如果 RHEL 8.1 群集是通过重新映射映像或使用其他群集获取的,则必须还原数据库

    $ vbr -c /tmp/fullRestore.ini -t restore
    

    如果遇到以下警告,可以放心地忽略。

    Warning: Vertica versions do not match: v9.2.1-xx -> v10.1.1-xxxxxxxx. This operation may not be supported.
    
  7. 启动 Vertica 10.1.1 数据库以触发升级。这应该是在步骤 2 中关闭数据库后第一次启动数据库。

    $ admintools -t start_db -d fips_db