【VMware vCenter】使用cmsso-util命令進行連結、刪除、修改多個vCenter Server(VCSA)的SSO域。

JUNIOR_MU發表於2023-11-25

VMware vCenter Server 支援新安裝的時候選擇將vCenter SSO域加入到另外一個現有的SSO域中,同時也支援使用cmsso-util命令將現有的兩個或多個vCenter SSO域進行連結,或者將已經進行連結的多個vCenter的進行拆開加入到其他的SSO域,還可以將vCenter現在的SSO域重新修改為其他的SSO域。

 

一、環境準備

vCenter(VCSA) 名稱 管理員 SSO域 角色 說明
vcsa.lab.com vcsa Administrator vsphere.local 複製合作伙伴(partner) 現有環境中的vcsa
vcsa-1.lab.com vcsa-1 Administrator vsphere.local 原始域(source) 新安裝環境的vcsa-1
vcsa-2.lab.com vcsa-2 Administrator vsphere.local 原始域(source) 新安裝環境的vcsa-2
vcsa-3.lab.com vcsa-3 Administrator vsphere.mzj 複製合作伙伴(partner) 其他域環境的vcsa-3

 *注:由於Windows vCenter已經不被VMware所支援,所以使用了基於Linux的VCSA,Version 6.7 U3環境。

 

二、測試內容

(1)將vcsa作為複製合作伙伴partner,vcsa-1和vcsa-2作為原始域source,連結到vcsa的sso域vsphere.local當中;

注意事項:

  • 一般在連結域時,指定一個sso域作為中心(比如我環境中的vcsa),其他的sso域進行連結的時候都把這個域指定為複製合作伙伴partner;
  • 可以先將vcsa-1加入到vcsa的sso域,然後再將vcsa-2加入到vcsa的sso域當中,也可以兩者同時使用命令加入vcsa域當中;
  • 不建議將vcsa-1加入到vcsa的sso域後,把vcsa-1作為複製合作伙伴partner,然後將vcsa-2加入到vcsa-1的sso域當中;
  • 連結過程中,所有vcsa節點需要保持聯機狀態。

 

(2)在vcsa複製合作伙伴partner上面,將vcsa-1和vcsa-2從sso域vsphere.local當中刪除掉;

【VMware vCenter】使用cmsso-util命令進行連結、刪除、修改多個vCenter Server(VCSA)的SSO域。

注意事項:

  • 從sso域vsphere.local中刪除的過程是不可逆的,一旦刪除,無法再重新連結到vsphere.local域,若要重新加入域中,必須執行重新安裝或重新部署;
  • 在vcsa複製合作伙伴使用cmsso-util unregister命令刪除vcsa-1和vcsa-2之前,vcsa-1和vcsa-2應該處於關機狀態,否則vcsa-1和vcsa-2無法正常執行。

 

(3)將vcsa-1從sso域vsphere.local刪除以後,修改sso域為vsphere.mzj,並重新連結到為vcsa-3複製合作伙伴partner的sso域vsphere.mzj當中;

 

(4)將vcsa-2從sso域vsphere.local刪除以後,直接重新連結到為vcsa-3複製合作伙伴partner的sso域vsphere.mzj當中。

 

三、測試過程

【測試一】將vcsa作為複製合作伙伴partner,vcsa-1和vcsa-2作為原始域source,連結到vcsa的sso域vsphere.local當中。

注意:請進行以下操作之前,一定要對vCenter做好備份、做好備份、做好備份!!!

1、以root賬戶ssh登入到vcsa-1和vcsa-2的shell控制檯;

 

2、在vcsa-1上執行cmsso-util domain-repoint命令進行預檢查;

cmsso-util domain-repoint -m pre-check --src-emb-admin Administrator --replication-partner-fqdn vcsa.lab.com --replication-partner-admin administrator --dest-domain-name vsphere.local

 

3、等待檢查完畢,若與partner域檢查出現衝突,可以到/storage/domain-data/目錄下檢視衝突內容;

 注:關於衝突型別的說明詳細請檢視《vCenter Server 安裝和設定 》官方文件中“瞭解標記和授權衝突”章節。

 

4、在vcsa-1上執行cmsso-util domain-repoint命令進行連結到vcsa;

cmsso-util domain-repoint -m execute --src-emb-admin Administrator --replication-partner-fqdn vcsa.lab.com --replication-partner-admin administrator --dest-domain-name vsphere.local

 

5、根據實際環境不同,整個連結過程時間不一樣,大概過了十分鐘左右,vcsa-1連結到vcsa完成;

 

6、按上面同樣的操作完成vcsa-2的連結過程,其實也可以跟vcsa-1同時進行連結過程;

cmsso-util domain-repoint -m pre-check --src-emb-admin Administrator --replication-partner-fqdn vcsa.lab.com --replication-partner-admin administrator --dest-domain-name vsphere.local
cmsso-util domain-repoint -m execute --src-emb-admin Administrator --replication-partner-fqdn vcsa.lab.com --replication-partner-admin administrator --dest-domain-name vsphere.local

 

7、登入到vcsa-1的vsphere client管理介面,在vcsa-1上已經可以看到vcsa;

注:我這裡是vcsa-1和vcsa-2同時進行連結的,所以這裡可以同時看到vcsa和vcsa-2兩個vCenter。此時你登陸到vcsa-2上面也同樣能看到vcsa-1和vcsa。

 

8、若登入到vcsa的vsphere client管理介面,如果沒有看到vcsa-1或者vcsa-2,請使用以下命令重新啟動vCenter服務,或者直接重啟vCenter電源。

service-control --stop --all
service-control --start --all

 

注意:因為我這裡為了不浪費時間,所以將vcsa-1和vcsa-2同時進行連結過程了,這樣兩邊的服務都會重新啟動。如果先進行了vcsa-1的連結,則需要重新啟動vcsa的服務或者重啟vcsa的電源;然後再進行vcsa-2的連結,則可能需要同時重新啟動vcsa-1和vcsa的服務或者電源。

 

【測試二】在vcsa複製合作伙伴partner上面,將vcsa-1和vcsa-2從sso域vsphere.local當中刪除掉。

 注意:請進行以下操作之前,一定要對vCenter做好備份、做好備份、做好備份!!!

1、以root賬戶ssh登入到vcsa的shell控制檯;

 

2、若先將vcsa-1從vsphere.local域中刪掉,則先將vcsa-1關機;

 

3、在vcsa上執行cmsso-util unregister命令將vcsa-1從vsphere.local域中刪除;

cmsso-util unregister --node-pnid vcsa-1.lab.com --username administrator@vsphere.local
或者
cmsso-util unregister --node-pnid vcsa-1.lab.com --username administrator@vsphere.local --passwd sso管理員密碼

注:--username和--passwd為vcsa自己域管理員和密碼。

 

 4、根據實際環境不同,大概等待十分左右,看到如下圖所示表示刪除成功;

 

5、登入到vcsa的vsphere client管理介面,可以看到已經沒有vcsa-1了;

 

6、登入到vcsa-2的vsphere client管理介面,也已經看不到vcsa-1了;

 

7、按上面同樣的操作執行以下命令完成vcsa-2的刪除過程,刪除之前需要將vcsa-2進行關機;

cmsso-util unregister --node-pnid vcsa-2.lab.com --username administrator@vsphere.local
或者
cmsso-util unregister --node-pnid vcsa-2.lab.com --username administrator@vsphere.local --passwd sso管理員密碼

 

8、登入到vcsa的vsphere client管理介面,已經看到沒有vcsa-2了。

 

注意:vcsa-1和vcsa-2從sso域vsphere.local刪除後(注意不是分離),無法再重新加入vsphere.local域,不過此時還可以透過vsphere.local域進行登入,也還能看到之前連結的vCenter,因為在vcsa進行unregister時,我們將vcsa-1和vcsa-2給關機了,若不關機,在執行刪除時,會把vcsa-1和vcsa-2給剔除vsphere.local域,這樣vCenter就無法正常執行了,此時我們重新進行domain-repoint,修改或者連結到其他sso域即可刪除之前連結的資訊。

 

【測試三】將vcsa-1從sso域vsphere.local刪除以後,修改sso域為vsphere.mzj,並重新連結到為vcsa-3複製合作伙伴partner的sso域vsphere.mzj當中。

 注意:請進行以下操作之前,一定要對vCenter做好備份、做好備份、做好備份!!!

1、由於之前進行unregister操作,vcsa-1已經進行關機,需要將vcsa-1進行開機,並確保服務執行正常;

 注:vcsa-1開機後,登入到vsphere client管理介面還能看到vcsa和vcsa-2的連結,因為在vcsa執行unregister之前vcsa-1已經關機,並且還保留了vcsa和vcsa-2的連結資訊。

 

2、以root賬戶ssh登入到vcsa-1的shell控制檯;

 

3、在vcsa-1上執行cmsso-util domain-repoint命令將sso域修改vsphere.mzj域;

cmsso-util domain-repoint -m execute --src-emb-admin Administrator --dest-domain-name vsphere.mzj

 

4、等待大概十分鐘左右,repoint完成;

 

5、登入到vcsa-1的vsphere client管理介面,此時需要使用vsphere.mzj域進行登入了;

 

6、登入到vcsa-1的vami後臺管理介面,可以看到sso域已經變成vsphere.mzj了;

 

7、vcsa-1已經修改sso域為vsphere.mzj,現在在vcsa-1上執行cmsso-util domain-repoint命令連結到為vcsa-3複製合作伙伴partner的sso域vsphere.mzj當中;

cmsso-util domain-repoint -m execute --src-emb-admin Administrator --replication-partner-fqdn vcsa-3.lab.com --replication-partner-admin administrator --dest-domain-name vsphere.mzj

 

8、等待大概10-20分鐘左右,repoint完成;

 

9、登入到vcsa-1的vsphere client管理介面,可以看到已經連結vcsa-3了;

 

10、若登入vcsa-3的vsphere client管理介面如果看不到vcsa-1,則需要使用以下命令重新啟動vcsa-3的服務或者重新啟動電源。

service-control --stop --all
service-control --start --all 

 

【測試四】將vcsa-2從sso域vsphere.local刪除以後,直接重新連結到為vcsa-3複製合作伙伴partner的sso域vsphere.mzj當中。

 注意:請進行以下操作之前,一定要對vCenter做好備份、做好備份、做好備份!!!

1、由於之前進行unregister操作,vcsa-2已經進行關機,需要將vcsa-2進行開機,並確保服務執行正常;

 注:vcsa-2開機後,登入到vsphere client管理介面還能看到vcsa連結,因為vcsa對vcsa-2執行unregister之前,vcsa-2已經關機了,還保留了vcsa的連結資訊;看不到vcsa-1的連結是因為之前vcsa對vcsa-1執行unregister之後通知了vcsa-2,並且刪除了vcsa-1的連結資訊。

 

 2、以root賬戶ssh登入到vcsa-2的shell控制檯;

 

3、在vcsa-2上執行cmsso-util domain-repoint命令直接連結到為vcsa-3複製合作伙伴partner的sso域vsphere.mzj當中;

cmsso-util domain-repoint -m execute --src-emb-admin Administrator --replication-partner-fqdn vcsa-3.lab.com --replication-partner-admin administrator --dest-domain-name vsphere.mzj

 

4、等待大概10-20分鐘左右,repoint完成;

 

5、登入vcsa-2的vsphere client管理介面,此時要使用vsphere.mzj域登入了,可以同時看到連結的vcsa-3和vcsa-1;

 

6、登入vcsa-3的vsphere client管理介面,可以同時看到連結的vcsa-1和vcsa-2。

 

注:若登入vcsa-3的vsphere client管理介面看不到vcsa-1或者vcsa-2,或者登入vcsa-1的vsphere client管理介面看不到vcsa-2,則需要重新啟動vcsa-3或者vcsa-1的服務或者電源。其實在連結過程中,vcsa-1和vcsa-2也可以同時進行。

 

四、域重新指向命令的語法

使用以下命令將vCenter Server重新指向另一個vCenter Server節點:

cmsso-util domain-repoint -m execute --src-emb-admin Administrator --replication-partner-fqdn FQDN_of_destination_node --replication-partner-admin destination_node_PSC_Admin_user_name --dest-domain-name destination_PSC_domain

 

 cmsso-util domain-repoint 命令引數:

引數 描述
-m, --mode

mode 可以是 pre-check 或 execute。pre-check 引數在預檢查模式下執行命令。execute 引數在執行模式下執行命令。

-spa, --src-psc-admin 源 vCenter Server 的 SSO 管理員使用者名稱。不要附加@domain。
-dpf, --dest-psc-fqdn 要重新指向的 vCenter Server 的 FQDN。
-dpa, --dest-psc-admin

目標 vCenter Server 的 SSO 管理員使用者名稱。不要附加@domain。

-ddn, --dest-domain-name 目標 vCenter Server 的 SSO 域名。
-dpr, --dest-psc-rhttps

(可選)目標 vCenter Server 的 HTTPS 埠。如果未設定,將使用預設埠 443。

-dvf, --dest-vc-fqdn

指向目標 vCenter Server 的 vCenter Server 的 FQDN。將使用vCenter Server 在預檢查模式下檢查元件資料衝突。如果未提供,則會跳過沖突檢查,併為匯入過程中發現的任何衝突應用預設解決方法 (COPY)。

注:僅當目標域沒有 vCenter Server 時,此引數才是可選的。如果目標域中存在 vCenter Server,則此引數是必需的。

-sea, --src-emb-admin  具有嵌入式 vCenter Server 部署的 vCenter Server 的管理員。請勿將 @domain 附加到管理員 ID。
-rpf, --replication-partner-fqdn (可選)vCenter Server 複製到的複製合作伙伴節點的 FQDN。
-rpr, --replication-partner-rhttps

(可選)複製節點的 HTTPS 埠。如果未設定,預設值為443。

-rpa, --replication-partner-admin (可選)複製合作伙伴 vCenter Server 的 SSO 管理員使用者名稱。
-dvr, --dest-vc-rhttps

(可選)指向目標 vCenter Server 的 vCenter Server 的 HTTPS埠。如果未設定,將使用預設埠 443。

--ignore-snapshot (可選)忽略快照警告。
--no-check-certs (可選)忽略證書驗證。
--debug (可選)檢索命令執行詳細資訊。
-h, --help

(可選)顯示 cmsso-util domain-repoint 命令的幫助訊息。

 *注:表格內容來自《vCenter Server 的安裝和配置》官方文件。

 

以上為本文件全部內容,若有錯誤之處,歡迎批評指正,感謝你的觀看!