কীভাবে 2-নোড সক্রিয় / প্যাসিভ লিনাক্স এইচএ পেসমেকার ক্লাস্টারে STONITH সেটআপ করবেন?


12

পোস্টগ্র্রেএসকিউএল-ডাটাবেস আপ এবং চলমান রাখার জন্য আমি করোজিনক এবং পেসমেকার সহ একটি সক্রিয় / প্যাসিভ (2 নোড) লিনাক্স-এইচএ ক্লাস্টার সেটআপ করার চেষ্টা করছি। এটি ডিআরবিডি এবং একটি সার্ভিস-আইপিয়ের মাধ্যমে কাজ করে। যদি নোড 1 ব্যর্থ হয় তবে নোড 2 গ্রহণ করা উচিত। পিজি যদি নোড 2 এ চলে এবং এটি ব্যর্থ হয়। স্টোনথ জিনিস বাদে সবকিছু ঠিকঠাক কাজ করে।

নোডগুলির মধ্যে একটি ডেডিকেটেড এইচএ-কানেকশন (10.10.10.X), সুতরাং আমার নিম্নলিখিত ইন্টারফেস কনফিগারেশন রয়েছে:

eth0            eth1            host
10.10.10.251    172.10.10.1     node1
10.10.10.252    172.10.10.2     node2

স্টোনিথ সক্ষম হয়েছে এবং আমি নোডগুলি মারার জন্য এসএসএইচ-এজেন্টের সাথে পরীক্ষা করছি।

crm configure property stonith-enabled=true
crm configure property stonith-action=poweroff
crm configure rsc_defaults resource-stickiness=100
crm configure property no-quorum-policy=ignore

crm configure primitive stonith_postgres stonith:external/ssh \
                params hostlist="node1 node2"
crm configure clone fencing_postgres stonith_postgres

crm_mon -1 শো:

============
Last updated: Mon Mar 19 15:21:11 2012
Stack: openais
Current DC: node2 - partition with quorum
Version: 1.0.9-74392a28b7f31d7ddc86689598bd23114f58978b
2 Nodes configured, 2 expected votes
4 Resources configured.
============

Online: [ node2 node1 ]

Full list of resources:

 Master/Slave Set: ms_drbd_postgres
     Masters: [ node1 ]
     Slaves: [ node2 ]
 Resource Group: postgres
     fs_postgres        (ocf::heartbeat:Filesystem):    Started node1
     virtual_ip_postgres        (ocf::heartbeat:IPaddr2):       Started node1
     postgresql (ocf::heartbeat:pgsql): Started node1
 Clone Set: fencing_postgres
     Started: [ node2 node1 ]

সমস্যাটি হ'ল: আমি যখন eth0-ইন্টারফেসগুলির মধ্যে সংযোগটি কাটা করি তখন এটি উভয় নোডকে হত্যা করে । আমি মনে করি এটি কোরামের সমস্যা, কারণ এখানে মাত্র দুটি নোড রয়েছে। তবে আমি সঠিক কোরামের গণনার জন্য 3 য় নোড যুক্ত করতে চাই না।

এই সমস্যাটি সমাধান করার জন্য কোনও ধারণা আছে?


crm_monআপনার ক্লাস্টার ব্যর্থ অবস্থায় থাকলে দেখতে আউটপুটটি কেমন হবে ?
15:

1
এখন আমি একটি স্টোনিথ ডিভাইস ব্যবহার করছি যা পোস্টগ্রিসের মতো একই নোডে চলবে না। এই কাজটি প্রত্যাশার মতো!
এমএমরে

উত্তর:


21

এটি কিছুটা পুরানো প্রশ্ন তবে এখানে উপস্থাপিত সমস্যাটি ক্লাস্টারগুলিতে, বিশেষত দুটি নোডের ক্লাস্টারগুলিতে কীভাবে এবং কখন ব্যর্থ হয় সে সম্পর্কে একটি ভুল ধারণার ভিত্তিতে।

সারাংশটি হ'ল: আপনি দুটি নোডের মধ্যে যোগাযোগ অক্ষম করে ফেলওভার পরীক্ষা করতে পারবেন না। এটি করার ফলে আপনি যা দেখতে পাচ্ছেন ঠিক তেমন ফলস্বরূপ দেখা যাবে, অতিরিক্ত, পারস্পরিক স্টোনিট সহ একটি বিভক্ত-মস্তিষ্কের দৃশ্য। আপনি যদি বেড়া করার ক্ষমতাগুলি পরীক্ষা করতে চান killall -9 corosyncতবে সক্রিয় নোডের একটি সাধারণ কাজ করবে। অন্যান্য উপায় হয় crm node fenceবা stonith_admin -F

আপনার ক্লাস্টারের সম্পূর্ণ বিবরণ না থেকে (কোথায় আউটপুট crm configure showএবং cat /etc/corosync/corosync.conf?) দেখে মনে হচ্ছে আপনি বার্তাগুলির জন্য 10.10.10.xx ঠিকানা ব্যবহার করছেন, অর্থাত: করোসিঙ্ক / ক্লাস্টার যোগাযোগের জন্য। 172.10.10.xx ঠিকানাগুলি আপনার নিয়মিত / পরিষেবা নেটওয়ার্ক ঠিকানা এবং আপনি একটি প্রদত্ত নোড অ্যাক্সেস করতে পারেন, উদাহরণস্বরূপ এসএসএইচ ব্যবহার করে, এর 172.10.10.xx ঠিকানার মাধ্যমে। ডিএনএস node1172.10.10.1 এর মতো নোডের হোস্টনামটিও সমাধান করবে বলে মনে হচ্ছে ।

আপনি এসএসএইচ ব্যবহার করতে স্টোনিট কনফিগার করেছেন, যা নিজে থেকে খুব ভাল ধারণা নয়, তবে আপনি সম্ভবত পরীক্ষা করছেন। আমি নিজে এটি ব্যবহার করি নি তবে আমি ধরে নিই যে এসএসএইচ স্টোন এজেন্ট অন্য নোডে লগ করে এবং একটি শাটডাউন কমান্ড, যেমন ssh root@node2 "shutdown -h now"বা সমতুল্য কিছু জারি করে ।

এখন, আপনি নোডগুলির মধ্যে ক্লাস্টার যোগাযোগ কেটে দিলে কী ঘটে? নোডগুলি প্রতিটি নোডকে আর জীবিত এবং ভাল হিসাবে দেখতে পাবে না কারণ তাদের মধ্যে আর কোনও যোগাযোগ নেই। সুতরাং প্রতিটি নোড ধরে নেয় এটি কিছু দুর্ভাগ্যজনক ইভেন্টের একমাত্র জীবিত এবং সক্রিয় বা প্রাথমিক নোড হওয়ার (বা থাকা) চেষ্টা করে। এটি ক্লাসিক এবং ভয়ঙ্কর বিভক্ত-মস্তিষ্কের দৃশ্য

এর একটি অংশ এটি নিশ্চিত করা যে অন্যটি স্পষ্টত এবং সম্ভবত ব্যর্থ নোডটি ভালের জন্য নিচে রয়েছে, যেখানে স্টোনটিথ আসে mind মনে রাখবেন যে উভয় নোড এখন একই খেলা খেলছে: সক্রিয় হওয়ার চেষ্টা করছে (বা থাকা) সচল এবং গ্রহণ সমস্ত গুচ্ছ সংস্থান উপর, পাশাপাশি মাথার মধ্যে অন্যান্য নোড শুটিং।

আপনি সম্ভবত অনুমান করতে পারেন এখন কী ঘটে। node1না ssh root@node2 "shutdown -h now"এবং node2না ssh root@node1 "shutdown -h now"। এটি ক্লাস্টার যোগাযোগ নেটওয়ার্ক 10.10.10.xx ব্যবহার করে না তবে পরিষেবা নেটওয়ার্ক 172.10.10.xx. যেহেতু উভয় নোড বাস্তবে জীবিত এবং ভাল, তাদের কমান্ড জারি করতে বা এসএসএইচ সংযোগ পেতে কোনও সমস্যা নেই, সুতরাং উভয় নোড একই সময়ে একে অপরকে গুলি করে। এটি উভয় নোডকে হত্যা করে।

আপনি যদি স্টোনিট ব্যবহার না করেন তবে স্প্লিট-মস্তিষ্কের আরও খারাপ পরিণতি হতে পারে, বিশেষত ডিআরবিডি-র ক্ষেত্রে, যেখানে আপনি উভয় নোডকে প্রাইমারি হয়ে উঠতে পারেন। ডেটা দুর্নীতি হওয়ার সম্ভাবনা রয়েছে এবং স্প্লিট-মস্তিষ্কটি ম্যানুয়ালি সমাধান করতে হবে।

আমি http://www.hastexo.com/resources/hints-and-kinks এ উপাদানটি পড়ার পরামর্শ দিচ্ছি যা এই ছেলেরা লিখেছেন এবং রক্ষণাবেক্ষণ করেছেন যারা অবদান রেখেছেন (এবং এখনও অবদান রাখছেন) আমরা আজকে "লিনাক্স এইচএ" বলি গাদা "।

টিএল; ডিআর : আপনার বেড়া সেটআপ পরীক্ষা করার জন্য যদি আপনি আপনার নোডগুলির মধ্যে ক্লাস্টার যোগাযোগ কাটাচ্ছেন তবে আপনি এটি ভুল করছেন । ব্যবহার করুন killall -9 corosync, crm node fenceবা stonith_admin -Fপরিবর্তে। ক্লাস্টার যোগাযোগের কাটিংটি কেবল একটি বিভক্ত-মস্তিষ্কের দৃশ্যে পরিণত হবে, যা ডেটা দুর্নীতিতে ডেকে আনতে এবং হতে পারে।


2

আপনি auto_tie_breaker: 1/etc/corosync/corosync.conf এর কোরাম বিভাগে যুক্ত করার চেষ্টা করতে পারেন

যখন এটিবি সক্ষম হয়, ক্লাস্টারটি একই সময়ে একটি নির্জনবাদী ফ্যাশনগুলিতে 50% পর্যন্ত নোড ব্যর্থ হতে পারে। ক্লাস্টার পার্টিশন, বা নোডের সেট যা এখনও নোডের সাথে যোগাযোগের মধ্যে রয়েছে যা সর্বনিম্ন নোডয়েড রয়েছে কোয়ারেট থাকবে। অন্যান্য নোডগুলি জিজ্ঞাসাবাদ করা হবে।


0

পেসমেকার ডকুমেন্টেশনের কোরাম এবং দ্বি-নোড ক্লাস্টার অধ্যায়টি পড়ার চেষ্টা করুন ।


ভাবছেন আপনার অর্থ 'নো-কোরামিয়াম-নীতি = উপেক্ষা করুন' জিনিস thing আমি ইতিমধ্যে এটি সেট করেছি (আমার প্রথম পোস্টও সম্পাদিত)। আমাকে এখানে সাহায্য করে না। আপনি কি এটিতে আরও সূক্ষ্ম বক্তব্য রাখতে পারেন?
এমমোর

ঠিক আছে, ডকুমেন্টেশনটি পরামর্শ দিয়েছে যে ক্লাস্টারে কোরামের সমস্যা থাকলে পেসমেকার কিছু নির্দিষ্ট বার্তা লগ করবে। আপনি কি আপনার লগে দেখতে পাচ্ছেন? কি crm_monদেখায়?
লারস্ক করে

আমি sth খুঁজে পাচ্ছি না। লগগুলিতে আকর্ষণীয়। আমি তথ্য সহ আমার প্রথম পোস্ট সম্পাদনা করেছি crm_mon -1
এমমোর

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.