1،
تكوين الخلية بعد نسخ من الهيكل الأساسي، ونحن نأمل في تحقيق قراءة منفصلة والكتابة، عملية القراءة من الخادم إلى التشتت، وعدد وافر من موازنة لا يمكن أن يتحقق من الخادم.
موازنة تحميل وقراءة منفصلة والكتابة الخلية العنقودية هي أساس الطلب، MaxScale سيتم مساعدتنا على تنفيذ بسهولة هذه الميزات.
2، MaxScale تشكل أساس
MaxScale هي شركة شقيقة MariaDB لالخلية التنمية، وقد وضعت الآن ناضجة جدا. MaxScale هو أحد المكونات في الهندسة المعمارية، مما يسمح للمستخدمين لتطوير الخاصة بهم المكونات الإضافية.
سد العجز في وظائف المقدمة حاليا مقسمة MaxScale إلى خمس فئات:
-
المصادقة المساعد
توفير مصادقة تسجيل الدخول، MaxScale يقرأ ومخبأ المعلومات في الجدول مستخدم قاعدة البيانات، وعندما يأتي اتصال في، بدءا من المعلومات مخبأ للتحقق، وإذا كان سيتم تحديث أليس هذا المستخدم معلومات من قاعدة البيانات ذات النهاية الخلفية، ومرة أخرى التحقق
-
المكونات بروتوكول
ويضم بروتوكول اتصال العميل بروتوكول، والاتصال بقاعدة البيانات
-
المكونات التوجيه
تقرر كيفية إعادة توجيه طلبات العميل إلى خادم قاعدة البيانات ذات النهاية الخلفية، والقراءة والكتابة وفصل ميزة موازنة التحميل هو تحقيق هذه الوحدة
-
التوصيل المراقبة
مراقبة خوادم قواعد البيانات المختلفة، على سبيل المثال، تجد استجابة خادم قاعدة البيانات بطيئة، ثم أي طلب لإعادة توجيه
-
سجل وتصفية المكونات الإضافية
توفر ميزات جدار الحماية قاعدة بيانات بسيطة يمكن أن تتم تصفيته وSQL المتسامحة
3،
3 على سبيل المثال، خادم قاعدة البيانات، على درجة الماجستير من الهيكلين.
نظرة عامة عملية
(1) بيئة نظام تكوين
(2) لتحميل وتثبيت MaxScale
وأضافت كل قاعدة بيانات المعلومات (3) ترتيب MaxScale
(4) بدء MaxScale، والتحقق ما إذا كان اتصال قاعدة البيانات
(5) موصل العميل MaxScale، اختبار
عملية مفصلة
(1) تكوين بيئة الكتلة الرئيسية من اثنين
إعداد 3 الخادم، تثبيت الخلية، بنية المنسوخة مرتبة من سيد اثنين.
(2) MaxScale التثبيت
يفضل أن يكون على تركيب خادم آخر، إذا كانت الموارد غير كافية، والخلية يمكن وضعها معا.
تحميل MaxScale: الشبكي: //downloads.mariadb.com/files/MaxScale
ووفقا لالخادم الخاص بهم يختار حزمة التثبيت المناسبة.
في سينت أو إس المثال هي 7 خطوات على النحو التالي:
يم تثبيت libaio.x86_64 libaio-devel.x86_64 novacom-server.x86_64 libedit -yrpm -ivh maxscale-1.4.3-1.centos.7.x86_64.rpm
(3) تكوين MaxScale
قبل أن تبدأ التكوين، تحتاج إلى إنشاء اثنين MaxScale المستخدم في الماجستير، وحدة لرصد وتوجيه وحدة.
إنشاء مراقبة المستخدم
ك > إنشاء scalemon المستخدم @ '' التي حددها "111111"؛ ك > منح الرقيق النسخ المتماثل العميل النسخ المتماثل على * * لscalemon @ ''؛
للمستخدمين إنشاء الطريق
ك > إنشاء maxscale المستخدم @ '' التي حددها "111111"؛ ك > غرانت حدد على * الخلية إلى maxscale @ ''؛
بعد إنشاء المستخدم، بدء التكوين
سادسا /etc/maxscale.cnf
اكتشاف جزئيا، تعديل عنوان وميناء، وIP وجهة الميناء الرئيسي.
نسخ 2 محتويات الأطفال بدلا من ذلك و ، تعديل العنوان نفسه وميناء، وأشر إلى slave1 slave2:
اكتشاف جزء والخوادم التعديل SERVER1، SERVER2، server3، للمستخدم تعديل والمعلومات باسود لمراقبة المستخدم التي تم إنشاؤها مسبقا (scalemon، 111111).
اكتشاف جزء والخوادم التعديل SERVER1، SERVER2، server3، تعديل المستخدم ومعلومات التوجيه إلى المستخدم باسود خلقت في وقت سابق (maxscale، 111111).
لأننا نستخدم ، تحتاج إلى حذف خدمة أخرى ، يمكنك حذف محتويات من الأطفال.
التكوين غير كاملة، وحفظ والخروج من محرر.
(4) ابدأ MaxScale
تنفيذ الأمر بداية
maxscale -config = / الخ / maxscale.cnf
تحقق ما إذا كان المنفذ استعداد MaxScale استجابة
-ntelp NETSTAT
-
4006 هو المنفذ المستخدم عند الاتصال MaxScale
-
6603 هو مدير الميناء MaxScale
تسجيل الدخول MaxScale مدير، والتحقق من بيانات حالة الاتصال، اسم المستخدم وكلمة المرور الافتراضية هو المشرف / MariaDB ل.
maxadmin -user = المشرف -password = MariaDB ل
MaxScale > الخوادم القائمة
تستطيع أن ترى، MaxScale متصلا بالفعل إلى السيد والعبد.
(5) اختبار
إنشاء مستخدم اختبار على الشريحة الرئيسية
ك > غرانت ALL الامتيازات على * * لrtest @ "" التي تم تحديدها من قبل "111111".
عميل الخلية للاتصال باستخدام MaxScale
ك ح MaxScale حيث IP ف 4006 -u rtest -p111111
تحقق عملية خادم قاعدة البيانات لإجراء اسم قاعدة البيانات الحالية لمعرفة الموقع الفعلي:
بعد فتح الصفقة، فإنه يتم توجيهها تلقائيا إلى سيد، وعمليات الاستعلام المشتركة، وكان على العبد
التكوين MaxScale كاملة.
4،
كما سبق وصفها MaxScale الخلية يمكن تحقيق القراءة والكتابة وقراءة موازنة منفصلة، ثم عندما فشل الرقيق، سيكون MaxScale كيفية التعامل معها؟
3 على سبيل المثال، خادم قاعدة البيانات، على درجة الماجستير من الهيكلين، أسماء قاعدة البيانات الرئيسية، slave1، slave2.
الآن ونحن اختبار الشرطين التاليين:
(1) عندما فشل من الخادم (slave1 أو slave2)، لمعرفة كيفية التعامل مع MaxScale، ومرة أخرى على الوضع بعد خط الخادم فشل
(2) عندما اثنين فشلت من الخادم (slave1 وslave2)، انظر MaxScale كيفية التعامل معها، والخادم فشل مرة أخرى على الإنترنت بعد
استعداد
لمزيد من رؤية معمقة الدولة MaxScale، تحتاج إلى تسجيل MaxScale المفتوحة:
تعديل ملف التكوين
سادسا /etc/maxscale.cnf
اكتشاف القسم هنا لوضع عالميا سجل تضاف إليها.
ترتيب
log_info = 1logdir = / تمة /
من خلال فتح log_info مستوى، يمكنك ان ترى MaxScale توجيه السجلات.
بعد تعديل التكوين، إعادة تشغيل MaxScale.
تجربة
1، حالة فشل واحد من العبيد
الحالة الأولية أمر طبيعي.
توقف Slave2 نسخة التنفيذ تسجيل الدخول ك slave2.
ك > وقف الرقيق.
مشاهدة MaxScale حالة الملقم
انتهت slave2.
عرض معلومات السجل
القط /tmp/maxscale1.log
مشاهدة الذيل:
تغيرت خادم الدولة: 2016/08/1512:26:02 إشعار slave2 : lost_slave
وقد خسر slave2 طرف.
عرض نتائج الاستعلام العميل:
للاستعلام عن جميع slave1.
يمكن أن ينظر إليه، بعد العبد لديه خطأ، استبعاد MaxScale، أي طلب لإعادة توجيه تلقائيا.
هنا مرة أخرى تبدو slave2 حالة الخط.
إعدام تسجيل الدخول slave2 الخلية
ك > بدء الرقيق.
مشاهدة MaxScale حالة الملقم
انتهت slave2.
عرض معلومات السجل
القط /tmp/maxscale1.log
مشاهدة الذيل:
تغيرت خادم الدولة: 2016/08/1512:26:02 إشعار slave2 : lost_slave
وقد خسر slave2 طرف.
عرض نتائج الاستعلام العميل:
للاستعلام عن جميع slave1.
يمكن أن ينظر إليه، بعد العبد لديه خطأ، استبعاد MaxScale، أي طلب لإعادة توجيه تلقائيا.
هنا مرة أخرى تبدو slave2 حالة الخط.
إعدام تسجيل الدخول slave2 الخلية
ك > بدء الرقيق.
مشاهدة MaxScale حالة الملقم
عاد إلى حالته الطبيعية، لإعادة تحديد، وslave2.
يتم عرض عرض معلومات السجل:
تغيرت خادم الدولة: 2016/08/1512:32:36 إشعار slave2 : new_slave
عرض نتائج الاستعلام العميل:
slave2 يمكنهم قبولها بشكل صحيح الاستعلامات.
ويمكن رؤية التجارب من خلال، عندما فشل الجزء الرقيق، MaxScale التعرف تلقائيا، وقائمة توجيه القابلة للإزالة، عندما الانتعاش مرة أخرى على الإنترنت، MaxScale يمكن إضافتها تلقائيا إلى عملية التوجيه شفافة.
2 عندما تكون جميع فشل الرقيق
وقد هبطت slave1 و slave2 في الخلية، وأمر بوقف نسخ
ك > وقف الرقيق.
مشاهدة MaxScale حالة الملقم
اكتشاف الدور الذي كل الملقم لا تعترف بها.
عرض السجل:
ترى من السجل، وجدت MaxScale وفقدت اثنين الرقيق والماجستير، ثم خطأ: لا سيد.
MaxScale فشل أيضا يربط العميل.
وصف من خادم كل الإخفاقات، وسوف يؤدي رئيسية لا يمكن تحديد، بحيث خدمات قواعد البيانات كلها غير فعالة.
في حالة فشل كل الرقيق، فإنه يمكن أيضا أن تستخدم لجعل سيد؟ وهذا على الأقل تقديم خدمات قواعد البيانات إلى وضعها الطبيعي.
هذه الحاجة لتعديل تكوين MaxScale وقال MaxScale نحتاج الماجستير مستقرة.
عملية
أولا استعادة الرقيق اثنين، بحيث ظهر العنقودية إلى وضعها الطبيعي وتهبط اثنين من العبيد من الخلية.
ك > بدء الرقيق.
MaxScale تعديل ملف التكوين، إضافة إلى التكوين الجديد.
سادسا /etc/maxscale.cnf
اكتشاف القسم، إضافة:
detect_stale_master = صحيح
حفظ والخروج، ثم أعد تشغيل MaxScale.
التحقق
توقف اثنين من العبيد، MaxScale عرض حالة الخادم.
يمكن أن ينظر إليه، على الرغم من أن الرقيق لا يمكن تحديد، ولكن سيد لا يزال، والمطالبات في حالة مستقرة
طلبات تنفيذ العميل:
العميل MaxScale يمكن الاتصال، ونقل الطلبات على سيد، عندما وصف العبد كل من فشل، سيد، كل من طلب الدعم.
عندما الانتعاش اثنين من الرقيق، الحالة العامة للعودة تلقائية إلى وضعها الطبيعي، وعندما طلب التنفيذ من العميل، يمكنك الذهاب إلى الرقيق.
ملخص
وجدت الاختبار أنه في فشل الجزء الرقيق السفلي، والعميل هو شفاف تماما، عند كل خطأ الرقيق، بعد تكوين بسيط، وتجهيز يمكن أن يكون جيدا MaxScale.