Melakukan perluasan dinamis

Halaman ini menguraikan proses perluasan dinamis sistem Anda dengan menggabungkan lebih banyak resource penyimpanan dan komputasi. Petunjuk diberikan untuk jenis perluasan berikut:

  • Perluasan rak server horizontal: Menambahkan rak baru ke zona. Rak ini mencakup node komputasi, konsol, switch Top-of-Rack (ToR), dan switch pengelolaan (MGMT).
  • Perluasan server vertikal: Menambahkan blok perluasan server ke dalam rak yang memiliki slot perluasan kosong.
  • Ekspansi penyimpanan file dan blok vertikal: Menambahkan node penyimpanan ke dalam rak yang memiliki slot ekspansi kosong di cluster penyimpanan yang ada. Node penyimpanan yang terhubung ke switch penyimpanan yang sama adalah bagian dari cluster yang sama.

Untuk mengetahui informasi selengkapnya tentang berbagai jenis ekspansi dinamis, lihat Ringkasan ekspansi dinamis.

Sebelum memulai

Anda harus menyiapkan hal berikut sebelum membuat perubahan pada zona:

  1. Lakukan pemeriksaan hardware dan persetujuan dengan OEM . Ikuti petunjuk di Pemeriksaan Rak.
  2. Ikuti pembuatan KUBECONFIG untuk membuat KUBECONFIG bagi cluster admin node bidang kontrol. Gunakan file konfigurasi KUBECONFIG yang dihasilkan untuk semua langkah kubectl dalam panduan ini.
  3. Pastikan versi Google Distributed Cloud (GDC) dengan air gap saat ini di cluster root minimal versi 1.13.1:

    kubectl --kubeconfig $KUBECONFIG get org root -n gpc-system
    
  4. Download file tar GDC. Untuk mengetahui informasi selengkapnya, lihat Mendownload file.

  5. Siapkan firmware peralatan baru:

    1. Perangkat packet switching di hardware GDC. Untuk mengetahui informasi selengkapnya, lihat Tombol.
    2. Perbarui penyimpanan file dan blok ONTAP dengan mengikuti petunjuk di Upgrade ONTAP manual.
  6. Validasi sistem GDCH dalam kondisi baik menggunakan gdcloud system doctor Jika perintah gdcloud system doctor tidak tersedia, gunakan metode alternatif di Verifikasi Penginstalan Jaringan.

Melakukan perluasan rak server horizontal

Tambahkan rak baru yang terdiri dari node komputasi, konsol, dan switch ToR dan pengelolaan ke zona melalui perluasan rak server horizontal. Langkah-langkah yang dijelaskan di bagian ini adalah untuk satu rak. Jika Anda memiliki beberapa rak, terapkan langkah-langkah ini ke setiap rak.

Melakukan operasi reset

Anda harus mereset peralatan berikut dengan aman:

  1. Lakukan server konsol serial reset aman. Hubungi Google untuk mendapatkan petunjuk ini, karena setiap deployment mungkin memiliki konsol serial yang berbeda.
  2. Lakukan reset aman pada unit distribusi daya (PDU) Raritan:

    1. Hubungkan kabel USB-b ke PDU Raritan dari pengontrol sistem.
    2. Di konsol serial lokal, reset PDU ke setelan default pabrik menggunakan perintah: reset factorydefaults.
    3. PDU kini disetel ke admin/legrand.
  3. Lakukan reset aman, update firmware, dan reset switch ToR dan MGMT ke PowerOn Auto Provisioning (POAP) dengan mengikuti petunjuk di Penghapusan aman.

  4. Hubungkan ke setiap server dan lakukan penghapusan aman secara manual.

Menyiapkan artefak

Ikuti langkah-langkah berikut untuk menerapkan file konfigurasi dan resource kustom yang diperlukan:

  1. Buat file YAML ZonalExpansion, CustomResources hardware, dan resource SubcomponentOverride hardware menggunakan perintah gdcloud system assets add:

    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
    

    Ganti FILE_PATH untuk setiap file yang digunakan. Perhatikan, jalur ini mungkin berbeda jika setiap file berada di lokasi yang berbeda.

    Resource kustom ZonalExpansion melacak semua objek yang ditambahkan dan melaporkan status semua objek.

    Gunakan panduan berikut saat meninjau file YAML ZonalExpansion:

    • Kolom name harus deskriptif, seperti az-ae-expansion.
    • Kolom assets harus menyertakan semua peralatan baru di rak ekspansi baru.

    Berikut adalah contoh resource 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
    
  2. Gunakan alat infrastruktur sebagai kode (IAC) untuk menerapkan resource kustom ZonalExpansion. Untuk mengetahui informasi selengkapnya, lihat Penyiapan infrastruktur sebagai kode. Atau, ikuti runbook IAM-R0004 dan gunakan kubectl untuk melakukannya.

  3. Pastikan resource ZonalExpansion dan NonCompliantDeviceSet telah dibuat:

    1. Periksa status resource ZonalExpansion:

      kubectl --kubeconfig $KUBECONFIG get -A zonalexpansion -o yaml
      

      Pemeriksaan pra-peluncuran akan gagal pada tahap ini dengan alasan: ReasonAssetsNotExisted.

    2. Resource NonCompliantDeviceSet harus ada dengan nama yang diawali dengan noncompliantassets-.

    3. Daftar aset harus sama dengan kolom assets di resource kustom ZonalExpansion.

  4. Ikuti petunjuk di OLT-R0003 untuk memperbarui aset.

  5. Hubungkan switch ToR dan MGMT di rak baru ke switch agregasi di rak yang ada.

  6. Hubungkan tombol secara fisik ke rak dasar.

Bootstrap server lengkap

Fase ini sebagian besar otomatis, tetapi beberapa langkah diperlukan. Anda harus memantau progres bootstrap dan menangani kasus kegagalan:

  1. Pengontrol akan otomatis memulai prosedur bootstrap setelah kondisi PreflightCheck=True terpenuhi.
  2. Verifikasi bahwa kondisi NetworkBootstrapSucceed=True dipublikasikan ke resource kustom ZonalExpansion. Kondisi ini ditemukan di lokasi ZonalExpansion.Status.PNETBootstrapStatus.
  3. Pastikan bahwa tombol dihapus dari daftar NonCompliantDeviceSet:

    kubectl --kubeconfig $KUBECONFIG get noncompliantdeviceset noncompliantassets-EXPANSION_NAME -A -o yaml
    

    Ganti EXPANSION_NAME dengan nama resource kustom ekspansi zona.

    Verifikasi bahwa tombol tidak ada di kolom Spec.Assets dari file YAML yang ditampilkan. Penghapusan ini memungkinkan GDC memperbarui ACL jaringan untuk mengizinkan prosedur bootstrap appliance lainnya. Dua ACL jaringan yang diperbarui adalah quarantine-mgmt-switch-acl dan quarantine-data-switch-acl.

  4. Buat daftar semua alamat IP Baseboard Management Controller (BMC) untuk server dan periksa apakah alamat IP iLO ditetapkan ke mesin bare metal baru dan bootstrap dapat dimulai:

    kubectl --kubeconfig $KUBECONFIG get servers -n gpc-system -o=custom-columns=SERVER:.metadata.name,BMC_IP:.spec.bmc.ip
    

    Contoh output:

     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.147
    

    GDC melakukan bootstrap server secara paralel untuk melakukan penghapusan aman, verifikasi, update setelan BIOS, dan prosedur bootstrap lainnya.

  5. Pastikan kondisi ServerBootstrapSucceeded=True dipublikasikan ke resource kustom ZonalExpansion. Kondisi ini ditemukan di lokasi ZonalExpansion.Status.SERVBootstrapStatus:

    • Status host bare metal server memasuki status Available atau Provisioned setelah bootstrap berhasil.
    • Pada tingkat kejelasan CLI empat, Anda akan melihat log seperti "Not all servers in the ZonalExpansion are bootstrapped" dengan daftar server yang belum siap.
  6. Pastikan server kini dihapus dari daftar NonCompliantDeviceSet:

    kubectl --kubeconfig $KUBECONFIG get noncompliantdevicesets -n gpc-system "noncompliantassets-EXPANSION_NAME" -o yaml
    
  7. Periksa apakah kondisi ExpansionSucceeded=True dipublikasikan ke resource kustom ZonalExpansion. Kondisi ini ditemukan di lokasi ZonalExpansion.Status.Conditions.

  8. Pastikan daftar NonCompliantDeviceSet dihapus:

    kubectl --kubeconfig $KUBECONFIG get noncompliantdeviceset noncompliantassets-EXPANSION_NAME -A
    

    Output yang diharapkan:

    `Error from server (NotFound): noncompliantdevicesets.system.private.gdc.goog "noncompliantassets-EXPANSION_NAME" not found`
    

Melakukan perluasan server vertikal

Tambahkan blok perluasan server ke dalam rak yang memiliki slot perluasan kosong melalui perluasan server vertikal. Sebagian besar petunjuk untuk ekspansi ini mirip dengan ekspansi komputasi horizontal. Ikuti langkah-langkah berikut untuk melakukan perluasan rak server vertikal:

  1. Instal secara fisik blok server standar yang menggunakan enam node kapasitas, atau blok server GPU yang menggunakan tiga node kapasitas. Anda dapat menambahkan beberapa blok per rak. Peringatan: Jangan colokkan kabel ke switch mgmtsw atau aggsw. Untuk mengetahui informasi selengkapnya, lihat Tombol.
  2. Jangan lakukan pemasangan kabel apa pun kecuali untuk catu daya. Langkah ini memungkinkan proses pengaktifan server memverifikasi bahwa server tidak offline saat tiba.
  3. Buat file YAML ZonalExpansion dan resource SubcomponentOverride hardware menggunakan perintah gdcloud system assets add:

    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
    

    Ganti FILE_PATH untuk setiap file yang digunakan. Perhatikan, jalur ini mungkin berbeda jika setiap file berada di lokasi yang berbeda.

    Gunakan panduan berikut saat meninjau file YAML ZonalExpansion:

    • Kolom name harus deskriptif, seperti az-ae-expansion.
    • Kolom assets harus menyertakan semua peralatan baru di rak ekspansi baru.

    Berikut adalah contoh resource 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
    
  4. Terapkan resource kustom ZonalExpansion yang baru saja Anda buat ke cluster.

  5. Pastikan resource ZonalExpansion dan NonCompliantDeviceSet telah dibuat:

    1. Periksa status resource ZonalExpansion. Pemeriksaan pra-peluncuran akan gagal pada tahap ini dengan alasan: ReasonAssetsNotExisted.
    2. Resource NonCompliantDeviceSet harus ada dengan nama yang diawali dengan noncompliantassets-.
    3. Daftar aset harus sama dengan kolom assets di resource kustom ZonalExpansion.
  6. Ikuti petunjuk di OLT-R0003 untuk memperbarui aset.

  7. Verifikasi bahwa ACL pengalihan karantina sedang berjalan dengan mengikuti runbook OLT-R0001.

  8. Hubungkan kabel untuk server jika belum selesai. Ikuti file pengkabelan yang disediakan oleh Hewlett Packard Enterprise (HPE).

  9. Pastikan proses bootstrap server dimulai dan berhasil diselesaikan. Untuk mengetahui informasi selengkapnya, lihat Menyelesaikan bootstrap server.

Melakukan perluasan penyimpanan file vertikal dan blok

Petunjuk ini mencakup langkah-langkah yang diperlukan untuk melakukan perluasan node penyimpanan vertikal atau rak tunggal. Ekspansi node penyimpanan dilakukan saat node penyimpanan ONTAP baru ditambahkan untuk memperluas kemampuan penyimpanan rak yang ada. Petunjuk pemasangan kabel untuk perangkat penyimpanan baru tidak disediakan di sini, hanya prosedur untuk menghapus, mengupgrade, dan menambahkan node penyimpanan baru ke cluster yang ada.

Melakukan penyiapan untuk perluasan node penyimpanan

Ikuti langkah-langkah berikut untuk menyiapkan cluster untuk perluasan node penyimpanan:

  1. Ikuti pembuatan KUBECONFIG untuk membuat KUBECONFIG bagi cluster admin node bidang kontrol. Gunakan file konfigurasi KUBECONFIG yang dihasilkan untuk semua langkah kubectl dalam panduan ini:

  2. Terapkan resource SubcomponentOverride untuk menonaktifkan rekonsiliasi penyimpanan saat melakukan penyiapan awal untuk perluasan node:

    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
    
  3. Pastikan penggantian berfungsi dan rekonsiliasi file-storage telah dinonaktifkan:

    kubectl --kubeconfig $KUBECONFIG describe deployment file-storage -n
    file-system | grep reconcilers
    

    Anda akan melihat berikut ini:

    --enable-reconcilers=
    --disable-reconcilers=*
    

    Jika Anda tidak melihat status ini, tunggu beberapa menit agar penerapan resource SubcomponentOverride selesai, lalu lakukan pemeriksaan ini lagi. Jika SubcomponentOverride masih belum diterapkan setelah beberapa menit, hubungi dukungan teknis GDC.

  4. Buat file YAML ZonalExpansion dan resource SubcomponentOverride hardware menggunakan perintah gdcloud system assets add:

    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
    ```
    
  5. Terapkan resource kustom ZonalExpansion yang baru saja Anda buat ke cluster.

  6. Pastikan resource ZonalExpansion dan NonCompliantDeviceSet telah dibuat:

    1. Periksa status resource ZonalExpansion. Pemeriksaan pra-peluncuran akan gagal pada tahap ini dengan alasan: ReasonAssetsNotExisted.
    2. Resource NonCompliantDeviceSet harus ada dengan nama yang diawali dengan noncompliantassets-.
    3. Daftar aset harus sama dengan kolom aset di resource kustom ZonalExpansion.
  7. Terapkan resource aset hardware SubcomponentOverride berikut ke cluster admin root menggunakan alat IaC.

    • file/file-storage.yaml
    • inv/inv-core.yaml
  8. Pastikan node baru ditambahkan ke cluster:

    kubectl --kubeconfig $KUBECONFIG get storagenodes -n gpc-system
    

    Anda akan melihat resource kustom node baru ditambahkan dengan nilai usia yang lebih baru:

      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
    
  9. Gunakan perintah describe untuk mendapatkan informasi tentang kedua node, karena node tersebut berisi informasi yang diperlukan untuk langkah-langkah selanjutnya.

    kubectl --kubeconfig $KUBECONFIG describe storagenode NODE_NAME -n gpc-system
    

    Ganti NODE_NAME dengan nama setiap node yang dibuat.

    Contoh output:

    NAME              MGMTIP           INTERCONNECTIP   MODEL      AGE
    aj-ad-stge03-02   172.22.243.134   169.254.0.11     AFF-A400   20d
    

Menyelesaikan proses perluasan node penyimpanan

Ikuti langkah-langkah berikut untuk menyelesaikan proses perluasan node penyimpanan:

  1. Lakukan upgrade manual pada node penyimpanan baru. Untuk setiap node, ikuti langkah-langkah dalam Upgrade ONTAP manual yang menyajikan file dari pengontrol sistem.
  2. Lakukan penghapusan aman pada node penyimpanan baru. Untuk node ONTAP baru, ikuti langkah-langkah di Reset ONTAP untuk mereset node.

  3. Lakukan inisialisasi node penyimpanan baru. Gunakan informasi di resource kustom StorageNode yang baru ditambahkan dan dijelaskan di langkah sebelumnya. Untuk setiap node, lakukan langkah-langkah di Menginisialisasi appliance ONTAP.

  4. Buat koneksi kabel dari node baru ke cluster saat ini dengan mengikuti Setup ONTAP.

  5. Ikuti petunjuk di Melakukan penambahan cluster node baru ke cluster yang ada untuk menambahkan node baru ke cluster.

Memecahkan masalah perluasan dinamis

Gunakan runbook berikut dalam manual servis untuk memecahkan masalah ekspansi dinamis:

  • OLT-R0001
  • OLT-R0002
  • OLT-R0003