vRealize Automation 高可用性環境中,horizon-workspace 服務重新啟動後,身分識別目錄管理 Identity Manager 可能會無法啟動。

問題

Horizon-workspace 服務無法啟動的原因是發生類似下列內容的錯誤:

Error creating bean with name
  'liquibase' defined in class path resource [spring/datastore-wireup.xml]:
  Invocation of init method failed; nested exception is
  liquibase.exception.LockException: Could not acquire change log lock. Currently
  locked by fe80:0:0:0:250:56ff:fea8:7d0c%eth0
  (fe80:0:0:0:250:56ff:fea8:7d0c%eth0) since 10/29/15 

由於 vRealize Automation 使用的 liquibase 資料管理公用程式發生問題,Identity Manager 可能無法在高可用性環境中啟動。

程序

  1. 使用 ssh 以根使用者身分登入 vRealize Automation 應用裝置。
  2. 執行下列命令以停止 horizon-workspace 服務。

    #service horizon-workspace stop

  3. 執行 su postgres 命令以成為 postgres 使用者。
  4. 變更為正確的 bin 目錄。

    cd /opt/vmware/vpostgres/current/bin

  5. 執行 psql vcac 命令以連線至資料庫。
  6. 從 saas.databasechangeloglock 執行 SQL 查詢 select *

    如果輸出顯示「t」值 (代表 true),則必須手動釋放鎖定。

  7. 執行下列 SQL 查詢以釋放鎖定:

    update saas.databasechangeloglock" set locked=FALSE, lockgranted=NULL, lockedby=NULL where id=1;

  8. 從 saas.databasechangeloglock 執行 SQL 查詢 select *

    輸出應該會顯示「f」值 (代表 false),表示未鎖定。

  9. 執行下列命令以結束 postgres vcac 資料庫:

    vcac=# \q

  10. 執行下列 exit 命令以結束 postgres 使用者 shell 並恢復為根使用者身分。
  11. 以根使用者身分使用 #service horizon-workspace start 命令啟動 horizon-workspace 服務。