Megosztás a következőn keresztül:


Replika újraépítése – Az Azure Arc által engedélyezett felügyelt SQL-példány

Ez a cikk azt ismerteti, hogyan építhet ki új replikát az Azure Arc által engedélyezett felügyelt SQL-példány meglévő replikáinak lecseréléséhez.

Replika újraépítésekor újraépít egy új felügyelt példányreplikát egy felügyelt SQL-példányhoz, amelyet az Azure Arc üzembe helyezése engedélyez. Ezzel a feladatsal lecserélhet egy replikát, amely nem szinkronizálódik, például az adott példány állandó köteteinek (PV) adatainak sérülése vagy valamilyen ismétlődő SQL-probléma miatt.

A replikát az a parancssori felületen vagy a .kubectl Az Azure Portalról nem készíthet újra replikát.

Előfeltételek

Replikát csak több replikapéldányon lehet újra létrehozni.

Parancssori felületről az

Az Azure CLI-parancscsoport az sql mi-arc tartalmazza a következőket reprovision-replica: . Replika újbóli létrehozásához frissítse az alábbi példát. Cserélje le <instance_name-replica_number> a lecserélni kívánt replika példánynevét és replikaszámát. Cserélje le a elemet <namespace>.

az sql mi-arc reprovision-replica -n <instance_name-replica_number> -k <namespace> --use-k8s

Ha például a névtérben arca példány mySqlInstance 2. replikáját szeretné újraépíteni, használja a következőt:

az sql mi-arc reprovision-replica -n mySqlInstance-2 -k arc --use-k8s

A parancs a befejezésig fut, ekkor a konzol visszaadja a Kubernetes-feladat nevét:

sql-reprov-replica-mySqlInstance-2-1664217002.376132 is Ready

Ezen a ponton megvizsgálhatja vagy törölheti a feladatot.

A feladat vizsgálata

Az alábbi példa a Kubernetes-tevékenység állapotával kapcsolatos információkat adja vissza:

kubectl describe SqlManagedInstanceReprovisionReplicaTask sql-reprov-replica-mySqlInstance-2-1664217002.376132 -n arc

Fontos

A replika újbóli létrehozása után törölnie kell a feladatot, mielőtt egy másik újraprojekt futtatható ugyanazon a példányon. További információ: Korlátozások.

A feladat törlése

Az alábbi példa törli a Kubernetes-feladatot:

kubectl delete SqlManagedInstanceReprovisionReplicaTask sql-reprov-replica-mySqlInstance-2-1664217002.376132 -n arc

Beállításparaméter: --no-wait

A parancsnak van egy opcionális --no-wait paramétere. Ha a kérést a következővel --no-waitküldi el, a kimenet tartalmazza a figyelendő tevékenység nevét. Példa:

az sql mi-arc reprovision-replica -n mySqlInstance-2 -k arc --use-k8s --no-wait
Reprovisioning replica mySqlInstance-2 in namespace `arc`. Please use
`kubectl get -n arc SqlManagedInstanceReprovisionReplicaTask sql-reprov-replica-mySqlInstance-2-1664217434.531035`
to check its status or
`kubectl get -n arc SqlManagedInstanceReprovisionReplicaTask`
to view all reprovision tasks.

Kubectl használata

Az újraépítéshez kubectlhozzon létre egy egyéni erőforrást. Ha egyéni erőforrást szeretne létrehozni az újraépítéshez, létrehozhat egy .yaml-fájlt az alábbi struktúrával:

apiVersion: tasks.sql.arcdata.microsoft.com/v1beta1
kind: SqlManagedInstanceReprovisionReplicaTask
metadata:
  name: <task name you make up>
  namespace: <namespace>
spec:
  replicaName: instance_name-replica_number

A fenti példához hasonlóan a mySqlinstance 2. replika hasznos adatai a következők:

apiVersion: tasks.sql.arcdata.microsoft.com/v1beta1
kind: SqlManagedInstanceReprovisionReplicaTask
metadata:
  name: my-reprovision-task-mySqlInstance-2
  namespace: arc
spec:
  replicaName: mySqlInstance-2

A feladat figyelése vagy törlése

A yaml kubectl-en keresztül történő alkalmazása után a feladatot a kubectl használatával figyelheti vagy törölheti:

kubectl get -n arc SqlManagedInstanceReprovisionReplicaTask my-reprovision-task-mySqlInstance-2
kubectl describe -n arc SqlManagedInstanceReprovisionReplicaTask my-reprovision-task-mySqlInstance-2
kubectl delete -n arc SqlManagedInstanceReprovisionReplicaTask my-reprovision-task-mySqlInstance-2

Fontos

A replika újbóli létrehozása után törölnie kell a feladatot, mielőtt egy másik újraprojekt futtatható ugyanazon a példányon. További információ: Korlátozások.

Korlátozások

  • A feladat elutasítja az aktuális elsődleges replika újrabontására tett kísérleteket. Ha az aktuális elsődleges replika sérült, és újra kell létrehozni, feladatátvételt kell végrehajtania egy másik replikán, majd kérnie kell az újraépítést.

  • Több replika újbóli létrehozása ugyanabban a példányban sorosan fut. A tevékenységek várólistája állapotban Creating marad, amíg az aktuálisan aktív tevékenység be nem fejeződik , és törlődik. A befejezett tevékenységek automatikus tisztítása nem történik meg, ezért ez a szerializálás akkor is hatással lesz Önre, ha szinkron módon futtatja a az sql mi-arc reprovision-replica parancsot, és megvárja, amíg befejeződik, mielőtt újabb újraépítést kér. Minden esetben el kell távolítania a feladatot kubectl , mielőtt ugyanazon a példányon egy másik újrabontás futna.

További részletek az újraprovíziós feladatok szerializálásáról: Ha több kérése van egy replika egy példányban történő újrabontására, a következőhöz hasonlót láthat a következő kimenetben kubectl get SqlManagedInstanceReprovisionReplicaTask:

kubectl get SqlManagedInstanceReprovisionReplicaTask -n arc
NAME                                                     STATUS      AGE
sql-reprov-replica-c-sql-djlexlmty-1-1664217344.304601   Completed   13m
sql-reprov-replica-c-sql-kkncursza-1-1664217002.376132   Completed   19m
sql-reprov-replica-c-sql-kkncursza-1-1664217434.531035   Creating    12m

A c-sql-kkncursza-1 replika utolsó bejegyzése állapotban marad, sql-reprov-replica-c-sql-kkncursza-1-1664217434.531035amíg el nem távolítja a befejezettetsql-reprov-replica-c-sql-kkncursza-1-1664217002.376132.Creating