আমি কীভাবে শত শত আইপিএমআই বিএমসি পরিচালনা করতে পারি?


30

আমার 200 টিরও বেশি কম্পিউটার রয়েছে যা আইপিএমআই পরিষেবা সরবরাহ করতে পারে । সার্ভারগুলি বেশ কয়েকটি পৃথক সংস্থা (সুপার মাইক্রো, ডেল ইত্যাদি) দ্বারা উত্পাদিত হয় এবং প্রায় ৫ টি বিভিন্ন বিক্রেতার কাছ থেকে 6--7 বিএমসি মডেল রয়েছে এবং প্রতিটি মডেলের নিজস্ব আইডিয়োসিঙ্ক্রিজি রয়েছে।

এখনও অবধি আমরা ডিএইচসিপি সমন্বিত এবং প্রতিটি বিএমসিকে ম্যানুয়ালি কনফিগার করে বিএমসি কনফিগার করেছি। ম্যানুয়াল কনফিগারেশন মত একটি ইউটিলিটি সঙ্গে একটি বুট করার যোগ্য সিডি-রম, BIOS- (যদি সমর্থিত) থেকে কনফিগারেশন ব্যবহার করা হতে পারে, হোস্ট অপারেটিং সিস্টেম থেকে ipmitool- র , freeipmi ইত্যাদি, অথবা দূর থেকে ipmitool- র ব্যবহার করা হয় তবে আমরা নেটওয়ার্ক ঠিকানা নির্ধারণ করতে পারেন যন্ত্র.

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

এমন কোন ইউটিলিটিস রয়েছে যা আমাকে কয়েক ডজন বাক্সে বিএমসিকে ব্যাপকভাবে কনফিগার করতে দেয়? বলুন যে আমি কয়েক ডজন বিভিন্ন বিএমসির একটি প্যারামিটারটি জিজ্ঞাসা করতে চাই, বা পাসওয়ার্ড পরিবর্তন করতে, ওয়েবইউআইতে এইচটিটিপি অ্যাক্সেস অক্ষম করতে বা কুখ্যাত সাইফার শূন্য সুরক্ষা গর্তটি অক্ষম করে দিতে চাই ।

কোনও ইউটিলিটির জন্য বোনাস পয়েন্টগুলি যা আমাকে বিএমসি ফার্মওয়্যার আপডেট করতে দেয়, যা বেশ কয়েকটি সুরক্ষার দুর্বলতা প্রশমিত করতে প্রয়োজনীয়


3
এটিকে নিশ্চিত মনে হয় আপনি যদি পুতুল / বিভাজনযুক্ত হন তবে আপনি কিছু করতে পেরেছিলেন। আপনি এই ব্যবহার facter সনাক্ত করতে, অথবা mcollective সঙ্গে কমান্ড ধাক্কা দিয়ে, তাহলে আপনি পুতুল ব্যবহার জিনিষ কনফিগার ডিভাইস আপনার আছে কোন ধরনের সম্ভবত কিছু কাস্টম ঘটনা সঙ্গে।
জোরডাচে

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

পুতুল রেজার একটি সমাধানও হতে পারে, যদিও আমি এখনও এটি খতিয়ে দেখিনি
স্টিফান লাসিউস্কি

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

উত্তর:


16

আমি সম্ভবত ব্যবহার করতে চাই Ansible । এটি একটি খুব সাধারণ কনফিগারেশন ম্যানেজমেন্ট / অর্কেস্ট্রেশন ইঞ্জিন যা পুতুলের তুলনায় শুরু করার চেয়ে সহজ (পপেট এটির জন্য আমার কাছে যেতে পছন্দ হিসাবে ব্যবহৃত হত, তবে এখনই সর্বদা নয়, উত্তর খুঁজে পেয়েছে) Ans

এখানে উত্তরযোগ্যটির সুবিধা হ'ল এটি সরাসরি এসএসএইচের মাধ্যমে যোগাযোগ করে, সুতরাং আপনি কেবলমাত্র আপনার বিদ্যমান এসএসএইচ শংসাপত্র এবং কর্মপ্রবাহ ব্যবহার শুরু করতে সক্ষম হবেন।

আপনি যদি বর্তমানে ইএমিটুল দিয়ে আপনার বিএমসিকে কনফিগার করছেন তবে আপনি এর মতো কিছু করতে সক্ষম হবেন:

একটি হোস্ট ফাইলটি সংজ্ঞায়িত করুন - এটি উত্তরীয়কে বলে যে কোন হোস্ট বিএমসি গ্রুপে রয়েছে (এই ক্ষেত্রে), এবং কোনটি স্টাফ চালাতে হবে।

[bmc]
192.168.1.100
192.168.1.101
192.168.1.102

এবং এইভাবেই ... আপনি সেই ফাইলটিতে হোস্ট-নেমগুলি ব্যবহার করতে পারেন যতক্ষণ না সেগুলি সমাধানযোগ্য হয়।

তারপরে একটি "প্লেবুক" তৈরি করুন যা হোস্ট-গ্রুপে প্রতিটি হোস্টে চালানোর জন্য আদেশের সেট। আপনি এই জাতীয় শীর্ষ-ডাউন ডিরেক্টরি লেআউটটি রাখতে চান:

ansible/
   playbooks/
      bmc.yml
      roles/
        bmcconfig/
           files/
           handlers/
             main.yml
           tasks/
             main.yml
           templates/
   group_vars/
      all

একটি প্লেবুকের ভূমিকা রয়েছে যা কনফিগারেশনের সামান্য বিভাগ যা আপনি ভেঙে আবার ব্যবহার করতে পারেন।

সুতরাং আমি একটি ফাইল তৈরি করব bmc.yml(সমস্ত উত্তরীয় কনফিগারেশন ওয়াইএএমএল ফাইলগুলিতে রয়েছে)

---
- name: Configure BMC on the hosts
  hosts: bmc
  user: root
  roles: 
    - bmcconfig

তারপরে roles/bmcconfig/tasks/main.ymlআপনি ভিতরে ipmi সাথে যোগাযোগ করতে প্রতিটি হোস্টে চালিত কমান্ডগুলি তালিকাবদ্ধ করতে পারেন।

---
  - name: Install ipmitool
    apt: pkg=ipmitool state=installed
  - name: Run ipmitool config
    shell: ipmitool -your -options -go -here

আপনি যখন প্লেবুক চালাবেন, প্রতিটি ভূমিকার জন্য ansible-playbook -i hosts bmc.ymlতালিকাভুক্ত কমান্ডগুলি হোস্টগ্রুপে tasks/main.ymlপাওয়া প্রতিটি হোস্টের উপরে-ডাউন ক্রমে bmcসম্পাদন করা হবেhosts

group_vars/all একটি আকর্ষণীয় ফাইল, এটি আপনাকে ভেরিয়েবল এবং মানগুলির কী-মান সংযোজনগুলির সংজ্ঞা দিতে দেয় যা আপনার প্লেবুকগুলিতে ব্যবহার করা যেতে পারে।

সুতরাং আপনি যেমন কিছু সংজ্ঞায়িত করতে পারে

ipmitool_password: $512315Adb

আপনার group_vars/allএবং ফলস্বরূপ, আপনি এর মতো কিছু করতে সক্ষম হবেন:

shell: ipmitool -your -options -go -here --password=${ipmitool_password}

প্লেবুকে।

"মডিউলগুলি" কীভাবে ব্যবহার করবেন সে সম্পর্কে আপনি আরও উপায় খুঁজে পেতে পারেন - উত্তরযোগ্য উপাদানগুলি যা আপনাকে স্টাফ করতে দেয়, কীভাবে নিজের লেখার জন্য: ডি এবং আরও উপযুক্ত উত্তরপত্রাদি পৃষ্ঠাগুলিতে


12

আমাদের 1000 টি মেশিনে কমান্ড চালানোর জন্য আমি একটি অজগর যন্ত্র লিখেছি, (এবং তাদের বিএমসি, ড্র্যাকস, ইলো এবং ইমি)

আমি যা করেছি তা হল vsc-পরিচালিত একটি অজগর-কাঠামো লিখতে যেখানে আমি কমান্ডটি চালাতে পারি যা হয় হয় সার্ভারে প্রেরণ করা হয়, বা বিএমসি, এবং কনফিগার করা হয়েছিল যে কোন ধরণের মেশিনে কি কমান্ডের প্রয়োজন।

আমার বেশ কয়েকটি ক্লাস রয়েছে যা এই কমান্ডের মিশ্রণটি একত্রিত করে,

সুতরাং একটি ইমিউনযুক্ত মেশিনগুলির জন্য এটি ইমিটির সাথে প্রবাহিত হবে এবং চালিত হবে power off(প্রত্যাশা-স্ক্রিপ্টের ধরণের পদ্ধতিতে)

আমাদের আইএমবি ব্লেড চ্যাসিসের জন্য এটি চ্যাসিগুলিতে এটি চালিত হবে

power -%(command)s -T system:blade[%(blade)s]

কিছু ডেল ড্রাকের জন্য এটি এটি ওএসে চালিত হবে (মাস্টার নোডের)

idracadm -r %(hostname)s -u root -p '%(password)s' serveraction %(command)s

আমাদের নতুন এইচপি সিস্টেমগুলির জন্য যা ইপমি করে (এবং আমি এই দিনগুলিতে আরও বেশি কিছু দেখতে পাচ্ছি) এটি মাস্টারটিতে এটি চালাবে:

ipmitool -I lanplus -H %(hostname)s -U %(user)s -P '%(password)s' chassis power %(command)s

অথবা আরও নতুন ডেল সিস্টেমগুলির ipmitool -I openজন্য আপনার প্রোটোকলটি কিছুটা খেলতে হতে পারে play

ইপমি স্ট্যান্ডার্ডের অন্তর্ভুক্ত না থাকা সেটিংগুলির জন্য আমি ডিএমটিএফ এসএমএএসএইচ সিএলপি থেকে কিছু জিনিস প্রয়োগ করেছি , উদাহরণস্বরূপ লোকেটারটি চালু করে:

start /system1/led1

আমাদের ল্যাপটপগুলি থেকে চালানো যেতে পারে এমন একটি কমান্ড লাইন সরঞ্জাম, যা ডান মাস্টার নোডের সাথে সংযুক্ত হবে, ডান নোডের জন্য ডান কমান্ড চালাবে, এবং আউটপুটটি ফিরিয়ে দেবে, ত্রুটির অতিরিক্ত তালিকার সাথে যদি থাকে (এর উপর ভিত্তি করে) স্টডার এবং / অথবা এক্সকোডে আউটপুট)

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

এটি প্রাথমিক কনফিগারেশনের জন্য উপযুক্ত নয় (এটির জন্য বিএমসি প্রয়োজন একটি অনন্য আইপি এবং সঠিক গেটওয়ে, তবে আমাদের বিক্রেতাদের আমাদের ডেলিভারি সরবরাহ করতে হবে) তবে এটি অন্য কিছু করতে পারে (হোস্ট অপারেটিংয়ে স্বেচ্ছাসেবক কমান্ডও চালায়) সিস্টেম, এবং স্বয়ংক্রিয়ভাবে আইসিঙ্গা / নাগিওগুলিতে ডাউনটাইম নির্ধারিত করে যখন আপনি কোনও নোড রিবুট করেন, এবং / অথবা একবারে আইসিঙ্গা / নাগিয়োসে 1000 হোস্ট এবং পরিষেবা স্বীকার করেন)

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

হালনাগাদ

যেহেতু কমপক্ষে কিছু লোক আগ্রহী বলে মনে হয়েছিল আমি এটিকে আজ একটি শেষ পোলিশ দিয়েছি এবং এটি https://github.com/hpcugent/vsc-manage এ সর্বাধিক উত্সাহিত হয়েছে

যদিও এটি আমাদের নিজস্ব কর্মপ্রবাহের (কোয়াটার এবং / বা পিবিএস) দিকে খুব লক্ষ্যবস্তু রয়েছে আমি আশা করি এটি অন্তত আকর্ষণীয় হতে পারে।


এর জন্য ধন্যবাদ! আপনার কাজের দ্বারা উত্তরগুলির মতো সমাধান স্থাপনের কি কোনও সুবিধা আছে?
মাইকিবি

আমি এর আগে জবাবদিহের কাছ থেকে কখনও শুনিনি, অবশ্যই এটিকে দেখব।
জেনস টিমারম্যান

যতদূর আমি এটি দেখছি, উত্তরীয়ের এখনও ইমপি এবং ডিএমটিএফ এসএমএএসএইচ-এর সমর্থন নেই।
জেনস টিমারম্যান 14 ই

এটি আকর্ষণীয়, জেনস। এই প্রকল্পটি ভাগ করে নেওয়ার জন্য আপনাকে ধন্যবাদ। উত্তরসূচক + ভিএসসি-পরিচালনা সার্ভারগুলি এবং ম্যাসেজের সাথে ডিল করার ক্ষেত্রে সত্যই কার্যকর দেখায়।
ILIV

আইএলআইভি, আমার মনে হয় আমি যদি ভিএসসি-ম্যানেজ-এর সমস্ত বৈশিষ্ট্যগুলি জবাবদিহির সাথে যুক্ত করতে কিছুটা সময় পেতাম তবে ভাল লাগত ;-)
জেনস

3

আমি আশ্চর্য হয়েছি কেউ এমএএএস ( http://maas.io/ ) এর উল্লেখ করেনি , যা ঠিক আপনি যা খুঁজছেন তা করে। এটি BMC গুলি স্বতঃরূপকরণ এবং পরিচালনা করতে পারে এবং এর সাথে আপনি সিস্টেমে তালিকাভুক্ত নোডগুলিতে কোনও ওএস স্থাপন করতে পারেন। এটিতে একটি ওয়েব ইউআই এবং একটি রেস্টস্টুল এপিআই রয়েছে এবং এটি কোনও অটোমেশন সিস্টেমের সাথে সংহত করার জন্য ডিজাইন করা হয়েছে।

যখন কোনও মেশিন প্রথমবারের মতো PXE-বুট হয়, তখন MAAS আপনার জন্য স্বয়ংক্রিয়ভাবে শংসাপত্রগুলি সেট আপ করতে ইন-ব্যান্ড আইপিএমআই ব্যবহার করে। সেই দিক থেকে, আপনি সহজেই কোনও মেশিন বুট করতে এবং বন্ধ করতে পারেন।

আরও তথ্যের জন্য, এমএএএস বিএমসি পাওয়ার টাইপস ডকুমেন্টেশন পরীক্ষা করুন যা দেখায় যে এমএএএস-এ তালিকাভুক্ত যে কোনও নোডের জন্য কীভাবে বিএমসি কনফিগার করতে হয়।


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

নোট করুন যে ফোরম্যানের v1.1 হিসাবে সংস্থা এবং অবস্থানগুলি রয়েছে ( প্রকল্পগুলি .theforeman.org/projects/foreman/wiki/… দেখুন ) সমর্থন রয়েছে। হোস্টের সংগ্রহ যুক্তিসঙ্গত দানাদার (এমনকি প্যারামিটার বা কী-মান জোড় সমর্থন সহ শ্রেণিবদ্ধ) সরবরাহ করতে আপনি এই বৈশিষ্ট্যগুলি (হোস্টগ্রুপগুলির সাথে) ব্যবহার করতে পারেন।
এমএক্সএমডার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.