সম্পূর্ণ পুনরায় চালু না করে সিস্টেমে নতুন আইপি ঠিকানা যুক্ত করতে হার্টবিটকে বাধ্য করার কোনও উপায় আছে কি?


8

আমরা উচ্চ উপলব্ধতার জন্য হার্টবিট ব্যবহার করি। আমি হার্টবিট ক্লাস্টারে একটি অতিরিক্ত আইপি ঠিকানা যুক্ত করতে চাই, তবে আমি প্রক্রিয়াটিতে ক্লাস্টারের সম্পূর্ণ পুনরায় আরম্ভ করতে চাই না। আমি কি হৃদস্পন্দনে এমন একটি সংকেত প্রেরণ করতে পারি যা এটি "হারেসোর্সেস" ফাইলটিকে আবার বিশ্লেষণ করতে এবং তার উপর পদক্ষেপের অনুরোধ জানাবে? হার্টবিট-আর ট্রিকটি করতে দেখা যায় না।

উত্তর:


6

সমস্যাটি হ'ল আমি "হার্টবিট -আর" (আপনি "পরিষেবা হার্টবিট পুনরায় লোড" চালানোর সময় init.d স্ক্রিপ্টে সঞ্চালিত কমান্ডটি কার্যকর করার পরে) বেশিক্ষণ অপেক্ষা করিনি) কয়েক মিনিটের পরে, আইপিটি প্রদর্শিত হবে প্রত্যাশা হিসাবে ইন্টারফেস।


হৃৎস্পন্দন এই পরিবর্তনটি নিজেই প্রয়োগ করে? এটি আসলে খুব কম স্তন্যপায়ী ভাগ! আপনি যদি এটি কতক্ষণ সময়
নেন

আমি এই মন্তব্যটি পড়ার পরে বুঝতে পারি যে এটি বরং বিভ্রান্তিকর ছিল; আমি পুরো উত্তরটি নক করলাম এবং এটি আবার লিখেছি।
পিটার গ্রেস

মিমি, এটি আরও বোধগম্য - আপনাকে পুনরায় লোড ট্রিগার করতে হবে, তবে তা তাত্ক্ষণিক নয়। (এবং এটা যা আমাকে সুখী করে তোলে আরো নিয়ন্ত্রণবাদী এর।)
voretaq7

2

আপনার মোটেও হার্টবিট পুনরায় লোড করার দরকার নেই। আপনার হ্যারেসোর্সেস ফাইলে কেবল নতুন আইপিএডিডিআর সংস্থান যুক্ত করুন, এরকম কিছু

IPaddr::xx.xx.xx.xx

এবং তারপরে এটি শুরু করুন

/etc/ha.d/resource.d/IPaddr xx.xx.xx.xx start

অবশ্যই, আপনার সক্রিয় নোডে আইপিএডিডিআর শুরু করার বিষয়টি নিশ্চিত করা উচিত। আপনার এখন স্রেফ যুক্ত হওয়া আইপি ঠিকানায় ট্র্যাফিক প্রেরণ এবং গ্রহণ করতে সক্ষম হওয়া উচিত।


আমি আমার নিজের উত্তরটিকে যথাযথ হিসাবে গ্রহণ করা বন্ধ করতে যাচ্ছি, যেহেতু আমি যা কাজ করেছি তা সত্ত্বেও আপনার পরামর্শটি যথেষ্ট মার্জিত মনে হচ্ছে। আমি এটি চেষ্টা করে দেখতে চাই, তবে এটি যদি কাজ করে তবে আপভোট এবং স্বীকৃত উত্তরটি আপনারই হবে।
পিটার গ্রেস

ঠিক আছে, এখানে চুক্তি। আমি এটি চেষ্টা করেছি এবং কম দেখছি, এটি কাজ করেছে! সমস্যাটি হ'ল হার্টবিট পুনরায় লোড না করে এটি করা ক্লাস্টারটিকে বেমানান অবস্থায় ফেলে রাখবে। আমি উত্সটি যাচাই করেছিলাম এবং কেবলমাত্র তিনটি জায়গা যেখানে হার্টবিট হ্রেসোর্সেস ফাইলটি পুনরায় প্রতিস্থাপন করে এবং অনুরোধ পুনরায় আরম্ভ করার সময় এই তিনটি শর্তই are যেমন, যদি কোনও ক্লাস্টার ব্যর্থতা এবং ব্যর্থব্যবস্থা হয় তবে আপনি যে আইপিটি হ্যারোসোর্সেসে রেখেছিলেন এবং আইপ্যাড্ডার <x> শুরু দিয়ে ম্যানুয়ালি ইনস্ট্যান্ট করেছেন, ফেলিওভারটিতে পুনরায় তৈরি করা হবে না। আমাকে ভুল প্রমাণ করতে নির্দ্বিধায়, তবে মনে হয় এই পদ্ধতিটি নির্ভর করা বিপজ্জনক।
পিটার গ্রেস

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

0

হিয়ারবিট কেবলমাত্র মাধ্যমিক মেশিনে পুনরায় চালু করতে হবে, সুতরাং উত্স ব্যবস্থাপনার সাথে সম্পর্কিত কোনও ডাউনটাইম এড়ানো উচিত।

এই ক্ষেত্রে, প্রাথমিক নোডটি সনাক্ত করে যে স্লেভ মেশিনটি 'মৃত' এবং একটি 'ব্যর্থতা' জোর করে যা সংস্থানগুলি ফাইল পুনরায় লোড করে এবং নিখোঁজ সংস্থানগুলি শুরু করে start

লগগুলি এটি করার সময় বেশ স্পষ্ট হয়:

May  9 12:10:40 gw2 heartbeat: [3684]: info: Received shutdown notice from 'gw1'.
May  9 12:10:40 gw2 heartbeat: [3684]: info: Resources being acquired from gw1.
May  9 12:10:40 gw2 heartbeat: [26469]: debug: notify_world: setting SIGCHLD Handler to SIG_DFL
May  9 12:10:40 gw2 harc[26469]: info: Running /etc/ha.d//rc.d/status status
May  9 12:10:40 gw2 mach_down[26521]: info: /usr/share/heartbeat/mach_down: nice_failback: foreign resources acquired
May  9 12:10:40 gw2 mach_down[26521]: info: mach_down takeover complete for node gw1.
May  9 12:10:40 gw2 heartbeat: [3684]: info: mach_down takeover complete.
May  9 12:10:40 gw2 heartbeat: [3684]: debug: StartNextRemoteRscReq(): child count 1
May  9 12:10:40 gw2 IPaddr2[26520]: INFO:  Running OK
May  9 12:10:40 gw2 IPaddr2[26640]: INFO:  Running OK
May  9 12:10:40 gw2 IPaddr2[26725]: INFO:  Running OK
May  9 12:10:40 gw2 IPaddr2[26805]: INFO:  Running OK
May  9 12:10:40 gw2 IPaddr2[26890]: INFO:  Resource is stopped
May  9 12:10:40 gw2 heartbeat: [26470]: info: Local Resource acquisition completed.
May  9 12:10:40 gw2 heartbeat: [3684]: debug: StartNextRemoteRscReq(): child count 1
May  9 12:10:40 gw2 heartbeat: [26953]: debug: notify_world: setting SIGCHLD Handler to SIG_DFL
May  9 12:10:40 gw2 harc[26953]: info: Running /etc/ha.d//rc.d/ip-request-resp ip-request-resp
May  9 12:10:40 gw2 ip-request-resp[26953]: received ip-request-resp IPaddr2::1.2.3.4 OK yes
May  9 12:10:40 gw2 ResourceManager[26976]: info: Acquiring resource group: gw2 IPaddr2::1.2.3.4
May  9 12:10:40 gw2 IPaddr2[27006]: INFO:  Resource is stopped
May  9 12:10:40 gw2 ResourceManager[26976]: info: Running /etc/ha.d/resource.d/IPaddr2 1.2.3.4 start
May  9 12:10:40 gw2 IPaddr2[27115]: INFO: ip -f inet addr add 1.2.3.4/24 brd 1.2.3.255 dev brwan
May  9 12:10:40 gw2 IPaddr2[27115]: INFO: ip link set brwan up
May  9 12:10:40 gw2 IPaddr2[27115]: INFO: /usr/lib/heartbeat/send_arp -i 200 -r 5 -p /var/run/resource-agents/send_arp-1.2.3.4 brwan 1.2.3.4 auto not_used not_used
May  9 12:10:40 gw2 IPaddr2[27091]: INFO:  Success

May  9 12:10:47 gw2 heartbeat: [3684]: WARN: node gw1: is dead
May  9 12:10:47 gw2 heartbeat: [3684]: info: Dead node gw1 gave up resources.
May  9 12:10:47 gw2 heartbeat: [3684]: info: Link gw1:eth0 dead.

May  9 12:10:59 gw2 heartbeat: [3684]: info: Heartbeat restart on node gw1
May  9 12:10:59 gw2 heartbeat: [3684]: info: Link gw1:eth0 up.
May  9 12:10:59 gw2 heartbeat: [3684]: info: Status update for node gw1: status init
May  9 12:10:59 gw2 heartbeat: [3684]: info: Status update for node gw1: status up
May  9 12:10:59 gw2 heartbeat: [3684]: debug: StartNextRemoteRscReq(): child count 1
May  9 12:10:59 gw2 heartbeat: [28604]: debug: notify_world: setting SIGCHLD Handler to SIG_DFL
May  9 12:10:59 gw2 heartbeat: [3684]: debug: get_delnodelist: delnodelist= 
May  9 12:10:59 gw2 harc[28604]: info: Running /etc/ha.d//rc.d/status status
May  9 12:10:59 gw2 heartbeat: [3684]: info: Status update for node gw1: status active
May  9 12:10:59 gw2 heartbeat: [3684]: debug: StartNextRemoteRscReq(): child count 1
May  9 12:10:59 gw2 heartbeat: [28619]: debug: notify_world: setting SIGCHLD Handler to SIG_DFL
May  9 12:10:59 gw2 harc[28619]: info: Running /etc/ha.d//rc.d/status status
May  9 12:10:59 gw2 heartbeat: [28634]: debug: notify_world: setting SIGCHLD Handler to SIG_DFL
May  9 12:10:59 gw2 harc[28634]: info: Running /etc/ha.d//rc.d/status status
May  9 12:11:00 gw2 heartbeat: [3684]: info: remote resource transition completed.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.