本頁面將說明如何納入更多儲存空間和運算資源,動態擴充系統。以下是各類擴展功能的說明:
- 水平擴充伺服器機架:在區域中新增機架。這個機架包含運算節點、控制台、機架頂端 (ToR) 交換器和管理 (MGMT) 交換器。
- 垂直伺服器擴充:在有空擴充插槽的機架中新增伺服器擴充區塊。
- 垂直檔案和區塊儲存空間擴充:在現有儲存空間叢集中,將儲存空間節點新增至有空擴充插槽的機架。附加至相同儲存空間交換器的儲存空間節點屬於同一個叢集。
如要進一步瞭解不同類型的動態擴展功能,請參閱「動態擴展功能總覽」。
事前準備
變更區域前,請務必先完成下列事項:
- 檢查硬體並與原始設備製造商 (OEM) 簽署。請按照「機架檢查」中的指示操作。
- 按照 KUBECONFIG 生成步驟,為控制層節點的管理員叢集生成
KUBECONFIG。在本指南中,所有kubectl步驟都會使用產生的KUBECONFIG設定檔。 確認根叢集上的 Google Distributed Cloud (GDC) 實體隔離版本至少為 1.13.1 版:
kubectl --kubeconfig $KUBECONFIG get org root -n gpc-system下載 GDC tar 檔案。詳情請參閱「下載檔案」。
準備新裝置的韌體:
- GDC 硬體中的封包交換裝置。詳情請參閱「切換鈕」。
- 按照「手動升級 ONTAP」一文中的操作說明,更新 ONTAP 檔案和區塊儲存空間。
使用
gdcloud system doctor驗證 GDCH 系統是否正常運作。如果gdcloud system doctor指令無法使用,請改用「網路安裝驗證」一節中的替代方法。
執行水平伺服器機架擴充作業
透過水平伺服器機架擴充功能,將由運算節點、控制台、ToR 和管理交換器組成的新機架新增至區域。本節所述步驟適用於單一機架。如有數個機架,請分別為每個機架執行這些步驟。
執行重設作業
您必須安全地重設下列設備:
- 安全重設序列主控台伺服器。請向 Google 索取這些操作說明,因為每個部署作業的序列埠可能不同。
安全重設 Raritan 配電裝置 (PDU):
- 將 USB-b 傳輸線從系統控制器連接至 Raritan PDU。
- 在本地序列控制台中,使用
reset factorydefaults指令將 PDU 重設為出廠預設設定。 - PDU 現在設為
admin/legrand。
按照「安全清除」一文中的說明,執行安全重設、更新韌體,並將 ToR 和 MGMT 交換器重設為 PowerOn Auto Provisioning (POAP)。
連線至各個伺服器,然後手動執行安全清除作業。
準備構件
請按照下列步驟套用必要的設定檔和自訂資源:
使用
gdcloud system assets add指令產生ZonalExpansionYAML 檔案、硬體CustomResources和硬體SubcomponentOverride資源:gdcloud system assets add \ --kubeconfig $KUBECONFIG \ --license-dir FILE_PATH/licenses/ \ --secrets FILE_PATH/secrets.yaml \ --devices FILE_PATH/devices.csv \ --cables FILE_PATH/cables.csv \ --include-cellcfg \ --name az-ae-expansion \ --output ./outputs/af針對使用的每個檔案,取代
FILE_PATH。請注意,如果每個檔案位於不同位置,這個路徑可能會有所不同。ZonalExpansion自訂資源會追蹤所有新增的物件,並回報所有物件的狀態。查看
ZonalExpansionYAML 檔案時,請參考下列指引:name欄位必須是描述性欄位,例如az-ae-expansion。assets欄位必須包含新擴充機架中的所有新設備。
以下是
ZonalExpansion資源的範例:apiVersion: system.private.gdc.goog/v1alpha1 kind: ZonalExpansion metadata: name: file namespace: gpc-system spec: assets: - kind: ManagementSwitch name: az-ae-mgmtsw01 - kind: ManagementSwitch name: az-ae-mgmtsw02 - kind: TORSwitch name: az-ae-torsw01 - kind: TORSwitch name: az-ae-torsw02 - kind: TORSwitch name: az-ae-bm01使用基礎架構即程式碼 (IAC) 工具套用
ZonalExpansion自訂資源。詳情請參閱「基礎架構即程式碼設定」。或者,您也可以按照 IAM-R0004 執行手冊,使用kubectl執行這項操作。確認
ZonalExpansion和NonCompliantDeviceSet資源已建立:檢查
ZonalExpansion資源的狀態:kubectl --kubeconfig $KUBECONFIG get -A zonalexpansion -o yaml預檢應在此階段失敗,原因為:
ReasonAssetsNotExisted。NonCompliantDeviceSet資源必須存在,且名稱前置字元為noncompliantassets-。資產清單必須與
ZonalExpansion自訂資源中的assets欄位相同。
請按照 OLT-R0003 中的指示更新資產。
將新機架中的 ToR 和 MGMT 交換器,連線至現有機架中的匯聚交換器。
將交換器實體連接至底架。
完成伺服器啟動程序
這個階段大多是自動進行,但仍需執行部分步驟。您必須監控啟動程序進度,並處理任何失敗情況:
- 條件
PreflightCheck=True滿足後,控制器就會自動啟動啟動程序。 - 確認條件
NetworkBootstrapSucceed=True已發布至ZonalExpansion自訂資源。這個條件位於ZonalExpansion.Status.PNETBootstrapStatus。 確認交換器已從
NonCompliantDeviceSet清單中移除:kubectl --kubeconfig $KUBECONFIG get noncompliantdeviceset noncompliantassets-EXPANSION_NAME -A -o yaml將
EXPANSION_NAME替換成區域擴展自訂資源的名稱。確認傳回的 YAML 檔案
Spec.Assets欄位中沒有切換開關。 移除後,GDC 就能更新網路 ACL,允許其他裝置啟動程序。更新後的兩個網路 ACL 分別是quarantine-mgmt-switch-acl和quarantine-data-switch-acl。列出伺服器的所有基板管理控制器 (BMC) IP 位址,並確認 iLO IP 位址已指派給新的裸機,且可啟動啟動程序:
kubectl --kubeconfig $KUBECONFIG get servers -n gpc-system -o=custom-columns=SERVER:.metadata.name,BMC_IP:.spec.bmc.ip輸出內容範例:
SERVER BMC_IP yz-aa-bm01 10.128.136.2 yz-aa-bm02 10.128.136.3 yz-aa-bm03 10.128.136.4 yz-ab-bm01 10.128.136.66 yz-ab-bm02 10.128.136.67 yz-ab-bm03 10.128.136.68 yz-ac-bm01 10.128.136.130 yz-ac-bm02 10.128.136.131 yz-ac-bm03 10.128.136.132 yz-ac-bm04 10.128.136.133 yz-ac-bm05 10.128.136.134 yz-ac-bm06 10.128.136.135 yz-ac-bm07 10.128.136.136 yz-ac-bm08 10.128.136.137 yz-ac-bm09 10.128.136.138 yz-ac-bm10 10.128.136.139 yz-ac-bm11 10.128.136.140 yz-ac-bm12 10.128.136.141 yz-ac-bm13 10.128.136.142 yz-ac-bm14 10.128.136.143 yz-ac-bm15 10.128.136.144 yz-ac-bm16 10.128.136.145 yz-ac-bm17 10.128.136.146 yz-ac-bm18 10.128.136.147GDC 會平行啟動伺服器,執行安全清除、驗證、BIOS 設定更新和其他啟動程序。
確認
ServerBootstrapSucceeded=True條件已發布至ZonalExpansion自訂資源。這個狀況發生在以下位置:ZonalExpansion.Status.SERVBootstrapStatus- 啟動成功後,伺服器裸機主機狀態會進入
Available或Provisioned狀態。 - 在 CLI 詳細程度為 4 的情況下,您會看到類似
"Not all servers in the ZonalExpansion are bootstrapped"的記錄,其中列出尚未準備就緒的伺服器。
- 啟動成功後,伺服器裸機主機狀態會進入
確認伺服器現在已從
NonCompliantDeviceSet清單中移除:kubectl --kubeconfig $KUBECONFIG get noncompliantdevicesets -n gpc-system "noncompliantassets-EXPANSION_NAME" -o yaml確認條件
ExpansionSucceeded=True已發布至ZonalExpansion自訂資源。這個條件位於ZonalExpansion.Status.Conditions。確認
NonCompliantDeviceSet清單已刪除:kubectl --kubeconfig $KUBECONFIG get noncompliantdeviceset noncompliantassets-EXPANSION_NAME -A預期輸出內容:
`Error from server (NotFound): noncompliantdevicesets.system.private.gdc.goog "noncompliantassets-EXPANSION_NAME" not found`
執行垂直伺服器擴充作業
將伺服器擴充區塊新增至有空擴充插槽的機架,方法是垂直擴充伺服器。這項擴充作業的許多操作說明,都與水平運算擴充作業類似。請按照下列步驟執行直向伺服器機架擴充作業:
- 實際安裝標準伺服器區塊 (佔用六個節點的容量),或 GPU 伺服器區塊 (佔用三個節點的容量)。每個機架可新增多個區塊。警告:請勿將電線插入
mgmtsw或aggsw交換器,詳情請參閱「切換鈕」。 - 除了電源線之外,請勿連接任何纜線。這個步驟可讓伺服器啟動程序驗證伺服器在抵達時並未離線。
使用
gdcloud system assets add指令產生ZonalExpansionYAML 檔案和硬體SubcomponentOverride資源:gdcloud system assets add \ --kubeconfig $KUBECONFIG \ --license-dir FILE_PATH/licenses/ \ --secrets FILE_PATH/secrets.yaml \ --devices FILE_PATH/devices.csv \ --cables FILE_PATH/cables.csv \ --include-cellcfg \ --name az-ae-expansion \ --output ./outputs/af針對使用的每個檔案,取代
FILE_PATH。請注意,如果每個檔案位於不同位置,這個路徑可能會有所不同。查看
ZonalExpansionYAML 檔案時,請參考下列指引:name欄位必須是描述性欄位,例如az-ae-expansion。assets欄位必須包含新擴充機架中的所有新設備。
以下是
ZonalExpansion資源的範例:apiVersion: system.private.gdc.goog/v1alpha1 kind: ZonalExpansion metadata: name: file namespace: gpc-system spec: assets: - kind: ManagementSwitch name: az-ae-mgmtsw01 - kind: ManagementSwitch name: az-ae-mgmtsw02 - kind: TORSwitch name: az-ae-torsw01 - kind: TORSwitch name: az-ae-torsw02 - kind: TORSwitch name: az-ae-bm01將剛建立的
ZonalExpansion自訂資源套用至叢集。確認
ZonalExpansion和NonCompliantDeviceSet資源已建立:- 檢查
ZonalExpansion資源的狀態。預檢應在此階段失敗,原因為:ReasonAssetsNotExisted。 NonCompliantDeviceSet資源必須存在,且名稱前置字元為noncompliantassets-。- 資產清單必須與
ZonalExpansion自訂資源中的assets欄位相同。
- 檢查
請按照 OLT-R0003 中的指示更新資產。
請按照 OLT-R0001 執行手冊操作,確認隔離交換器 ACL 正在執行。
如果尚未完成,請連接伺服器的纜線。請按照 Hewlett Packard Enterprise (HPE) 提供的纜線檔案操作。
確認伺服器啟動程序已順利啟動並完成。詳情請參閱「完成伺服器啟動程序」。
執行垂直檔案和區塊儲存空間擴充作業
這些說明包含執行垂直或單一機架儲存節點擴充作業所需的步驟。新增 ONTAP 儲存空間節點,擴充現有機架的儲存空間容量時,就會執行儲存空間節點擴充作業。本文不會提供新儲存裝置的佈線說明,只會說明如何清除、升級及將新儲存節點新增至現有叢集。
執行儲存節點擴充設定
請按照下列步驟準備叢集,以便擴充儲存空間節點:
按照 KUBECONFIG 生成步驟,為控制層節點的管理員叢集生成
KUBECONFIG。在本指南的所有kubectl步驟中,請使用產生的KUBECONFIG設定檔:套用
SubcomponentOverride資源,在執行節點擴充的初始設定時停用儲存空間協調器:kubectl --kubeconfig $KUBECONFIG apply -f - <<EOF apiVersion: lcm.private.gdc.goog/v1 kind: SubcomponentOverride metadata: name: file-storage-sub-override namespace: root spec: subComponentRef: "file-storage" backend: operableParameters: controller: enableReconcilers: "" disableReconcilers: "*" EOF確認覆寫作業已生效,且
file-storage調解程式已停用:kubectl --kubeconfig $KUBECONFIG describe deployment file-storage -n file-system | grep reconcilers您必須看到以下內容:
--enable-reconcilers= --disable-reconcilers=*如果沒有看到這個狀態,請稍候幾分鐘,讓
SubcomponentOverride資源套用,然後再次執行這項檢查。如果SubcomponentOverride在幾分鐘後仍未套用,請與 GDC 工程支援團隊聯絡。使用
gdcloud system assets add指令產生ZonalExpansionYAML 檔案和硬體SubcomponentOverride資源:gdcloud system assets add \ --kubeconfig $KUBECONFIG \ --license-dir FILE_PATH/licenses/ \ --secrets FILE_PATH/secrets.yaml \ --devices FILE_PATH/devices.csv \ --cables FILE_PATH/cables.csv \ --include-cellcfg \ --name az-ae-expansion \ --output ./outputs/af ``` Replace FILE_PATH for each of the files used. Note, this path might be different if each file is in a different location. Use the following guidance when reviewing the `ZonalExpansion` YAML file: The `name` field must be descriptive, such as aj-ad-expansion. The `assets` field must include all new appliances in the new expansion rack. Here is an example of a `ZonalExpansion` resource: ```sh apiVersion: system.private.gdc.goog/v1alpha1 kind: ZonalExpansion metadata: name: file namespace: gpc-system spec: assets: - kind: StorageNode name: aj-ad-stge03-01 - kind: StorageNode name: aj-ad-stge03-02 ```將剛建立的
ZonalExpansion自訂資源套用至叢集。確認
ZonalExpansion和NonCompliantDeviceSet資源已建立:- 檢查 ZonalExpansion 資源的狀態。預檢應在此階段失敗,原因為:
ReasonAssetsNotExisted。 NonCompliantDeviceSet資源必須存在,且名稱前置字元為noncompliantassets-。- 資產清單必須與
ZonalExpansion自訂資源中的資產欄位相同。
- 檢查 ZonalExpansion 資源的狀態。預檢應在此階段失敗,原因為:
使用 IaC 工具,將下列硬體資產
SubcomponentOverride資源套用至根管理員叢集。- file/file-storage.yaml
- inv/inv-core.yaml
確認新節點已新增至叢集:
kubectl --kubeconfig $KUBECONFIG get storagenodes -n gpc-system您應該會看到新增的節點自訂資源,且年齡值較新:
NAME MGMTIP INTERCONNECTIP MODEL AGE aj-ad-stge01-01 172.22.243.129 169.254.0.1 AFF-A250 37d aj-ad-stge01-02 172.22.243.130 169.254.0.3 AFF-A250 37d aj-ad-stge03-01 172.22.243.133 169.254.0.9 AFF-A400 20d aj-ad-stge03-02 172.22.243.134 169.254.0.11 AFF-A400 20d使用
describe指令取得這兩個節點的相關資訊,因為後續步驟會用到這些資訊。kubectl --kubeconfig $KUBECONFIG describe storagenode NODE_NAME -n gpc-system將
NODE_NAME替換為每個已建立節點的名稱。輸出內容範例:
NAME MGMTIP INTERCONNECTIP MODEL AGE aj-ad-stge03-02 172.22.243.134 169.254.0.11 AFF-A400 20d
完成儲存空間節點擴充程序
請按照下列步驟完成儲存空間節點擴充程序:
- 手動升級新的儲存空間節點。針對每個節點,請按照手動升級 ONTAP 一文的步驟,從系統控制器提供檔案。
對新儲存空間節點執行安全清除作業。如要重設新的 ONTAP 節點,請按照「ONTAP Reset」一文中的步驟操作。
初始化新的儲存空間節點。使用上一個步驟中新增的
StorageNode自訂資源資訊。針對每個節點,執行「初始化 ONTAP 裝置」一文中的步驟。按照「設定 ONTAP」的說明,將新節點的纜線連接至目前的叢集。
請按照「將新節點新增至現有叢集」一文中的操作說明,將新節點新增至叢集。
排解動態展開功能問題
請使用服務手冊中的下列執行手冊,排解動態擴展問題:
- OLT-R0001
- OLT-R0002
- OLT-R0003