手動更新

如果自動升級失敗,請按照下列手動升級步驟操作。

1. PANW 手動升級

在這個步驟中,可操作的元件會升級如下。

範圍 可操作的元件
基礎架構 PANW

升級期間,外部連線的流量中斷時間極短,大約只有一分鐘。這類升級作業必須手動進行。PANW 以高可用性 (HA) 模式運作。

1.1. 定義

Palo Alto 防火牆軟體版本會以 X.Y.Z 格式顯示。

軟體版本 格式
FEATURE 版本 X.Y
BASE MAINTENANCE 版本 X.Y.0
特定功能版本的最新維護版本 X.Y.Z:Z 是未來版本 X.Y 的最後一個維護版本。

1.2. 升級程序

1.2.1. 升級途徑

請先判斷您的需求符合哪種情況 (案例 1、案例 2 或案例 3),再繼續操作:

  • 案例 1:X.Y 是目標版本。
  • 案例 2:X.Y「不是」目標版本。
  • 案例 3:防火牆版本為 X.Y,其中 X.Y 是 X 的最新功能版本。

以下是案例 1案例 2案例 3 的說明,可瞭解各個升級路徑的對應情況。

案件 說明和動作
案例 1
X.Y 是您要升級的版本 (不是目標版本)。
下載並安裝 X.Y 的目標維護版本:X.Y(Z2)
案例 2
X.Y 不是您要升級的版本 (不是目標版本)。
下載並安裝 X.Y 的最新維護版本:X.Y.Z1
下載 BASE MAINTENANCE 版本:X.(Y+1).0

如果 X.(Y+1) 是目標 FEATURE 版本,
如果 X.(Y+1) 不是目標功能版本,
  • 重複「案例 2」,直到出現「案例 1」為止。
  • 如果 X.(Y+1) 是 X 的最後一個功能版本,請前往案例 3
案例 3
防火牆版本為 X.Y,其中 X.Y 是 X 的最後一個功能版本。
下載 BASE MAINTENANCE 版本:(X+1).0.0
返回案例 1

如需升級路徑的相關資訊 (除了本文提供的資訊外),請參閱 https://www.paloaltonetworks.com/

1.2.2. 升級設定

Distributed Cloud 使用兩個防火牆。開始升級前,請確認兩個防火牆的版本相同。如果不是,請先升級至相同版本,再開始升級至下一個目標版本。每次要升級時,請執行這項操作。

  1. 確認兩個防火牆都正常運作
    1. 在資訊主頁中,確認高可用性 (HA) 為綠色。
    2. 確認網路上沒有任何下行連結。
  2. 備份兩部防火牆的設定。

  3. 依序前往「裝置」>「高可用性」

  4. 在「裝置」頁面開頭附近找到「作業指令」分頁標籤,然後按一下。

    1. 在導覽窗格中找到「高可用性」,然後點選。
    2. 當系統顯示「暫停本機裝置以確保高可用性」選項時,請點選該選項。

    暫停 HA 的本機裝置

    圖 1. 暫停高可用性

  5. 確認傳回的本機防火牆狀態顯示為 suspended

    驗證

    圖 2:確認防火牆已暫停

  6. 升級防火牆。

  7. suspended 狀態復原:按一下「讓本機裝置可供高可用性使用」

    提供高可用性

    圖 3:提供高可用性

    返回第一個步驟,然後按照升級路徑,對第二個防火牆重複執行程序。

1.3. 升級程序詳細資料範例

  1. 查看目前的 PAN-OS 版本。

    show system info | match sw-version
    

    如果 PAN-OS 不是目標軟體版本,請升級裝置。

  2. 請按照提供的路徑專屬升級程序操作。

  3. 如要驗證路徑,請先在本地電腦上前往 paloaltonetworks.com 網站,查看升級路徑: https://docs.paloaltonetworks.com/pan-os/10-1/pan-os-upgrade/upgrade-pan-os/upgrade-the-firewall-pan-os/determine-the-upgrade-path.html 再繼續操作。

  4. 確認裝置已註冊並取得授權。

  5. 找出要擷取的最新韌體:

    gdcloud artifacts tree ${ARTIFACTS_ROOT}/oci | grep "gdch-firewall"
    

    檔案名稱包含建構版本。 輸出內容範例:

    │   │   └── gdch-firewall/os:1.10.0-gdch.1426
    

    在上述範例中,建構版本顯示為 1.10.0-gdch.1426

  6. 複製檔案名稱並解壓縮韌體。例如:

    1. 複製 gdch-firewall/os:1.10.0-gdch.1426 做為檔案名稱。使用這個值取代下列指令中的 FIRMWARE_FILENAME

      export FW_FIRMWARE_TAR_FILENAME=FIRMWARE_FILENAME
      
    2. 從 OCI 映像檔擷取韌體:

      gdcloud artifacts extract ${ARTIFACTS_ROOT}/oci firmware \
          --image-name=${FW_FIRMWARE_TAR_FILENAME:?}
      

      請將 FW_FIRMWARE_TAR_FILENAME 替換為防火牆韌體 tar 檔案的名稱。

    3. 解壓縮韌體:

      tar -xvf firmware/gdch-firewall/os.tar.gz
      
  7. 收集升級 OS 檔案,並上傳至防火牆裝置,開始升級。

主控台

  1. 與防火牆和本機電腦建立 IP 連線,然後前往使用者介面 (UI)。
  2. 如要將軟體上傳至防火牆,請依序選取「Device」 >「Software」,然後按一下頁面底部的「Upload」

    上傳動態更新

    圖 4:上傳軟體更新

  3. 上傳軟體後,軟體會顯示在表格中,並提供安裝動作

  4. 從「應用程式」類別 (下拉式選單) 下載最新的動態更新,網址為 https://support.paloaltonetworks.com/Updates/DynamicUpdates

  5. 按一下「上傳」,將「動態更新」上傳至防火牆。這個步驟可能只需要執行一次。

  6. 安裝從檔案上傳的內容 - 按一下「從檔案安裝」

    從檔案安裝

    圖 5. 選取「從檔案安裝」

  7. 圖 6 中,找到標題為「ACTION」的欄。 在該欄中選取「安裝」即可安裝軟體。防火牆會重新啟動。

    已升級

    圖 6「動作」欄顯示安裝功能

  8. 前往「資訊主頁」頁面,查看「一般資訊」窗格。 找出「軟體版本」,並確認相關聯的值已變更,與原始版本值不同。這會驗證版本變更。

    在資訊主頁上驗證

    圖 7. 軟體版本顯示變更

  9. 視升級路徑需要,重複上述步驟。

kubectl

如果無法存取網際網路,請使用下列指令列操作說明升級 PAN-OS:

  1. 使用 SCP 傳輸韌體:

    scp import software from ubuntu@<host>:/home/ubuntu/gdcloud_v8/images/PanOS_5200-XX.XX.XX
    

  2. 要求安裝所需版本的系統軟體:

    request system software install version XX.XX.XX
    

    這會產生工作 ID,供下一個步驟使用。以下是輸出訊息範例:

    Software install job enqueued with jobid 2. Run 'show jobs id 2' to monitor its
    status. Please reboot the device after the installation is done.
    
  3. 監控工作狀態:

    show jobs id 2
    
  4. 安裝完成後,請重新啟動 PAN-OS:

    request restart system
    

    如果無法更新 PAN-OS,但您並未發生任何錯誤,請授權 PAN-OS 並透過動態更新進行更新。確認授權金鑰位於 cell.yaml 檔案或目錄中。請參閱「檢查設定」一節。

  5. 如要安裝動態更新,請在 PAN 入口或雲端硬碟位置找到最新版本的動態更新。

  6. 使用 SCP 傳輸防火牆內容:

    # scp import content from
    ubuntu@<host_ip>::/home/ubuntu/gdcloud_v8/images/panupv2-all-contents-8580-7429
    
  7. 安裝內容:

    request content upgrade install  skip-content-validity-check yes file panupv2-all-contents-8580-7429
    
  8. 將 PAN-OS 上傳至主機:

    1. 將筆電連上與主機位於同一機架的管理交換器。
    2. 從管理網路 vlan97 為筆電指派 IP 位址。
    3. 使用 SCP 將 PAN-OS 從筆電複製到主機:

      scp ~/Downloads/Pan* ubuntu@10.251.243.79:~
      Warning: Permanently added '10.251.243.79' (ED25519) to the list of known hosts.
      ubuntu@10.251.243.79's password:
      

2 觸發 HSM 自動升級

在這個步驟中,可操作的元件會升級如下。

範圍 可操作的元件
基礎架構 HSM

如要升級 HSM,請建立 HSMUpgradeRequest,並定期檢查升級要求狀態。

系統會自動產生一或多個 CTMClusterUpgradeRequests,將每個 HSMCluster 升級至升級路徑中的下一個韌體版本,最終達到目標韌體版本。HSM 升級作業不會造成中斷,大約需要兩小時。

這項升級作業的停機時間長度視整合項目而定。如果 HSM 設定了多個位址,就能進行不中斷的滾動更新。

  1. KUBECONFIG 設為根管理員叢集的 kubeconfig 檔案。

    export KUBECONFIG=ROOT_ADMIN_KUBECONFIG
    
  2. 建立 HSMUpgradeRequest 自訂資源。建立 hsmupgrade.yaml,並加入 CurrentGDCHVersionTargetGDCHVersion

    自訂資源範例:

    apiVersion: "upgrade.private.gdc.goog/v1alpha1"
    kind: HSMUpgradeRequest
    metadata:
       name:  HSM_UPGRADE_REQUEST_NAME
       namespace: gpc-system
    spec:
       currentGDCHVersion: "1.10.X-gdch-xxx"
       targetGDCHVersion: "1.11.y-gdch.yyyy"
    
  3. 套用新的自訂資源:

    kubectl --kubeconfig=${KUBECONFIG:?} apply -f hsmupgrade.yaml
    
  4. 查看建立的 StatusHSMUpgradeRequestCTMClusterUpgradeRequest 資源,監控 HSM 升級作業。

    kubectl --kubeconfig=${KUBECONFIG:?} describe HSMUpgradeRequest HSM_UPGRADE_REQUEST_NAME -n gpc-system
    

    已完成 HSMUpgradeRequestStatus 輸出範例:

    Status:
    Conditions:
     Last Transition Time:  2023-08-03T18:20:50Z
     Message:
     Observed Generation:   1
     Reason:                PullFirmwareImages
     Status:                True
     Type:                  FirmwareImagesPulled
     Last Transition Time:  2023-08-03T18:20:50Z
     Message:               CTM upgrade request to version:2_12_0 is in progress
     Observed Generation:   1
     Reason:                CTMClusterUpgradeInProgress
     Status:                True
     Type:                  InProgress
     Last Transition Time:  2023-08-03T18:41:54Z
     Message:               CTM upgrade request to target version:2_12_0 completed
     Observed Generation:   1
     Reason:                AllCTMClusterUpgradeRequestsCompleted
     Status:                True
     Type:                  AllComplete
    
    kubectl --kubeconfig=${KUBECONFIG:?} get ctmclusterupgraderequests -n gpc-system
    
    kubectl --kubeconfig=${KUBECONFIG:?} describe ctmclusterupgraderequests CTM_CLUSTER_UPGRADE_REQUEST_NAME -n gpc-system
    

    已完成 CTMClusterUpgradeRequestStatus 輸出範例:

    Status:
    Conditions:
     Last Transition Time:  2023-09-11T18:08:25Z
     Message:               CTM pre upgrade checks succeed. The system is eligible to upgrade.
     Observed Generation:   1
     Reason:                CTMPreUpgradeChecksReady
     Status:                True
     Type:                  PreUpgradeCheckCompleted
     Last Transition Time:  2023-09-11T18:18:31Z
     Message:               HSM backup completed. The system is ready to upgrade.
     Observed Generation:   2
     Reason:                HSMBackupCompleted
     Status:                True
     Type:                  BackupCompleted
     Last Transition Time:  2023-09-11T18:18:31Z
     Message:               Starting HSM upgrades for cluster.
     Observed Generation:   2
     Reason:                hsmclusterClusterUpgradeInProgress
     Status:                True
     Type:                  ClusterUpgradeInProgress
     Last Transition Time:  2023-09-11T19:46:22Z
     Message:
     Observed Generation:   2
     Reason:                ReconcileCompleted
     Status:                True
     Type:                  AllComplete
    
    

3. 手動升級 ONTAP

如果您要在現有儲存空間叢集的系統上執行手動升級,請按照下列步驟操作:

請使用其中一種方法擷取 OS 升級映像檔:12.4.1 擷取方法 112.4.2 擷取方法 2由於您只使用其中一個,因此這些步驟的序號相同:

3.1. - 擷取方法 1

使用這個方法從 gdch.tar.gz 擷取可升級的套件。

  1. 如果您位於主機,且可以存取發布套件,請從 Harbor 登錄檔擷取映像檔:

    # Download the upgrade OS package
    OCI_PATH=$ARTIFACTS_ROOT/oci
    gdcloud artifacts extract $OCI_PATH storage --image-name=gpc-system-storage/storage:9.13.1P1
    
    tar -xvzf storage/gpc-system-storage/storage.tar.gz
    

    如果解壓縮失敗,請嘗試使用以下指令尋找正確的封存檔: sh gdcloud artifacts extract $OCI_PATH tree | grep storage

  2. storage/9.13.1P1.tar 中找出檔案。

  3. 收集升級 OS 檔案,然後上傳至儲存空間網站以開始升級,或如果尚未安裝 ONTAP,請在啟動程式上提供這些檔案,並讓節點提取映像檔

3.2. - 擷取方法 2

如果根管理員叢集已啟動並執行,您可以直接從 GDC 構件登錄檔擷取升級映像檔。

  1. 從 Artifact Registry 取得映像檔:

    https://gpc-istio-ingressgateway-IP/artifacts/serve/base64url encoding of the artifact reference
    
  2. 下載升級檔案:

    IMAGE_BASE64_URL=$(echo "gpc-system-storage/storage:ontap" | base64)
    
    # The OS file is located at:
    https://gpc-istio-ingressgateway-IP/artifacts/serve/IMAGE_BASE64_URL
    

構件參照為 gpc-system-storage/storage:ontap.

  1. 前往網址 (如 https://gpc-istio-ingressgateway-IP/artifacts/serve/IMAGE_BASE64_URL 所示),然後在本機下載 OS 套件。
  2. 收集升級 OS 檔案,然後上傳至儲存空間網站,開始升級

3.3. 將映像檔上傳至 ONTAP

  1. 開啟 ONTAP 管理網址,然後找到「Overview」(總覽) 頁面。
  2. 按一下「ONTAP Update」按鈕。

    按一下「ONTAP Update」按鈕

    圖 8. 「ONTAP Update」按鈕

  3. 按一下「+ 新增圖片」,然後上傳透過擷取方法 1擷取方法 2 收集的圖片。

    按一下「+ 新增圖片更新」按鈕

    圖 9. 「+新增圖片」按鈕

3.4. ONTAP 升級預檢

上傳圖片後,按一下「升級」即可開始進行印前檢查。系統會顯示警告訊息,如下圖所示:「更新並顯示警告」。

按一下「升級並保留警告」按鈕

圖 10. 「升級但有警告」按鈕

看到警告訊息時,請按照下列步驟操作:

  1. 確認沒有任何必須採取的行動項目。確認清單中沒有任何可能影響升級的項目。
  2. 請執行下列預檢:

    • 確認叢集和節點健康狀態良好,且已設定儲存空間容錯移轉。
    • 確認儲存系統沒有任何快訊。
    • 在升級視窗中,確認 CPU 和磁碟使用率低於 50%。
    • 確認儲存系統中沒有任何工作正在執行。
      例如,磁碟區和匯總作業可能正在執行或排隊等候執行。 等待他們完成。

    • 確認 DNS 正常運作 (如果已設定)。

    • 確認所有網路介面都在家用節點中。如果不是,請還原這些節點,讓它們連上住家節點。

    • 如果已設定 SnapMirror,請確保升級時已暫停。

    • 請按照儲存系統升級建議執行所有程序。

3.5. 開始升級

  1. 在根管理員叢集內,建立 Kubernetes API 物件,並使用 kubectl CLI 將其套用至根管理員叢集:

    apiVersion: upgrade.storage.private.gdc.goog/v1alpha1
    kind: FileStorageUpgradeRequest
    metadata:
     name: test
     namespace: gpc-system
    spec:
     fileStorageUpgradeMode: Manual
     storageClusterRef:
       name: $StorageClusterName
       namespace: gpc-system
     targetVersion: 9.10.1
    
  2. 按一下「Update with warnings」(更新並顯示警告)。

    按一下「更新並顯示警告」按鈕

    圖 11. 「更新並修正問題」按鈕

3.6. 在空白系統上進行升級

如果 ONTAP 儲存空間因故重設,且目前沒有叢集,您必須一次更新一個節點。步驟如下:

  1. 下載最新版的 ONTAP 軟體。檔案命名慣例類似於以下範例:9.13.1P1_ONTAP_image.tgz
  2. 建立目錄來存放 ONTAP 映像檔。

    mkdir files
    mv 9.13.1P1_ONTAP_image.tgz files
    
  3. 使用 python3 在啟動程序上代管圖片。

    # create a webserver with python
    python3 -m http.server -d files
    Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
    
  4. 使用 system node reboot CLI 重新啟動節點。

  5. 按下 Control+C 鍵,中斷開機循環。看到「啟動」選單時,請選取選項 7:「Install new software first」(先安裝新軟體)。開機選單如下所示:

    > system node reboot
    
    Warning: Are you sure you want to reboot node "ag-ad-stge02-02"?
    {y|n}: y
    
    # interrupt the boot cycle using Ctrl-C
    
    *******************************
    *                             *
    * Press Ctrl-C for Boot Menu. *
    *                             *
    *******************************
    ^CBoot Menu will be available.
    
    Please choose one of the following:
    
    (1)  Normal Boot.
    (2)  Boot without /etc/rc.
    (3)  Change password.
    (4)  Clean configuration and initialize all disks.
    (5)  Maintenance mode boot.
    (6)  Update flash from backup config.
    (7)  Install new software first.
    (8)  Reboot node.
    (9)  Configure Advanced Drive Partitioning.
    (10) Set Onboard Key Manager recovery secrets.
    (11) Configure node for external key management.
    Selection (1-11)? 7
    

    輸出看起來類似以下內容:

    This procedure is not supported for Non-Disruptive Upgrade on an HA pair.
    The software will be installed to the alternate image, from which the node is
    not currently running. Do you want to continue? {y|n} y
    
    In order to download the package, a temporary network interface needs to be
    configured.
    
    Select the network port you want to use for the download (for example, 'e0a')
    
  6. 在 e0M 介面上設定 IP 位址。然後重新啟動節點。

    Select the network port you want to use for the download (for example, 'e0a')
    > e0M
    
    The node needs to reboot for this setting to take effect.  Reboot now? {y|n}
    (selecting yes will return you automatically to this install wizard) y
    
    Rebooting...
    
    ## Configure the mgmt interface (e0M)
    
    In order to download the package, a temporary network interface needs to be
    configured.
    
    Enter the IP address for port e0M: 172.22.115.131
    Enter the netmask for port e0M: 255.255.255.0
    Enter IP address of default gateway: 172.22.115.1
    
    What is the URL for the package? http://172.22.112.67:8000/files/9.13.1P1_ONTAP_image.tgz
    What is the user name on "172.22.112.67", if any?
    
  7. 使用 version CLI 確認目前的軟體版本。輸出結果看起來與下列內容相似:

    > version
    NetApp Release 9.13.1P1: Tue Jul 25 10:19:28 UTC 2023
    

    3.7. 更新備份代理程式 LIF 的 MTU

備份與還原系統會使用 ONTAP 上的 LIF。MTU 必須低於 9000 的上限。 備份代理程式會執行這項作業。 ONTAP 執行並正常運作後,請降低備份代理程式 LIF 的最大傳輸單位 (MTU) 大小:

net port broadcast-domain modify -broadcast-domain backup-agent-network -mtu 8000

執行下列指令即可確認是否成功:

net port broadcast-domain show -broadcast-domain backup-agent-network

您應該會看到新的 MTU 值 8000。

4. 手動升級 Operations Suite 基礎架構核心

這項升級程序僅適用於從 1.12.x 版升級至 1.13.0 版

4.1 執行備份

  1. 按照操作中心設定說明中的指示備份 VM
  2. 備份 H:\operations_center 磁碟機。(這項操作支援還原升級)。
  3. CONFIG1 上備份 C:\dsc、C:\operations_center\ 和 C:\config\。(這個備份檔會在建構新的 config.ps1 設定時提供參考。)

4.2 升級現有虛擬機器

  1. 取得安裝目錄。

    1. 按照「下載檔案」一節的操作說明,下載 OIC 元件套件。

    2. 從下載的 prod_IT_component_bundle.tar.gz 中解壓縮 operations_center 目錄。

      tar -zxvf prod_IT_component_bundle.tar.gz ./release/operations_center
      
    3. 將 H:\operations_center 替換為上一步解壓縮的目錄。

  2. 使用網站專屬資料更新 config.ps1

    config.ps1 設定檔提供建構及設定 Operations Suite 基礎架構 (OI) 環境所需的所有資訊。如要更新設定檔,請務必收集下列所有資訊。現有 config.ps1 的備份檔可做為參考,避免不慎覆寫現有設定。 重要事項:請務必先完成並確認 config.ps1 正確無誤,再繼續操作。

    • occonfigtool 工具的網路設定輸出內容,尤其是 ocinfo.common.opscenter.local.txt 檔案。網路名稱 (例如 OCCORE-SERVERS) 是指該文件中的 Name 欄。
    • OI 管理的每個 GDC 儲存格的網域名稱和 DNS 伺服器 IP 位址。這項資料會顯示在客戶資訊問卷 (CIQ) 的輸出內容中。

    BM01 主機上以 Administrator 進行所有變更。

  3. 複製部署類型適用的正確設定範例程式碼:

    1. 如果 OIC 最初是以單一網站的形式部署,請將 H:\operations_center\dsc\config.single-site-example.ps1 複製到 H:\operations_center\config\config.ps1
    2. 如果 OIC 最初是以多個網站的形式部署,請將 H:\operations_center\dsc\config.multi-site-example.ps1 複製到 H:\operations_center\config\config.ps1
  4. 使用 Powershell ISE 驗證並更新 config.ps1 中的值。

    1. 除非預設值 (3.0) 正確,否則請更新 HardwareVersion

    2. 除非預設值 (DC1) 正確,否則請更新 PrimarySiteCode

    3. 許多名稱都使用網站代碼。搜尋並將所有 DC1 執行個體替換為正確的網站程式碼。使用不區分大小寫的搜尋功能。逐一檢查變更,因為有些變更可能不是必要項目。舉例來說,如果網站代碼為 AB1,主機名稱 DC1-DC1 必須變更為 AB1-DC1不得變更為 AB1-AB1

    4. 如果預設值不正確,請更新 DnsDomain如果這個值有所變更,請在整個 config.ps1 檔案中搜尋並取代 opscenter.local。預設值經過硬式編碼,位於多個位置。

    5. 使用網站專屬資訊更新 DnsConditionalForwarder 中的物件。必須至少有一個轉送物件。移除不必要的範例。

      如要從根管理員叢集提取特定網站的資訊,請使用:

      export KUBECONFIG=ROOT_ADMIN_KUBECONFIG
      kubectl get -n dns-system service gpc-coredns-external-udp -o jsonpath='{.status.loadBalancer.ingress[0].ip}{"\n"}'
      1. Domain - GDC 儲存格 DNS 網域名稱,例如 ciq.yaml 中的 dns.delegatedSubdomain
      2. Master - DNS 伺服器 IP 清單 (通常只有一個)。在 cellcfg 中尋找 DNSReservation 類型。 如果已部署 GDC 儲存格,請在根管理叢集的 dns-system 命名空間中,尋找 gpc-coredns-external-udp 服務的 EXTERNAL-IP 和儲存格的 FQDN bert.sesame.street

      3. 在多網站部署中,每個儲存格都有一個雜湊表物件。

    6. 請勿變更 UsersGroupsGroupPolicy 物件的任何內容。

    7. 更新 DNSServers,使其包含指派給主要和次要網域控制站的 2 個 IP 位址,例如 <SITE>-DC1<SITE>-DC2

    8. NTPServers 更新為來自根管理員 TimeServer 自訂資源的 SyncServer IP 位址清單。您可以使用下列方式擷取這組 IP 位址:

      kubectl get timeserver -A -o json | jq '.items[].address'
      

      您必須以 NTPServers 格式設定這些 IP 位址,如以下範例所示:

      NtpServers = @(
        '10.251.80.2',
        '10.251.80.3',
        '10.251.80.4',
        '10.251.80.5'
      )
      
    9. 視需要使用客戶提供的 OCCORE-SERVERS 子網路子網路前置字元值,更新 SubnetPrefix 預設值 (即 24)。

    10. 使用客戶提供的 OCCORE-SERVERS 子網路預設閘道,更新 DefaultGateway 預設值。

    11. 找出並更新 WorkstationCider 預設值,改為客戶提供的 IPv4 CIDR 標記法值,用於 OC-WORKSTATIONS 子網路。

    12. 找出並將範例子網路前置字串 172.21.0. 替換為客戶提供的 OCCORE-SERVERS 子網路前置字串。

    13. 找出範例子網路前置字元 172.21.2.,並替換為客戶提供的 OCCORE-JUMPHOSTS 子網路前置字元。

    14. 找出範例子網路前置字元 172.21.32.,並替換為客戶提供的 OC-WORKSTATIONS 子網路前置字元。

    15. 找出並將每日訊息範例 legalnoticecaptionPref caption 替換為顧客提供的說明文字。

    16. 找出並將 Pref text 的每日訊息範例 legalnoticetext 值 替換為顧客提供的文字。

    17. 驗證每個「節點」物件,並視需要更新。

      1. NodeName - 確認主機名稱正確無誤。有些名稱會用於許多地方,例如網域控制站。如果您在此處變更名稱,請檢查設定中的其他位置是否也需要變更。
      2. IPv4Addr - 這必須是主機的 IP 位址。通常最後一個八位元組維持原樣即可。在先前的步驟中,系統可能會在網路搜尋和取代期間更新部分八位元組。

      3. HyperVHost - 這個值必須是代管這個 VM 的 Hyper-V 伺服器 IP 位址。您可以在設定的「Hyper-V Servers」部分,取得每個 BM?? 伺服器的 IP 位址。請勿變更這個欄位中的 Hyper-V 主機指派項目,因為並非所有 Hyper-V 主機支援所有 VM 類型,請將 Hyper-V 主機名稱變更為對應的 IP 位址。

    18. 更新節點的所有節,包括 splunk_indexer,加入大型第二個磁碟。每個節都應包含下列幾行:

      ExtraDiskSize   = 5120GB # No quotes -- PowerShell converts this to an integer.
      ExtraDiskFolder = 'H:\Hyper-V\Virtual Hard Disks'
      
    19. 在所有節點上使用 Role=jumphost 驗證第二個網路介面詳細資料。請使用這個介面的 OCCORE-JUMPHOSTS 子網路詳細資料。檢查:

      1. JumphostIPv4Cidr
      2. JumphostDefaultGateway
    20. Role=adfs 所在的節點中,更新 ADFS 專屬的段落。

      1. 將「bert.sesame.street」和「GDCH.sesame.street」的所有例項,替換為設定檔 DnsConditionalForwarder 區段中某個節的正確 Domain 值。
      2. Bert (不分大小寫) 一詞替換為要設定使用 ADFS 的 GDC 儲存格簡短 ID。
    21. 視需要更新 DHCP 範圍,以符合客戶的 IP 計畫。在每個範圍中,驗證下列值是否正確。範圍中的名稱與 ocinfo.common.opscenter.local.txt 網路計畫中使用的名稱相符,因此請在驗證中使用下列項目:

      1. ScopeId
      2. IpStartRange
      3. IpEndRange
      4. Router
      5. SubnetMask
    22. 確認這些值與備份的 config1.ps1 中的值相符

    23. 請務必儲存檔案。

  5. 升級 CONFIG1 VM

    CONFIG1 升級作業會在 BM01 上執行,以確保與初始安裝作業一致。升級完成後,所有其他升級作業都會從 CONIFIG1 執行。

    1. 將 operations_center 目錄複製到 CONFIG1 VM

    2. BM01 主機上,以管理員身分開啟 PS 控制台。

    3. 執行 Copy-ConfigHostFiles.ps1 指令碼,暫存 CONFIG1 虛擬機器 (VM) 所需的檔案。

      # CD to the script's directory
      cd H:\operations_center\dsc
      
      # Staging files for CONFIG1 VM
      .\Copy-ConfigHostFiles.ps1 `<SITE>-CONFIG1`
      
    4. 停用 Hyper-V 時間同步

      1. 以管理員身分登入 BM01 主機。

      2. 在 Windows 上以管理員身分開啟 PowerShell,然後執行下列指令:

      # Disabling Hyper-V Time Sync
      Disable-VMIntegrationService -VMName `<SITE>-CONFIG1` -Name 'Time Synchronization'
      
    5. 執行 CONFIG1 更新指令碼

      .\Update-RemoteHost.ps1 -ComputerName DC1-CONFIG1 -Credentials $domain_admin_creds -SetLcm -RemoveExisting
      
    6. 指令碼執行完畢後,CONFIG1 VM 會重新啟動。

    7. CONFIG1 VM 驗證

      1. BM01 主機上,使用遠端桌面 (RDP) 連線至 CONFIG1 VM 的 IP,並以 Marvin 身分登入。範例:mstsc /v 192.168.100.99

      2. Marvin 使用者身分開啟 PS 控制台,並選取「以系統管理員身分執行」

      3. 執行 Build-Mof.ps1,為所有 OI 電腦產生受管理物件格式 (MOF) 檔案,驗證建構環境是否已準備就緒。

      # Running Build-MOf.ps1
      cd C:\dsc
      ./Build-Mof.ps1
      
  6. 升級 CA-ISSUING 和 CA-WEB

    1. CONFIG1 上,以 Marvin 身分執行下列指令碼,設定 CA-ISSUING VM。 powershell $la_creds = Get-Credential -Message "Provide local admin credentials for CA- VMs" ./Update-RemoteHost.ps1 -ComputerName <SITE>-CA-ISSUING1 -Credentials $la_creds -SetLcm -RemoveExisting

    2. CONFIG1 上,以 Marvin 身分執行下列指令碼,設定 CA-WEB1 伺服器。

    $la_creds = Get-Credential -Message "Provide local admin credentials for CA- VMs"
    .\Update-RemoteHost.ps1 -ComputerName <SITE>-CA-WEB1 -Credential $la_creds SetLcm -RemoveExisting
    
  7. 升級 CA_ROOT

    1. 開啟 CA-ROOT1 的電源。

      1. 以管理員身分登入 BM01 主機。

      2. 在 Windows 上以管理員身分開啟 PowerShell,然後執行下列指令:

      Start-VM -Name <SITE>-CA-ROOT1
      
    2. CONFIG1 VM 初始化 CA-ROOT1 VM。

      .\Update-RemoteHost.ps1  -ComputerName <SITE>-CA-ROOT1 -Credential $la_creds SetLcm -RemoveExisting
      
    3. 如果 CA_ROOT VM 在執行上一個指令碼後未重新啟動,請手動重新啟動。

    w32tm /query /peers
    
    #Peers: 1
    
    Peer: DC2-DC1.hq.local
    State: Active
    Time Remaining: 31.2997107s
    Mode: 3 (Client)
    Stratum: 1 (primary reference - syncd by radio clock)
    PeerPoll Interval: 6 (64s)
    HostPoll Interval: 6 (64s)
    
  8. 升級 DHCP VM

    1. CONFIG1 上以 marvin 使用者身分升級 DHCP VM。請先啟動 DHCP2,再啟動 DHCP1

      • 設定 DHCP2:
      .\Update-RemoteHost.ps1 -ComputerName <SITE>-DHCP2 -Credential $da_creds SetLCM -RemoveExisting
      
      • 設定 DHCP1
      .\Update-RemoteHost.ps1 -ComputerName <SITE>-DHCP1 -Credential $da_creds SetLCM -RemoveExisting
      
  9. 升級網域控制器

    1. CONFIG1 上以 marvin 使用者身分,升級主要網域控制站。
    .\Update-RemoteHost.ps1 -ComputerName <SITE>-DC1 -Credential $da_creds SetLCM -RemoveExisting
    
    1. 驗證與 SyncServer 的時間同步

      1. 網域管理員身分,透過遠端桌面協定連線至 <SITE>-DC1
      2. 管理員身分開啟 Powershell 視窗。
      3. 執行下列指令來驗證時間設定。

        # Checking time status
        w32tm /query /status /verbose
        
      4. 執行下列指令來測試時間重新同步:

        # Testing time resyncronization
        w32tm /resync
        
        # Desired output
        Sending resync command to local computer
        The command completed successfully.
        
      5. 重新驗證時間設定是否正確無誤。

        # Checking time status
        w32tm /query /status /verbose
      
    2. 在 BM02 上升級第二個 DC VM (<SITE>-DC2)

      1. 使用 CONFIG1marvin 本機管理員帳戶登入。
      2. 以系統管理員身分開啟 PowerShell 終端機,然後執行下列指令碼。
      cd c:\dsc
      
      .\Update-RemoteHost.ps1 -ComputerName <SITE>-DC2 -Credential $da_creds -SetLCM -RemoveExisting
      
      
      1. 伺服器會重新啟動。等待 15 分鐘或 AD 複寫完成。

      2. 驗證 AD 複製

      3. 第二個 DC 啟動並運作後,請從其中一個網域控制器執行下列指令,驗證 Active Directory 複寫:

      repadmin /replsummary
      
      1. 按照 #validate-ad-replication 中的操作說明驗證結果。
  10. 升級 Microsoft Config Manager VM

    DC1-CONFIG1 的 marvin Powershell 視窗中,設定並執行 DSC 設定:

    .\Update-RemoteHost.ps1 -ComputerName <SITE>-MCMDB1 -Credential $da_creds -SetLCM -RemoveExisting
    
    .\Update-RemoteHost.ps1 -ComputerName <SITE>-MCM1 -Credential $da_creds -SetLCM -RemoveExisting
    
    .\Update-RemoteHost.ps1 -ComputerName <SITE>-MCM2 -Credential $da_creds -SetLCM -RemoveExisting
    
  11. 升級 Splunk VM

    DC1-CONFIG1 的 marvin Powershell 視窗中,設定並執行 DSC 設定:

     .\Update-RemoteHost.ps1 -ComputerName <SITE>-splunk-heavyfwd -Credential $da_creds -SetLCM -RemoveExisting
    
     .\Update-RemoteHost.ps1 -ComputerName <SITE>-splunk-indexer -Credential $da_creds -SetLCM -RemoveExisting
    
     .\Update-RemoteHost.ps1 -ComputerName <SITE>-splunk-manager -Credential $da_creds -SetLCM -RemoveExisting
    
     .\Update-RemoteHost.ps1 -ComputerName <SITE>-splunk-searchhead -Credential $da_creds -SetLCM -RemoveExisting
    
     .\Update-RemoteHost.ps1 -ComputerName <SITE>-universal -Credential $da_creds -SetLCM -RemoveExisting
    
  12. 升級 Nessus VM

    DC1-CONFIG1 的 marvin Powershell 視窗中,設定並執行 DSC 設定:

     .\Update-RemoteHost.ps1 -ComputerName <SITE>-NESSUS1 -Credential $da_creds -SetLCM -RemoveExisting
    
     .\Update-RemoteHost.ps1 -ComputerName <SITE>-NESSUS2 -Credential $da_creds -SetLCM -RemoveExisting