النسخة المتماثلة لإعادة التوفير - مثيل SQL المدار الذي تم تمكينه بواسطة Azure Arc

توضح هذه المقالة كيفية توفير نسخة متماثلة جديدة لاستبدال نسخة متماثلة موجودة في SQL Managed Instance التي تم تمكينها بواسطة Azure Arc.

عند إعادة توفير نسخة متماثلة، يمكنك إعادة إنشاء نسخة متماثلة جديدة من المثيل المدار لمثيل SQL المدار الذي تم تمكينه بواسطة نشر Azure Arc. استخدم هذه المهمة لاستبدال نسخة متماثلة تفشل في المزامنة، على سبيل المثال، بسبب تلف البيانات على وحدات التخزين الثابتة (PV) لهذا المثيل، أو بسبب مشكلة SQL متكررة.

يمكنك إعادة توفير نسخة متماثلة عبر az CLI أو عبر kubectl. لا يمكنك إعادة توفير نسخة متماثلة من مدخل Microsoft Azure.

المتطلبات الأساسية

يمكنك فقط إعادة توفير نسخة متماثلة على مثيل متعدد النسخ المتماثلة.

عبر az CLI

تتضمن reprovision-replicaمجموعة أوامر Azure CLI az sql mi-arc . لإعادة توفير نسخة متماثلة، قم بتحديث المثال التالي. استبدل <instance_name-replica_number> باسم المثيل ورقم النسخة المتماثلة للنسخة المتماثلة التي تريد استبدالها. استبدل <namespace>.

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

على سبيل المثال، لإعادة توفير النسخة المتماثلة 2 من المثيل mySqlInstance في مساحة arcالاسم ، استخدم:

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

يتم تشغيل الأمر حتى الاكتمال، وعند هذه النقطة تقوم وحدة التحكم بإرجاع اسم مهمة Kubernetes:

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

في هذه المرحلة، يمكنك إما فحص المهمة أو حذفها.

فحص المهمة

يقوم المثال التالي بإرجاع معلومات حول حالة مهمة Kubernetes:

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

هام

بعد إعادة توفير نسخة متماثلة، يجب حذف المهمة قبل تشغيل إعادة توفير أخرى على نفس المثيل. لمزيد من المعلومات، راجع القيود.

«Delete the task»

يحذف المثال التالي مهمة Kubernetes:

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

معلمة الخيار: --no-wait

هناك معلمة اختيارية --no-wait للأمر . إذا قمت بإرسال الطلب مع --no-wait، يتضمن الإخراج اسم المهمة التي سيتم مراقبتها. على سبيل المثال:

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.

Via kubectl

لإعادة التزويد باستخدام kubectl، قم بإنشاء مورد مخصص. لإنشاء مورد مخصص لإعادة التزويد، يمكنك إنشاء ملف .yaml باستخدام هذه البنية:

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

لاستخدام نفس المثال كما هو موضح أعلاه، mySqlinstance النسخة المتماثلة 2، الحمولة هي:

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

مراقبة المهمة أو حذفها

بمجرد تطبيق yaml عبر تطبيق kubectl، يمكنك مراقبة المهمة أو حذفها عبر kubectl:

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

هام

بعد إعادة توفير نسخة متماثلة، يجب حذف المهمة قبل تشغيل إعادة توفير أخرى على نفس المثيل. لمزيد من المعلومات، راجع القيود.

القيود

  • ترفض المهمة محاولات إعادة توفير النسخة المتماثلة الأساسية الحالية. إذا كانت النسخة المتماثلة الأساسية الحالية تالفة وتحتاج إلى إعادة التزويد، ففشل في نسخة متماثلة مختلفة، ثم اطلب إعادة التزويد.

  • يتم تشغيل إعادة توفير نسخ متماثلة متعددة في نفس المثيل بشكل تسلسلي. قائمة انتظار المهام ويتم الاحتفاظ بها في Creating الحالة حتى تنتهي المهمة النشطة حاليا ويتم حذفها. لا يوجد تنظيف تلقائي لمهمة مكتملة، لذلك سيؤثر هذا التسلسل عليك حتى إذا قمت بتشغيل az sql mi-arc reprovision-replica الأمر بشكل متزامن وانتظر حتى يكتمل قبل طلب إعادة توفير آخر. في جميع الحالات، يجب عليك إزالة المهمة عبر kubectl قبل تشغيل إعادة توفير أخرى على نفس المثيل.

مزيد من التفاصيل حول تسلسل مهام إعادة التزويد: إذا كان لديك طلبات متعددة لإعادة توفير نسخة متماثلة في مثيل واحد، فقد ترى شيئا مثل هذا في الإخراج من 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

سيظل هذا الإدخال الأخير للنسخة المتماثلة c-sql-kkncursza-1، sql-reprov-replica-c-sql-kkncursza-1-1664217434.531035في الحالة Creating حتى تتم إزالة الإدخال sql-reprov-replica-c-sql-kkncursza-1-1664217002.376132 المكتمل.