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 arc
a 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-wait
kü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 kubectl
hozzon 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 aaz 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 feladatotkubectl
, 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.531035
amíg el nem távolítja a befejezettetsql-reprov-replica-c-sql-kkncursza-1-1664217002.376132
.Creating