كيفية عمل نسخة احتياطية من مجموعة تجاوز فشل SQL بشكل صحيح

لا يعجبني ذلك عندما لا توجد تعليمات بسيطة خطوة بخطوة على الشبكة بدون كلمات ذكية توضح كيفية عدم فعل الأشياء الأكثر وضوحًا. لذلك ، بدون مقدمات غير ضرورية اليوم سأخبرك بكيفية عمل نسخة احتياطية من مجموعة SQL الفشل بشكل صحيح. نعم ، إنها كتلة وليست خادم SQL مستقل. لقد كتب عنها الكثير ، ولكن لسبب ما يتم تجنب التكتلات.
وبدون مقدمة طويلة سننظر في مختبرنا:


  • كتلة Windows مع Windows Server 2012 r2 تحت غطاء المحرك وعدد معين من العقد. للراحة ، يوجد اثنان فقط في مختبري. يطرح سؤال مشروع: لماذا وضع الكتلة على الكتلة؟ سأشرح أقل قليلا.
  • يتم ربط ثلاثة أقراص بالمجموعة عبر iSCSI: نصاب ، قرص بقاعدة (قواعد) ، قرص للسجلات. يمكنك أن تفعل أكثر ، يمكنك أن تفعل أقل هنا كما تريد. في بعض الأحيان ترغب في ذلك: قرصان محليان (أحدهما للنظام ، والآخر لتثبيت SQL نفسه) ، قرص النصاب ، قرص مدمج لقاعدة بيانات الجذر والنظام ، قرص للقاعدة ، قرص للسجلات ، قرص لـ TempDB وقرص للنسخ الاحتياطية. يقول مهندسو النظام أن هذا صحيح أيضًا. لكن أعتقد أن عدد الأقراص لديك لن يلعب أي دور على الإطلاق. إذا كان يعمل لك ، فأنت على حق وحسن الأداء.
  • لكل عقدة نسخة SQL مثبتة ، والتي تدرك أنها جزء من مجموعة SQL ، وترى كتلة Windows دور SQL Server.

الآن - قبل أن نبدأ - دعنا نتفق على شيئين مهمين:


  • اتخذ قرارًا وتوقف عن الشك (كنت أرغب في إدراج نكتة هنا حول الحمام والصليب والسراويل الداخلية ، ولكن للرقابة قررت الاستغناء عن). يجب التعامل مع بنية تحتية واحدة من خلال حل واحد فقط. إذا كنت تستخدم الحل A للنسخ الاحتياطي لـ SQL ، والحل B للنسخ الاحتياطي للكتلة ، فيجب ألا يلمس B SQL تحت أي ظرف. أو من الأفضل عدم استخدام الحل "أ" على الإطلاق ، إذا كان بإمكان "ب" عمل نسخ احتياطية دقيقة من الأجهزة على مستوى التطبيق. لماذا؟ دعنا نتخيل أن كلا التطبيقين يمكنهما نقل سجلات SQL وإجراء ذلك بنجاح. سيعمل SQL على النحو الصحيح ، بالطبع ، ولكن في النسخة الاحتياطية التالية ، ستتلقى رسالة حول الحالة غير المتسقة للخادم في أفضل الأحوال ، وفي أسوأ الحالات ، لن تتمكن من الاسترداد من سجل المعاملات.
  • أعلم أن هناك خيارات "آلاف السنين وألف" لبرامج النسخ الاحتياطي ، وكلها أفضل بلا شك لأن الإدخال_المزيد_في هذا المكان ، ولكن معذرة ، سأكتب فقط عن واحد لا يمكنه فعل ذلك بشكل أسوأ من الآخرين ، وربما أفضل.

دعنا نذهب!


لذا ، كما هو واضح بالفعل ، سنقوم بعمل نسخة احتياطية للعقد بأكملها. السؤال الأول ينشأ على الفور: لماذا ، إذا أعطتنا مجموعة Microsoft SQL خارج الصندوق مستوى محترمًا جدًا من السقوط؟ على سبيل المثال ، يمكنك دائمًا نقل دور SQL والموارد إلى عقدة أخرى.


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


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


لذلك ، أقترح النظر في أننا اتفقنا على الحاجة إلى النسخ الاحتياطي للخادم بأكمله ، والآن ننتقل إلى الأدوات. سأكتب كيفية تحقيق أهدافك وأكون مدهشًا مع Veeam Backup & Replication 9.5 منذ إصدار آخر كان Veeam قادرًا على النسخ الاحتياطي المركزي للأجهزة الافتراضية فقط ، ولكنه الآن تلقى دعمًا كاملاً للنسخ الاحتياطية للخوادم الفعلية ، ومن الخطايا عدم اكتشافها.


مجموعات الحماية


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


لكننا ننتقل من الكلمات إلى الأفعال: نطلق Veeam Backup & Replication ، وننتقل إلى علامة التبويب Inventory ونطلق معالج إنشاء مجموعة الحماية



في الخطوة الأولى ، تحتاج إلى تحديد اسم المجموعة وبعض الوصف حسب الضرورة ، كل شيء واضح هنا.
ولكن في الخطوة التالية ، يجب عليك بالفعل اختيار المكان الذي ستتلقى فيه مجموعة الحماية معلومات حول الأجهزة المحمية. يمكنك إضافتها بالطريقة القديمة يدويًا بأسماء DNS أو IP ، يمكنك تقديم قائمة في شكل ملف CSV ، كما يفعل جدي الحقيقي ، لكننا أبسط الناس وسنستخدم كائنات Active Directory. في حالتنا ، هذا يعني أيضًا أنه سيتم اكتشاف جميع عُقد المجموعة تلقائيًا ، بما في ذلك العقد الجديدة.



في الخطوة التالية ، سيُطلب منك أول شيء تحديد عنوان وحدة تحكم المجال والمنفذ وبيانات المستخدم للاتصال.


إذا كان كل شيء على ما يرام ، انقر فوق إضافة وحدد الوحدة التنظيمية التي تحتاجها.


نقطة مهمة: ما عليك سوى إضافة مجموعة! لا يلزم إضافة عقد منفصلة.


مجموعتي تسمى WINCLU ، وسأضيفها.



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



الآن نحن بحاجة إلى تحديد المستخدم الذي سنستخدمه. في بعض الحالات المثالية ، قمنا بإنشاء مستخدم خاص في م لديه حقوق المسؤول المحلي على جميع الأجهزة. ولكن إذا لم يكن الأمر كذلك ، فإن Veeam يسمح لك بتعيين مستخدم منفصل لكل كائن.
لماذا أحتاج إلى مسؤول محلي؟


  • أولاً ، لتثبيت وكيل Veeam على كل جهاز ، والذي سيدير ​​عملية النسخ الاحتياطي المحلي.
  • ثانيًا ، لكي يتمكن Veeam Agent من إنشاء هذه النسخة الاحتياطية ، يحتاج إلى حقوق المسؤول المحلي للعمل مع VSS. هذه هي الطريقة التي يعمل بها Windows ، ولا يوجد شيء يمكن القيام به حيال ذلك.


بشكل منفصل ، تحتاج إلى التركيز على زر اختبار الآن . شيء رائع يسمح لك بالتحقق بسرعة من إدخال جميع الحسابات بشكل صحيح ، وفي حالة المجموعة ، تأكد مسبقًا من أن جميع العقد مرئية ويمكن الوصول إليها.



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


فيما يلي الخيارات الأقل وضوحًا ولكنها مهمة.


خادم التوزيع هو الجهاز الذي سيتم فيه تثبيت وكلاء Veeam. بشكل عام ، يكفي استخدام خادم Veeam Backup ، ولكن في البنى التحتية الموزعة جغرافيًا مع اتصال ضعيف ، من المنطقي تحديد خيار أقرب. في جميع الحالات الأخرى ، التغيير لا معنى له.


أبعد. لا أعرف أسباب عدم تثبيت الوكلاء وعدم تحديثهم تلقائيًا ، ولكن إذا كنت لا تثق في الأتمتة ، يمكنك الرفض بأمان. ولكن ضع في اعتبارك أنه بسبب الاختلاف في الإصدارات ، قد تترك بدون نقطة احتياطية أخرى.


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


هناك فارق بسيط مع إعادة التشغيل التلقائي: يتم استخدامه ليس فقط أثناء التثبيت الأول ، ولكن أيضًا أثناء التحديثات. لذلك لا تنس إلغاء التحديد إذا كنت لا تستطيع تحمل هذه الرفاهية.



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


في الخطوة الأخيرة ، سيتم إعلامنا بأن مجموعة الحماية (PG) تم إنشاؤها بنجاح وسيتم عرضها لإطلاق الاكتشاف ، أي ستقوم المجموعة وفقًا للظروف المحددة بعمل قائمة بالآلات ووفقًا للإعدادات ستبدأ في تثبيت الوكلاء. في حين أن جميع العمليات اللازمة ستتم ، يمكنك الذهاب وصب القهوة بنفسك.



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


إنشاء نسخة احتياطية


لذلك ، إذا انتهى كل شيء بنجاح في المرحلة السابقة ، فإن مجموعة الحماية الخاصة بك لديها الآن مجموعة وقائمة من العقد الخاصة بها مع عوامل مثبتة بنجاح. لذلك ، ننتقل إلى الأكثر إثارة للاهتمام: نقوم بإنشاء نسخة احتياطية في وضع نظام مجموعة تجاوز الفشل بحيث تدخل إليه جميع العقد وجميع الأقراص المرفقة.


ما هو الفرق الرئيسي ولماذا لا يمكنك حفظها كآلات منفصلة؟ من الناحية الفنية ، يمكنك القيام بذلك مع جميع العقد باستثناء واحدة - المالك الحالي لدور الكتلة. إذا بدأت في نسخها احتياطيًا مباشرة على الجبين ، فقد تفقد العقد الأخرى الاتصال بها وتبدأ في سحب البطانية فوق نفسها ، مما سيؤدي في النهاية إلى انهيار ووقف المجموعة بأكملها. يحدث هذا كثيرًا في الأنظمة المشغولة.



باستخدام زر الماوس الأيمن (RMB) ، والنقر فوق PG ، نطلق معالج إنشاء مهمة النسخ الاحتياطي ونحدد على الفور وضع مجموعة تجاوز الفشل . لا يمكن إنشاء مثل هذه المهام إلا على خادم النسخ الاحتياطي المركزي ، على عكس النسخ الاحتياطية للوكيل المحلي. ولكن هذا أمر منطقي: كما تتذكر ، أردنا نسخ SQL احتياطيًا بالكامل في نفس الوقت ، مما يعني أنه سيتم فصل السجلات بانتظام - والتي ، على أي حال ، ستحتاج إلى اتصال بين الخوادم.



ثم حدد اسم المهمة وقائمة المشاركين في النسخ الاحتياطي. بشكل افتراضي ، لن يكون هناك سوى PG المحدد ، ولكن هنا يمكنك أيضًا إضافة شيء إضافي.


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



ثم نختار مستودعًا للنسخ الاحتياطية ونحدد عدد نقاط الاسترداد التي سنحصل عليها. باستخدام الزر Advanced (متقدم) ، يمكنك استدعاء قائمة الضبط الدقيق ، حيث يمكنك اختيار كيفية إنشاء سلسلة نسخ احتياطي ، وتمكين عمليات تدقيق تكامل الملفات الإضافية ، وأكثر من ذلك بكثير ، وهو ما لن نضيع الوقت الآن ، لأن القسم الأكثر إثارة للاهتمام هو قسم معالجة الضيف .



يعتمد الأمر على الإعدادات الموجودة في علامة التبويب هذه سواء حصلنا على ما يسمى بالنسخة الاحتياطية المتسقة للتطبيق (والتي تُترجم أحيانًا كنسخة احتياطية متكاملة أو كنسخة احتياطية مع مراعاة حالة التطبيقات ، أو لم نفهم بعد كيف والأهم من ذلك السبب). لذلك ، انتقل إلى التطبيقات ، وحدد PG الخاص بنا وانقر فوق تحرير .



تأكد من أن علامة التبويب الأولى تتضمن معالجة التطبيق الواعي . في هذه الحالة ، سوف يشارك النظام الفرعي VSS ، والذي يجب أن يمر عمله دون أخطاء. بدلاً من ذلك ، قد يعمل مع وجود أخطاء ، ولكن في هذه الحالة ، لن يتم إنشاء نسخة احتياطية وستحتاج إلى فهم أسباب الفشل. هنا تحتاج أيضًا إلى تحديد مصير سجلات المعاملات: يمكن لـ Veeam تجاهلها ، ببساطة نسخها إلى النسخ الاحتياطي أو القص.



انتقل الآن إلى علامة التبويب SQL . أول شيء يجب فعله هو تعيين حساب المستخدم للتفاعل مع خادم SQL وقواعد البيانات الخاصة به. في عالم مثالي ، يتطابق مع المسؤول المحلي الذي حددناه عند إنشاء PG. خلاف ذلك ، فإن الشيء الرئيسي هو أن هذا المستخدم يجب أن يكون لديه حقوق مالك قواعد البيانات .


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



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


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



هذا كل شيء. اتضح أن مجموعات النسخ الاحتياطية ليست مخيفة للغاية كما هو معتاد في التفكير فيها. حتى لو كانت كتلة داخل كتلة أخرى.


إذا كنت مهتمًا بمعرفة سيناريو آخر للنسخ الاحتياطي / المطعم ، فاكتب عنه في التعليقات ، وسنخبرك بكل شيء بأفضل طريقة ممكنة.

Source: https://habr.com/ru/post/ar426175/


All Articles