Fenêtre de maintenance - Services de données avec Azure Arc

Configurez une fenêtre de maintenance sur un contrôleur de données pour définir une période de mise à niveau. Pendant cette période, les instances SQL Managed Instance avec Arc sur ce contrôleur de données sur lesquelles la propriété desiredVersion est définie sur auto seront mises à niveau.

Pendant l’installation, spécifiez une durée, une périodicité et une date et une heure de début. Une fois la fenêtre de maintenance démarrée, elle s’exécute pendant la période définie dans la durée. Les instances attachées au contrôleur de données commencent les mises à niveau (en parallèle). À la fin de la durée définie, toutes les mises à niveau en cours continueront jusqu’à leur achèvement. Toutes les instances qui n’ont pas commencé la mise à niveau dans la fenêtre commencent à effectuer la mise à niveau lors de la périodicité suivante.

Prérequis

une instance gérée SQL Managed Instance dotée d’Azure Arc avec la propriété desiredVersion définie sur auto.

Limites

La durée de la fenêtre de maintenance peut être comprise entre 2 et 8 heures.

Une seule fenêtre de maintenance peut être définie par contrôleur de données.

Configurer une fenêtre de maintenance

La fenêtre de maintenance a les paramètres suivants :

  • Durée : durée pendant laquelle la fenêtre s’exécute, exprimée en heures et en minutes (HH:mm).
  • Périodicité : fréquence à laquelle la fenêtre se produira. Tous les mots respectent la casse et doivent être en majuscules. Vous pouvez définir des fenêtres hebdomadaires ou mensuelles.
    • Hebdomadaire
      • [Semaine | Hebdomadaire] [jour de la semaine]
      • Exemples :
        • --recurrence "Week Thursday"
        • --recurrence "Weekly Saturday"
    • Mensuelle
      • [Mois | Mensuel] [Premier | Deuxième | Troisième | Quatrième | Dernier] [jour de la semaine]
      • Exemples :
        • --recurrence "Month Fourth Saturday"
        • --recurrence "Monthly Last Monday"
    • Si la périodicité n’est pas spécifiée, il s’agit d’une fenêtre de maintenance ponctuelle.
  • Début : date et heure de la première fenêtre, au format YYYY-MM-DDThh:mm (format 24 heures).
    • Exemple :
      • --start "2022-02-01T23:00"
  • Fuseau horaire : le fuseau horaire associé à la fenêtre de maintenance.

Interface de ligne de commande

Pour créer une fenêtre de maintenance, utilisez la commande suivante :

az arcdata dc update --maintenance-start <date and time> --maintenance-duration <time> --maintenance-recurrence <interval> --maintenance-time-zone <time zone> --k8s-namespace <namespace> --use-k8s

Exemple :

az arcdata dc update --maintenance-start "2022-01-01T23:00" --maintenance-duration 3:00 --maintenance-recurrence "Monthly First Saturday" --maintenance-time-zone US/Pacific --k8s-namespace arc --use-k8s

Surveiller les mises à niveau

Pendant la fenêtre de maintenance, vous pouvez afficher l’état des mises à niveau.

kubectl -n <namespace> get sqlmi -o yaml 

Les champs status.runningVersion et status.lastUpdateTime affichent la dernière version et lorsque l’état a changé.

Afficher une fenêtre de maintenance existante

Vous pouvez afficher la fenêtre de maintenance dans la spec datacontroller.

kubectl describe datacontroller -n <namespace>

Sortie :

Spec:  
  Settings:
    Maintenance:
      Duration:    3:00
      Recurrence:  Monthly First Saturday
      Start:       2022-01-01T23:00
      Time Zone:   US/Pacific

Échecs de mise à niveau

Il n’existe aucune restauration automatique pour les mises à niveau ayant échoué. Si une instance n’a pas réussi à se mettre à niveau automatiquement, une intervention manuelle sera nécessaire pour épingler l’instance à sa version en cours, avec az sql mi-arc update. Une fois le problème résolu, la version peut être rétablie sur « auto ».

az sql mi-arc upgrade --name <instance name> --desired-version <version> 

Exemple :

az sql mi-arc upgrade --name sql01 --desired-version v1.2.0_2021-12-15

Désactiver la fenêtre de maintenance

Lorsque la fenêtre de maintenance est désactivée, les mises à niveau automatiques ne s’exécutent pas.

az arcdata dc update --maintenance-enabled false --k8s-namespace <namespace> --use-k8s

Exemple :

az arcdata dc update --maintenance-enabled false --k8s-namespace arc --use-k8s

Activer la fenêtre de maintenance

Lorsque la fenêtre de maintenance est activée, les mises à niveau automatiques reprennent.

az arcdata dc update --maintenance-enabled true --k8s-namespace <namespace> --use-k8s

Exemple :

az arcdata dc update --maintenance-enabled true --k8s-namespace arc --use-k8s

Modifier les options de la fenêtre de maintenance

La commande de mise à jour peut être utilisée pour modifier l’une des options. Dans cet exemple, je vais mettre à jour l’heure de début.

az arcdata dc update --maintenance-start <date and time> --k8s-namespace arc --use-k8s

Exemple :

az arcdata dc update --maintenance-start "2022-04-15T23:00" --k8s-namespace arc --use-k8s

Activer les mises à niveau automatiques d’une instance gérée SQL Managed Instance