Actualizaciones manuales

Los siguientes pasos de actualización manual se pueden usar en caso de fallas en la actualización automatizada.

1. Actualización manual para PANW

En este paso, se actualizan los siguientes componentes operativos.

Alcance Componentes operativos
Infraestructura PANW

Esta actualización genera interrupciones mínimas del tráfico para las conexiones externas, con un tiempo de inactividad de aproximadamente un minuto. Estas actualizaciones son manuales. PANW opera en modo de alta disponibilidad (HA).

1.1. Definiciones

Las versiones de software del firewall de Palo Alto se muestran en el formato X.Y.Z.

Versión de software Formato
Lanzamiento de la FUNCIÓN X.Y
Versión de MANTENIMIENTO DE LA BASE X.Y.0
VERSIÓN DE MANTENIMIENTO MÁS RECIENTE de una versión de función determinada X.Y.Z: Z es la última versión de mantenimiento para la versión futura X.Y.

1.2. Procedimiento de actualización

1.2.1. Ruta de actualización

Antes de continuar, identifica qué caso describe tus necesidades: Caso 1, Caso 2 o Caso 3:

  • Caso 1: X.Y es la versión objetivo.
  • Caso 2: X.Y no es la versión objetivo.
  • Caso 3: La versión del firewall es X.Y, donde X.Y es la última versión de la CARACTERÍSTICA para X.

Las siguientes descripciones de los casos 1, 2 y 3 muestran qué rutas de actualización corresponden a cada uno.

Caso Descripción y acción
Caso 1
X.Y es la versión a la que deseas actualizar (no la versión de destino).
Descarga e instala la versión de MANTENIMIENTO objetivo para X.Y: X.Y(Z2)
Caso 2
X.Y no es la versión a la que deseas actualizar (no es la versión objetivo).
Descarga e instala la VERSIÓN DE MANTENIMIENTO MÁS RECIENTE para X.Y: X.Y.Z1
Descarga la versión de MANTENIMIENTO BASE: X.(Y+1).0

Si X.(Y+1) es la versión de FUNCIONES objetivo,
Si X.(Y+1) no es la versión de la FUNCIONALIDAD objetivo,
  • Repite el Caso 2 hasta que lo sea y, luego, aplica el Caso 1.
  • Si X.(Y+1) es la última versión de la FUNCIÓN para X, continúa con el Caso 3.
Caso 3
La versión del firewall es X.Y, donde X.Y es la última versión de la FUNCIÓN para X.
Descarga la versión de BASE MAINTENANCE: (X+1).0.0
Regresa al Caso 1.

Para obtener información sobre la ruta de actualización, además de la que se proporciona aquí, consulta https://www.paloaltonetworks.com/.

1.2.2. Configuración de actualización

Distributed Cloud usa dos firewalls. Antes de comenzar una actualización, verifica que ambos firewalls tengan la misma versión. Si no es así, realiza las actualizaciones necesarias para igualar sus versiones antes de comenzar una actualización en ambos a la siguiente versión objetivo. Hazlo cada vez que planees realizar una actualización.

  1. Asegúrate de que ambos firewalls funcionen correctamente:
    1. En el panel, verifica que la alta disponibilidad (AA) esté en verde.
    2. Verifica que no haya vínculos inactivos en la red.
  2. Realiza una copia de seguridad de la configuración en ambos firewalls.

  3. Ve a Device > High Availability.

  4. Busca la pestaña Operational Commands cerca del comienzo de la página Device y, luego, haz clic en ella.

    1. Ubica Alta disponibilidad en el panel de navegación y, luego, haz clic en él.
    2. Cuando aparezca la opción para Suspender el dispositivo local para alta disponibilidad, haz clic en ella.

    Suspende el dispositivo local para la HA

    Figura 1. Suspender la HA

  5. Verifica que el estado que se muestra del firewall local sea suspended.

    Verificar

    Figura 2. Verifica que el firewall esté suspendido

  6. Actualiza el firewall.

  7. Recuperación del estado suspended: Haz clic en Make local device available for high availability.

    Cómo hacer que la HA esté disponible

    Figura 3. Cómo hacer que la HA esté disponible

    Regresa al primer paso y repite el proceso para el segundo firewall, siguiendo tu ruta de actualización.

1.3. Detalles del procedimiento de actualización de muestra

  1. Verifica la versión actual de PAN-OS.

    show system info | match sw-version
    

    Si el PAN-OS no está en la versión de software objetivo, actualiza el dispositivo.

  2. Sigue el procedimiento de actualización específico de la ruta proporcionado.

  3. Para verificar tu ruta, consulta la ruta de actualización en el sitio web de paloaltonetworks.com en https://docs.paloaltonetworks.com/pan-os/10-1/pan-os-upgrade/upgrade-pan-os/upgrade-the-firewall-pan-os/determine-the-upgrade-path.html desde tu computadora local antes de continuar.

  4. Asegúrate de que el dispositivo esté registrado y tenga licencia.

  5. Busca el firmware más reciente para la extracción:

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

    El nombre del archivo contiene la versión de compilación. Resultado de ejemplo:

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

    En el ejemplo anterior, la versión de compilación se muestra como 1.10.0-gdch.1426.

  6. Copia el nombre del archivo y extrae el firmware. Por ejemplo:

    1. Copia gdch-firewall/os:1.10.0-gdch.1426 como nombre de archivo. Usa este valor para reemplazar FIRMWARE_FILENAME en el siguiente comando:

      export FW_FIRMWARE_TAR_FILENAME=FIRMWARE_FILENAME
      
    2. Extrae el firmware de la imagen de OCI:

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

      Reemplaza FW_FIRMWARE_TAR_FILENAME por el nombre de archivo del archivo tar del firmware del firewall.

    3. Extrae el firmware:

      tar -xvf firmware/gdch-firewall/os.tar.gz
      
  7. Reúne el archivo del SO de actualización y súbelo al dispositivo de firewall para comenzar la actualización.

Console

  1. Establece la conectividad IP con el firewall y tu computadora local, y navega a la interfaz de usuario (IU).
  2. Para subir el software al firewall, selecciona Device > Software y haz clic en Upload, que se encuentra al final de la página.

    Cómo subir actualizaciones dinámicas

    Figura 4. Subir actualizaciones de software

  3. Una vez que se suba el software, aparecerá como disponible en la tabla y se mostrará una acción para instalarlo.

  4. Descarga las Actualizaciones dinámicas más recientes de la categoría Apps (un menú desplegable) en https://support.paloaltonetworks.com/Updates/DynamicUpdates.

  5. Haz clic en Subir para subir las Actualizaciones dinámicas al firewall. Es posible que solo debas realizar este paso una vez.

  6. Instala lo que se subió desde el archivo: haz clic en Instalar desde archivo.

    Instalar desde un archivo

    Figura 5. Selecciona Install From File.

  7. Ubica la columna encabezada por la palabra ACTION en la Figura 6. En esa columna, selecciona Instalar para instalar el software. Se reinicia el firewall.

    Se actualizó

    Figura 6. Columna Acción que muestra la capacidad de instalación

  8. Navega a la página PANEL para ver el panel Información general. Ubica Versión de software y verifica que el valor asociado a ella muestre un cambio con respecto al valor de la versión original. Esto verifica el cambio de versión.

    Verifica en el panel

    Figura 7. La versión de software muestra el cambio

  9. Repite estos pasos según sea necesario en función de la ruta de actualización.

kubectl

Usa las siguientes instrucciones de la línea de comandos para actualizar PAN-OS cuando no tengas acceso a Internet:

  1. Copia el firmware con SCP:

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

  2. Solicita la versión de instalación del software del sistema que necesitas:

    request system software install version XX.XX.XX
    

    Esto genera el ID de trabajo que se usará en el siguiente paso. El siguiente es un mensaje de ejemplo de salida:

    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. Supervisa el estado del trabajo:

    show jobs id 2
    
  4. Reinicia PAN-OS después de la instalación:

    request restart system
    

    Si no puedes actualizar PAN-OS y no hay errores de tu parte, obtén la licencia de PAN-OS y actualízalo con actualizaciones dinámicas. Asegúrate de que las claves de licencia estén en el archivo o directorio cell.yaml. Consulta Verifica las configuraciones.

  5. Para instalar una actualización dinámica, busca la versión más reciente de la actualización dinámica en el portal de PAN o en la ubicación de la unidad.

  6. Copia el contenido para el firewall con SCP:

    # scp import content from
    ubuntu@<host_ip>::/home/ubuntu/gdcloud_v8/images/panupv2-all-contents-8580-7429
    
  7. Instala el contenido:

    request content upgrade install  skip-content-validity-check yes file panupv2-all-contents-8580-7429
    
  8. Sube PAN-OS a la máquina anfitrión:

    1. Conecta la laptop al conmutador de administración que se encuentra en el mismo rack que la máquina anfitrión.
    2. Asigna una dirección IP a tu laptop desde la red de administración vlan97.
    3. Copia SCP de PAN-OS desde la laptop a la máquina anfitrión:

      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. Activa la actualización automática del HSM

En este paso, se actualizan los siguientes componentes operativos.

Alcance Componentes operativos
Infraestructura HSM

La actualización del HSM requiere la creación de un HSMUpgradeRequest y la verificación periódica del estado de la solicitud de actualización.

Se generan automáticamente uno o más CTMClusterUpgradeRequests para actualizar cada HSMCluster a la siguiente versión de firmware en la ruta de actualización para alcanzar la versión de firmware de destino. La actualización del HSM es una actualización no disruptiva que tarda alrededor de dos horas.

La duración del tiempo de inactividad para esta actualización depende de la integración. Un HSM configurado con varias direcciones puede someterse a actualizaciones continuas sin interrupciones.

  1. Establece KUBECONFIG en el archivo kubeconfig del clúster de administrador raíz.

    export KUBECONFIG=ROOT_ADMIN_KUBECONFIG
    
  2. Crea un recurso personalizado HSMUpgradeRequest. Crea un hsmupgrade.yaml y, luego, incluye CurrentGDCHVersion y TargetGDCHVersion.

    Ejemplo de recurso personalizado:

    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. Aplica el nuevo recurso personalizado:

    kubectl --kubeconfig=${KUBECONFIG:?} apply -f hsmupgrade.yaml
    
  4. Supervisa la actualización del HSM observando el Status de los recursos HSMUpgradeRequest y CTMClusterUpgradeRequest creados.

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

    Ejemplo de resultado de Status de un HSMUpgradeRequest completado:

    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
    

    Ejemplo de resultado de Status de un CTMClusterUpgradeRequest completado:

    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. Actualización manual de ONTAP

Si realizas una actualización manual en un sistema con un clúster de almacenamiento existente, sigue estos pasos para realizar la actualización:

Recupera la imagen de actualización del SO con uno de los siguientes métodos: 12.4.1 Método de recuperación 1 o 12.4.2 Método de recuperación 2. Estos muestran el mismo número de secuencia de pasos, ya que solo usas uno de ellos:

3.1. - Método de recuperación 1

Usa este método para recuperar los paquetes actualizables de gdch.tar.gz.

  1. Si estás en una máquina anfitrión y tienes acceso al paquete de lanzamiento, recupera la imagen del registro de 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
    

    Si falla la extracción, intenta buscar el archivo correcto con lo siguiente: sh gdcloud artifacts extract $OCI_PATH tree | grep storage

  2. Ubica el archivo en storage/9.13.1P1.tar.

  3. Recopila el archivo del SO de actualización y súbelo al sitio de almacenamiento para comenzar la actualización o, si aún no se instaló ONTAP, proporciona esos archivos en el programa de arranque y haz que el nodo extraiga la imagen.

3.2. - Método de recuperación 2

Si el clúster de administrador raíz ya está en funcionamiento, puedes recuperar la imagen de actualización directamente desde el registro de artefactos de GDC.

  1. Obtén una imagen de Artifact Registry:

    https://gpc-istio-ingressgateway-IP/artifacts/serve/base64url encoding of the artifact reference
    
  2. Descarga el archivo de actualización:

    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
    

La referencia del artefacto es gpc-system-storage/storage:ontap..

  1. Visita la URL, que se indica como https://gpc-istio-ingressgateway-IP/artifacts/serve/IMAGE_BASE64_URL, y descarga el paquete del SO de forma local.
  2. Recopila el archivo del SO de actualización y súbelo al sitio de almacenamiento para comenzar la actualización.

3.3. Cómo subir imágenes a ONTAP

  1. Abre la URL de administración de ONTAP y busca la página Overview.
  2. Haz clic en el botón Actualizar ONTAP.

    Haz clic en el botón Actualizar ONTAP.

    Figura 8. Botón de actualización de ONTAP

  3. Haz clic en +Agregar imagen y sube la imagen que recopilaste con el método de recuperación 1 o el método de recuperación 2.

    Haz clic en el botón +Agregar actualización de imagen.

    Figura 9. Botón +Agregar imagen

3.4. Verificación previa a la actualización de ONTAP

Después de subir la imagen, haz clic en Actualizar para iniciar la verificación previa. Aparece un mensaje de advertencia, como se ve en la siguiente imagen, que dice "Actualizar con advertencias".

Haz clic en el botón Actualizar con advertencias.

Figura 10: Botón Actualizar con advertencias

Cuando veas el mensaje de advertencia, haz lo siguiente:

  1. Verifica que no veas ninguna acción que debas realizar. Verifica que no haya nada en la lista que pueda afectar la actualización.
  2. Realiza la siguiente verificación previa:

    • Verifica que el clúster y los nodos estén en buen estado con la conmutación por error de almacenamiento configurada.
    • Verifica que no se hayan registrado alertas para el sistema de almacenamiento.
    • Verifica que el uso de la CPU y el disco sea inferior al 50% en la ventana de actualización.
    • Verifica que no haya trabajos en ejecución en el sistema de almacenamiento.
      Por ejemplo, los trabajos de volumen y agregados pueden estar en ejecución o en cola para ejecutarse. Espera a que terminen.

    • Verifica que el DNS esté en funcionamiento (si se configuró).

    • Verifica que todas las interfaces de red estén en el nodo principal. De lo contrario, revierte los cambios para que se apliquen en los nodos principales.

    • Si se configuró snapmirror, asegúrate de que esté suspendido en el momento de la actualización.

    • Sigue las recomendaciones de actualización del sistema de almacenamiento para todos los procedimientos.

3.5. Inicia la actualización

  1. Dentro del clúster de administrador raíz, crea un objeto de la API de Kubernetes y usa la CLI de kubectl para aplicarlo al clúster de administrador raíz:

    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. Haz clic en Actualizar con advertencias.

    Haz clic en el botón Actualizar con advertencias.

    Figura 11: Botón Actualizar con advertencias

3.6. Actualización en un sistema en blanco

Si, por algún motivo, se restableció el almacenamiento de ONTAP y aún no hay un clúster, debes actualizar los nodos de a uno. Sigue estos pasos:

  1. Descarga la versión más reciente del software de ONTAP. La convención de nombres de archivos se parece al siguiente ejemplo: 9.13.1P1_ONTAP_image.tgz.
  2. Crea un directorio para alojar el archivo de imagen de ONTAP.

    mkdir files
    mv 9.13.1P1_ONTAP_image.tgz files
    
  3. Aloja la imagen en el programa de arranque con Python 3.

    # 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. Usa la CLI de system node reboot para reiniciar el nodo.

  5. Presiona Control+C para interrumpir el ciclo de inicio. Cuando veas el menú de arranque, selecciona la opción 7: Install new software first. El menú de arranque se ve de la siguiente manera:

    > 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
    

    El resultado es similar al siguiente:

    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. Configura la dirección IP en la interfaz e0M. Luego, reinicia el nodo.

    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. Usa la CLI de version para confirmar la versión actual del software. El resultado es similar al siguiente:

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

    3.7. Actualiza la MTU de las LIF del agente de copias de seguridad

El sistema de copia de seguridad y restablecimiento usa LIF en ONTAP. La MTU debe reducirse por debajo del máximo de 9,000. Esto lo logra el agente de copias de seguridad. Una vez que ONTAP esté en ejecución y en buen estado, reduce el tamaño de la unidad de transmisión máxima (MTU) para las LIF del agente de copias de seguridad:

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

Para verificar que se haya realizado correctamente, ejecuta el siguiente comando:

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

Deberías ver el nuevo valor de MTU de 8,000.

4. Actualización manual del núcleo de la infraestructura de Operations Suite

Este proceso de actualización solo se aplica a la actualización de la versión 1.12.x a la 1.13.0.

4.1 Realiza copias de seguridad

  1. Realiza una copia de seguridad de la VM según las instrucciones proporcionadas en Operation Center Setup instructions.
  2. Copia de seguridad de la unidad H:\operations_center. (Esta acción admite la reversión de la actualización).
  3. Realiza una copia de seguridad de C:\dsc, C:\operations_center\ y C:\config\ en CONFIG1. (Esta copia de seguridad proporciona una referencia cuando se compila la nueva configuración de config.ps1).

4.2 Actualiza las máquinas virtuales existentes

  1. Obtén el directorio de instalación.

    1. Descarga el paquete de componentes de OIC siguiendo las instrucciones de la sección Descargar archivos.

    2. Extrae el directorio operations_center del archivo prod_IT_component_bundle.tar.gz descargado.

      tar -zxvf prod_IT_component_bundle.tar.gz ./release/operations_center
      
    3. Reemplaza H:\operations_center por el directorio que se extrajo en el paso anterior.

  2. Actualiza config.ps1 con datos específicos del sitio

    El archivo de configuración config.ps1 proporciona toda la información necesaria para compilar y configurar el entorno de la infraestructura de Operations Suite (OI). Para actualizar el archivo de configuración, debes recopilar toda la siguiente información. La copia de seguridad del archivo config.ps1 existente es una buena referencia para proteger la sobrescritura no intencional de la configuración existente. Importante: No continúes hasta que config.ps1 esté completo y sea correcto.

    • El resultado de la configuración de red de la herramienta occonfigtool, en especial el archivo ocinfo.common.opscenter.local.txt Los nombres de red, por ejemplo, OCCORE-SERVERS, a los que se hace referencia en los siguientes pasos, hacen referencia a la columna Name de ese documento.
    • El nombre de dominio y la dirección IP del servidor DNS de cada celda de GDC que administra este OI. Estos datos están disponibles en los resultados del Cuestionario de admisión del cliente (CIQ).

    Realiza todos los cambios en el host BM01 como Administrator.

  3. Copia el código de ejemplo de configuración correcto para el tipo de implementación:

    1. Si la OIC se implementa inicialmente como sitio único, copia H:\operations_center\dsc\config.single-site-example.ps1 en H:\operations_center\config\config.ps1.
    2. Si la OIC se implementa inicialmente como multisitio, copia H:\operations_center\dsc\config.multi-site-example.ps1 en H:\operations_center\config\config.ps1.
  4. Con el ISE de PowerShell, valida y actualiza los valores en config.ps1.

    1. Actualiza HardwareVersion, a menos que el valor predeterminado (3.0) sea correcto.

    2. Actualiza PrimarySiteCode, a menos que el valor predeterminado (DC1) sea correcto.

    3. El código del sitio se usa en muchos nombres. Busca y reemplaza todas las instancias de DC1 por el código del sitio correcto. Usa una búsqueda en la que no se distingue entre mayúsculas y minúsculas. Revisa cada cambio, ya que es posible que algunos no sean necesarios. Por ejemplo, si el código del sitio es AB1, el nombre de host DC1-DC1 debe cambiar a AB1-DC1, no AB1-AB1.

    4. Actualiza DnsDomain si el valor predeterminado no es correcto. Si se cambia este valor, busca y reemplaza opscenter.local en todo el archivo config.ps1. Hay varias ubicaciones en las que ese valor predeterminado está codificado.

    5. Actualiza los objetos en DnsConditionalForwarder con información específica del sitio. Debe haber al menos un objeto de reenvío. Quita los ejemplos innecesarios.

      Para extraer información específica del sitio del clúster de administrador raíz, usa el siguiente comando:

      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: Es el nombre de dominio DNS de la celda de GDC, por ejemplo, dns.delegatedSubdomain en ciq.yaml.
      2. Master: Es una lista de IPs de servidores DNS (por lo general, solo una). Busca en cellcfg el tipo DNSReservation. Si se implementó la celda de GDC, busca en el espacio de nombres dns-system del clúster de administración raíz la EXTERNAL-IP del servicio gpc-coredns-external-udp y el FQDN de la celda bert.sesame.street.

      3. En las implementaciones en varios sitios, hay un objeto de tabla hash por celda.

    6. No cambies el contenido de los objetos Users, Groups y GroupPolicy.

    7. Actualiza DNSServers para que contenga las 2 direcciones IP asignadas a los controladores de dominio principal y secundario, como <SITE>-DC1 y <SITE>-DC2.

    8. Actualiza NTPServers para que sea una lista de las direcciones IP de SyncServer de los recursos personalizados TimeServer de root-admin. Puedes recuperar este conjunto de direcciones IP con el siguiente comando:

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

      Debes darles a estas direcciones IP el formato NTPServers, como se muestra en el siguiente ejemplo:

      NtpServers = @(
        '10.251.80.2',
        '10.251.80.3',
        '10.251.80.4',
        '10.251.80.5'
      )
      
    9. Actualiza el valor predeterminado de SubnetPrefix, es decir, 24, con el valor del prefijo de subred proporcionado por el cliente para la subred OCCORE-SERVERS si es necesario.

    10. Actualiza el valor predeterminado de DefaultGateway con la puerta de enlace predeterminada proporcionada por el cliente para la subred OCCORE-SERVERS.

    11. Busca y actualiza el valor predeterminado de WorkstationCider con el valor proporcionado por el cliente para la subred OC-WORKSTATIONS en notación CIDR de IPv4.

    12. Busca y reemplaza el prefijo de subred de ejemplo 172.21.0. por el prefijo de subred de OCCORE-SERVERS proporcionado por el cliente.

    13. Busca y reemplaza el prefijo de subred de ejemplo 172.21.2. por el prefijo de subred OCCORE-JUMPHOSTS proporcionado por el cliente.

    14. Busca y reemplaza el prefijo de subred de ejemplo 172.21.32. por el prefijo de subred de OC-WORKSTATIONS proporcionado por el cliente.

    15. Busca y reemplaza el mensaje del día de ejemplo legalnoticecaption con el valor Pref caption proporcionado por el cliente.

    16. Busca y reemplaza el valor del mensaje del día de ejemplo legalnoticetext de Pref text por el texto proporcionado por el cliente.

    17. Valida cada objeto "nodo" y actualízalo si es necesario.

      1. NodeName: Asegúrate de que el nombre de host sea correcto. Algunos nombres se usan en muchos lugares, por ejemplo, los controladores de dominio. Si cambias un nombre aquí, verifica si también debes cambiarlo en otro lugar de la configuración.
      2. IPv4Addr: Debe ser la dirección IP del host. Por lo general, el último octeto se puede dejar como está. Es posible que algunos de ellos se hayan actualizado durante la búsqueda y el reemplazo de la red que se realizaron en pasos anteriores.

      3. HyperVHost: Este valor debe ser la dirección IP del servidor de Hyper-V que aloja esta VM. Puedes obtener la dirección IP de cada servidor BM?? en la sección "Servidores Hyper-V" de la configuración. No cambies la asignación del host de Hyper-V en este campo, ya que no todos los hosts de Hyper-V pueden admitir todos los tipos de VM. Solo cambia el nombre de host de Hyper-V por su dirección IP correspondiente.

    18. Actualiza todas las estrofas de los nodos con splunk_indexer para incluir un disco secundario grande. Cada estrofa debe incluir los siguientes versos:

      ExtraDiskSize   = 5120GB # No quotes -- PowerShell converts this to an integer.
      ExtraDiskFolder = 'H:\Hyper-V\Virtual Hard Disks'
      
    19. Valida los detalles de la segunda interfaz de red en todos los nodos con Role=jumphost. Usa los detalles de la subred OCCORE-JUMPHOSTS para esta interfaz. Comprobar:

      1. JumphostIPv4Cidr
      2. JumphostDefaultGateway
    20. Actualiza la estrofa específica de ADFS en el nodo donde Role=adfs.

      1. Reemplaza todas las instancias de bert.sesame.street y GDCH.sesame.street por el valor de Domain correcto de una de las estrofas de la sección DnsConditionalForwarder de la configuración.
      2. Reemplaza la palabra Bert (sin distinción entre mayúsculas y minúsculas) por el identificador corto de la celda de GDC que se está configurando para usar ADFS.
    21. Actualiza los rangos de DHCP para que coincidan con el plan de IP del cliente según sea necesario. En cada alcance, valida que los siguientes valores sean correctos. Los nombres de los alcances coinciden con los nombres que se usan en el plan de red de ocinfo.common.opscenter.local.txt, por lo que debes usar lo siguiente en la validación:

      1. ScopeId
      2. IpStartRange
      3. IpEndRange
      4. Router
      5. SubnetMask
    22. Confirma que los valores coincidan con los valores de config1.ps1 de la copia de seguridad.

    23. Asegúrate de guardar el archivo.

  5. Actualización de la VM de CONFIG1

    La actualización de CONFIG1 se realiza en BM01 para mantener la coherencia con la instalación inicial. Todas las demás actualizaciones se realizarán desde CONIFIG1 después de que se actualice.

    1. Copia el directorio operations_center en la VM CONFIG1

    2. En el host BM01, abre una consola de PS como administrador.

    3. Ejecuta la secuencia de comandos Copy-ConfigHostFiles.ps1 para preparar los archivos que necesita la máquina virtual (VM) CONFIG1.

      # CD to the script's directory
      cd H:\operations_center\dsc
      
      # Staging files for CONFIG1 VM
      .\Copy-ConfigHostFiles.ps1 `<SITE>-CONFIG1`
      
    4. Inhabilita la sincronización de hora de Hyper-V

      1. Accede al host BM01 como administrador.

      2. Abre PowerShell en Windows como administrador y ejecuta el siguiente comando:

      # Disabling Hyper-V Time Sync
      Disable-VMIntegrationService -VMName `<SITE>-CONFIG1` -Name 'Time Synchronization'
      
    5. Ejecuta la secuencia de comandos de actualización de CONFIG1

      .\Update-RemoteHost.ps1 -ComputerName DC1-CONFIG1 -Credentials $domain_admin_creds -SetLcm -RemoveExisting
      
    6. Después de que se ejecute la secuencia de comandos, se reiniciará la VM CONFIG1.

    7. Validación de la VM de CONFIG1

      1. En el host BM01, usa Escritorio remoto (RDP) para la IP de la VM CONFIG1 y accede como Marvin. Ejemplo: mstsc /v 192.168.100.99

      2. Como usuario de Marvin, abre una consola de PS con Ejecutar como administrador.

      3. Para validar que el entorno de compilación esté listo, ejecuta Build-Mof.ps1, que genera archivos de formato de objeto administrado (MOF) para todas las máquinas de OI.

      # Running Build-MOf.ps1
      cd C:\dsc
      ./Build-Mof.ps1
      
  6. Actualiza CA-ISSUING y CA-WEB

    1. En CONFIG1, como Marvin, ejecuta las siguientes secuencias de comandos para configurar la VM de CA-ISSUING. 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. En CONFIG1, como Marvin, ejecuta las siguientes secuencias de comandos para configurar el servidor 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. Actualiza CA_ROOT

    1. Enciende CA-ROOT1.

      1. Accede al host BM01 como administrador.

      2. Abre PowerShell en Windows como administrador y ejecuta el siguiente comando:

      Start-VM -Name <SITE>-CA-ROOT1
      
    2. Desde la VM CONFIG1, inicializa la VM CA-ROOT1.

      .\Update-RemoteHost.ps1  -ComputerName <SITE>-CA-ROOT1 -Credential $la_creds SetLcm -RemoveExisting
      
    3. Si la VM de CA_ROOT no se reinició después de la secuencia de comandos anterior, reiníciala de forma manual.

    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. Actualiza las VMs de DHCP

    1. En CONFIG1 como usuario de Marvin, actualiza las VMs de DHCP. Comienza con DHCP2 y, luego, DHCP1.

      • Configura DHCP2 de la siguiente manera:
      .\Update-RemoteHost.ps1 -ComputerName <SITE>-DHCP2 -Credential $da_creds SetLCM -RemoveExisting
      
      • Configura DHCP1
      .\Update-RemoteHost.ps1 -ComputerName <SITE>-DHCP1 -Credential $da_creds SetLCM -RemoveExisting
      
  9. Actualiza los controladores de dominio

    1. En CONFIG1 como usuario de marvin, actualiza el controlador de dominio principal.
    .\Update-RemoteHost.ps1 -ComputerName <SITE>-DC1 -Credential $da_creds SetLCM -RemoveExisting
    
    1. Valida la sincronización de hora con el SyncServer

      1. Conéctate a <SITE>-DC1 a través de RDP como administrador del dominio.
      2. Abre una ventana de Powershell como administrador.
      3. Ejecuta el siguiente comando para validar la configuración de la hora.

        # Checking time status
        w32tm /query /status /verbose
        
      4. Ejecuta los siguientes comandos para probar la resincronización de la hora:

        # Testing time resyncronization
        w32tm /resync
        
        # Desired output
        Sending resync command to local computer
        The command completed successfully.
        
      5. Vuelve a validar que la configuración de tiempo sea correcta y no tenga errores.

        # Checking time status
        w32tm /query /status /verbose
      
    2. Actualiza la segunda VM del DC (<SITE>-DC2) en BM02

      1. Accede a CONFIG1 con su cuenta de administrador local marvin.
      2. Abre una terminal de PowerShell como administrador y ejecuta la siguiente secuencia de comandos.
      cd c:\dsc
      
      .\Update-RemoteHost.ps1 -ComputerName <SITE>-DC2 -Credential $da_creds -SetLCM -RemoveExisting
      
      
      1. Se reinicia el servidor. ESPERA 15 minutos o hasta que se complete la replicación de AD.

      2. Valida la replicación de AD

      3. Una vez que el segundo DC esté en funcionamiento, ejecuta los siguientes comandos desde uno de los controladores de dominio para validar la replicación de Active Directory:

      repadmin /replsummary
      
      1. Valida los resultados según las instrucciones en #validate-ad-replication.
  10. Actualiza las VMs de Microsoft Config Manager

    En la ventana de PowerShell de Marvin en DC1-CONFIG1, configura y ejecuta la configuración de 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. Actualiza las VMs de Splunk

    En la ventana de PowerShell de Marvin en DC1-CONFIG1, configura y ejecuta la configuración de 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. Actualiza las VMs de Nessus

    En la ventana de PowerShell de Marvin en DC1-CONFIG1, configura y ejecuta la configuración de DSC:

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