ফ্রিবিএসডি চালিত সুপারমিক্রো সার্ভারে ডিস্কগুলি সনাক্ত করুন


8

আমি একটি জেডপুলে 6 ডিস্ক সহ একটি সুপার মাইক্রো 2 ইউ সার্ভারে চলছে running আমি ফ্রিবিএসডি-তে একটি সরঞ্জাম থেকে কমান্ড চালানো থেকে ড্রাইভ ক্যারিয়ার এলইডি ব্যবহার করে প্রতিটি ড্রাইভ উপসাগর সনাক্ত করতে চাই। এই কাজ করতে একটি উপায় আছে কি?

আমি জানি যদি ড্রাইডগুলি কোনও রাইড কার্ডের উপরে চলছিল তবে আমি প্রতিটি ডিস্ক সনাক্ত করতে রাইড কার্ড ইউটিলিটিটি ব্যবহার করতে পারতাম তবে আমার ক্ষেত্রে কোনও হার্ডওয়্যার রাইড নেই।

ফ্রিবিএসডি বা লিনাক্সে এটি করার কোনও সরঞ্জাম আছে কি?

উত্তর:


3

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

    NAME                        STATE     READ WRITE CKSUM
    vol1                        ONLINE       0     0     0
      mirror-0                  ONLINE       0     0     0
        c10t50000393482B340Cd0  ONLINE       0     0     0
        c10t50000393482B4CF0d0  ONLINE       0     0     0
      mirror-1                  ONLINE       0     0     0
        c10t50000393482B4DB4d0  ONLINE       0     0     0
        c10t50000393482BAB48d0  ONLINE       0     0     0
      mirror-2                  ONLINE       0     0     0
        c10t50000393482BDA68d0  ONLINE       0     0     0
        c10t500003935803910Cd0  ONLINE       0     0     0

এখানে চিত্র বর্ণনা লিখুন

এটি কাজ করার জন্য বেশ কয়েকটি বিকল্প রয়েছে। একটি হ'ল বাণিজ্যিক সান্টুল স্মার্টমন ইউটিলিটি যা ই এম এবং ইন্টিগ্রেটারদের জন্য উপলভ্য। এটি বহিরাগত জেবিওডি ইউনিটগুলিতে এসসিএসআই এনক্লোজার সার্ভিসেস (এসইএস) বৈশিষ্ট্যগুলি উপকৃত করে , তবে অভ্যন্তরীণ ডিস্কগুলির জন্যও কিছু জাদু রয়েছে।

আপনি যে নিয়ামকটি ব্যবহার করছেন তার উপর নির্ভর করে আপনার কাছে একটি বিকল্প থাকতে পারে। আপনি কি কেবল একটি মাদারবোর্ড নিয়ন্ত্রক বা উদ্দেশ্য-নির্মিত নন-রেড এসএএস এইচবিএ ব্যবহার করছেন?


দ্রষ্টব্য: cXtYdZ স্বরলিপিটি কেবল সোলারিস। বেশিরভাগ লিনাক্স ডিস্ট্রোজে ডাব্লুডাব্লুএন-এর নাম থেকে /dev/sdXশৈলীর নামের সাথে সিমলিংকযুক্ত / dev / ডিস্ক / বাই-আইডি / ডিরেক্টরি থাকে । কোনও ধারণা নেই, যদি ফ্রিবিএসডি এর মতো কিছু থাকে।
দি ওয়াবিট

আমি আপাতত সটা ড্রাইভ ব্যবহার করায় মাদারবোর্ড ব্যবহার করছি। অদূর ভবিষ্যতে এসএএস-এ স্থানান্তরিত হতে পারে। আমি ঠিক আপনি প্রস্তাব যা ঠিক যা স্টিকার সঙ্গে উপসাগর লেবেল করছে তা করার বিবেচনা ছিল। একটি ডেডিকেটেড নন-রেড এসএএসএইচবিএ-তে স্যুইচ করার মতো শব্দগুলি দীর্ঘমেয়াদে যাওয়ার উপায়। * নিক্সের সিএলআই এপিআইয়ের সাথে একজন কেকের উপরে আইসিংটি রাখবে;)
টিমোথি সি। কুইন

9

দরিদ্র লোকটির ডিস্কগুলি সনাক্ত করার উপায় হ'ল একটি ইস্যু করা dd if=/dev/daX of=/dev/nullএবং দেখুন যে কোন ডিস্কের ক্রিয়াকলাপটি এলইডি সবচেয়ে দ্রুত জ্বলজ্বল করছে। এটি অবশ্যই সিস্টেমের অন্যান্য ডিস্কের জন্য কম ক্রিয়াকলাপের প্রয়োজন, তবে এটি খুব জেনেরিক ic

আপনার যদি (এলএসআই) এসএএস কন্ট্রোলার থাকে যা এর সাথে কাজ করে sas2ircuতবে আপনি এটি উপলভ্য ড্রাইভ এবং তাদের সিরিয়ালগুলি তালিকাভুক্ত করতে "ডিসপ্লে" কমান্ড জারি করতে এবং পরে ঘেরের আলো জ্বলতে "LOCATE" কমান্ডটি চালাতে পারেন।


"কম ক্রিয়াকলাপ" এর পরিবর্তে ডিস্কটি আনমাউন্ট করে এবং টহল সংক্রান্ত কাজ বন্ধ করে সমস্ত আই / ওকে আরও ভালভাবে থামিয়ে দিন।
রোমান

1
এফটিডব্লিউ! ধন্যবাদ, আপনি আমাকে বাঁচিয়েছেন ঘটনাচক্রে, আমি একটি আইটি ফ্ল্যাট করা এলএসআই এইচবিএকে একটি একক মিনি-সাস সহ একটি সুপার মাইক্রো 12 বে বে ব্যাকপ্লেনের সাথে ফ্ল্যাশ করেছি। সুপার মাইক্রো মবোতে চলছে, e3-1230v3, 32gb ইসিসি। সর্বশেষতম ফ্রিএনএএস 9.3 চলছে। সাধারণ ক্রিয়াকলাপের সাথে নীল ক্রিয়াকলাপটি এলইডি ছেড়ে লোকেট কমান্ড লাল (ত্রুটি) এলইডি ফ্লাশ করেছে। ডিসপ্লে কমান্ড কৌতূহলীভাবে দেখায় যে এলএসআই নিয়ন্ত্রক # 0 তবে ঘেরটি # 2 হিসাবে প্রদর্শিত হবে (সম্ভবত মবো সাতা 2 এবং সাটা 3 নিয়ামকরা # 0 এবং # 1, তবে এটি অনুমান)।
Therealstubot

4

আমি জানি এটি একটি পুরানো প্রশ্ন, তবে এটি আমার একসাথে করা কয়েকটি টুকরো আমাকে দিয়েছিল, এবং আমি ভেবেছিলাম যে স্ক্রিপ্টটি আমি সামনে এনেছি তা পুনরায় গুলি করব, যেহেতু এটি আমার পরিস্থিতির সাথে প্রায় সঠিক মিল: এটি sas2ircu প্রয়োজন : http://www.avagotech.com/docs-and-downloads/host-bus-adapters/host-bus-adapters-common-files/sas_sata_6g_p20/SAS2IRCU_P20.zip এবং বন্দর থেকে, ব্যাশ এবং এসজি 3_উটিলেটস

এটি কয়েকটি অনুমান করে, আমার মনে হয় যে প্রধানটি হ'ল এটি নিয়ামক 0 এর সাথে সংযুক্ত you আপনি sas2ircu listনিজের কন্ট্রোলার নম্বর সনাক্ত করতে ব্যবহার করতে পারেন ।

এটি নির্বাচিত পুলটি পরীক্ষা করবে (zpool স্থিতির মাধ্যমে)। যদি কোনও ত্রুটি না থাকে তবে এটি হবে:

  • ঘের স্লটগুলিতে ডিভাইসের নামের ম্যাপিংয়ের সাহায্যে একটি ফাইল (/root/.sas2ircu/drives এ) সংরক্ষণ করুন
  • এই স্ক্রিপ্ট দ্বারা পূর্বে সক্রিয় কোন নেতৃত্ব বন্ধ করুন (এটি /root/.sas2ircu/locs এ সঞ্চিত)

ত্রুটি থাকলে এটি হবে:

  • zpool স্থিতির সম্পূর্ণ আউটপুট সহ একটি ইমেল প্রেরণ করুন
  • কোনও ব্যর্থ ড্রাইভের নেতৃত্ব সক্রিয় করুন (এবং অবস্থানগুলি /root/.sas2ircu লোকগুলিতে সক্রিয় করুন যাতে তারা পরে নিষ্ক্রিয় করা যায়)

যাইহোক এখানে স্ক্রিপ্ট। আমি এটি একটি ঘন্টা হিসাবে ক্রোন কাজ হিসাবে চালানো।

#! /usr/local/bin/bash
if [ ! "$1" ]; then
  echo "Usage: zpscan.sh pool [email]"
  echo "Scan a pool, send email notification and activate leds of failed drives"
  exit
fi
if [ ! -d /root/.sas2ircu ]; then
  mkdir /root/.sas2ircu
  touch /root/.sas2ircu/drives
  touch /root/.sas2ircu/locs
fi
if [ "$2" ]; then
  email="$2"
else
  email="root"
fi
condition=$(/sbin/zpool status $1 | egrep -i '(DEGRADED|FAULTED|OFFLINE|UNAVAIL|REMOVED|FAIL|DESTROYED|corrupt|cannot|unrecover)')
if [ "${condition}" ]; then
  emailSubject="`hostname` - ZFS pool - HEALTH fault"
  mailbody=$(zpool status $1)
  echo "Sending email notification of degraded zpool $1"
  echo "$mailbody" | mail -s "Degraded Zpool $1 on hostname" $email
  drivelist=$(zpool status $1 | grep -E "(DEGRADED|FAULTED|OFFLINE|UNAVAIL|REMOVED|FAIL|DESTROYED)" | grep -vE "^\W+($1|NAME|mirror|logs|spares)" | sed -E $'s/.*was \/dev\/([0-9a-z]+)/\\1/;s/^[\t  ]+([0-9a-z]+)[\t ]+.*$/\\1/')
  echo "Locating failed drives."
  for drive in $drivelist;
  do
  record=$(grep -E "^$drive" /root/.sas2ircu/drives)
  location=$(echo $record | cut -f 3 -d " ")
  echo Locating: $record
  sas2ircu 0 locate $location ON
  if [ ! "$(egrep $location /root/.sas2ircu/locs)" ]; then
  echo $location >> /root/.sas2ircu/locs
  fi
  done
else
  echo "Saving drive list."
  drivelist=$(zpool status $1 | grep -E $'^\t  ' | grep -vE "^\W+($1|NAME|mirror|logs|spares)" | sed -E $'s/^[\t ]+//;s/([a-z0-9]+).*/\\1/')
  saslist=$(sas2ircu 0 display)
  printf "" > /root/.sas2ircu/drives
  for drive in $drivelist;
  do
  sasaddr=$(sg_vpd -i -q $drive 2>/dev/null | sed -E '2!d;s/,.*//;s/  0x//;s/([0-9a-f]{7})([0-9a-f])([0-9a-f]{4})([0-9a-f]{4})/\1-\2-\3-\4/')
  encaddr=$(echo "$saslist" | grep $sasaddr -B 2 | sed -E 'N;s/^.*: ([0-9]+)\n.*: ([0-9]+)/\1:\2/')
  echo $drive $sasaddr $encaddr >> /root/.sas2ircu/drives
  done

  for loc in $(cat /root/.sas2ircu/locs);
  do
  sas2ircu 0 locate $loc OFF
  done
  printf "" > /root/.sas2ircu/locs
fi

  for loc in $(cat /root/.sas2ircu/locs);
  do
  sas2ircu 0 locate $loc OFF
  done
  printf "" > /root/.sas2ircu/locs
fi

3

আমি ফ্রিবিএসডি সম্পর্কে জানি না, তবে লিনাক্সে, ইন্টেল থেকে কলযুক্ত একটি সফ্টওয়্যার সংগ্রহ রয়েছে ledmon(8)এবং আমি ledctl(8)আমার সুপারমিক্রো এসসি 847E26-আরজেবিডি 1-র একটি নির্দিষ্ট ড্রাইভে "চিহ্নিত" এলইডি ফ্ল্যাশ করতে ব্যবহারকারীর প্রোগ্রামটি ব্যবহার করেছি যা ড্রাইভগুলি নিয়ন্ত্রণ করে have একটি এলএসআই SAS3008 এইচবিএ (মেগ্রেইড নয়):

$ sudo ledctl locate=/dev/sdce

তারপরে আমি এটি সনাক্ত করার পরে, আমি "চিহ্নিত" এলইডিটি বন্ধ করে দিয়েছি:

$ sudo ledctl locate_off=/dev/sdce

sgpio(1) এইচবিএ এবং ব্যাক প্লেনের মধ্যে যোগাযোগের জন্য প্রয়োজনীয়।


2

আমি জানি এটি একটি পুরানো প্রশ্ন তবে ফ্রিবিএসডি> = 10.3 এ অনুসন্ধানকারীদের জন্য, আপনি sesutil locate da2 onda2 এর এলইডি চালু করতে ব্যবহার করতে পারেন তবে এটি কোনও দেবতা / sesN ডিভাইস সরবরাহকারী কোনও ঘেরে থাকে provided


1

ড্রাইভ ক্যারিয়ার এলইডি আলোকিত করার জন্য কোনও স্ট্যান্ডার্ডাইজড অ্যাবস্ট্রাক্ট সফ্টওয়্যার ইন্টারফেস নেই (ক্রিয়াকলাপ এলইডি নয়) - এটি অত্যন্ত-হার্ডওয়্যার নির্ভর। এর অর্থ হ'ল নিয়ন্ত্রকের কাছে উপযুক্ত কমান্ডগুলি প্রেরণের জন্য আপনার এখনও স্টোরেজ নিয়ন্ত্রক সরঞ্জামগুলি (যে রাইড কার্ড ইউটিলিটিগুলির কথা বলছেন) প্রয়োজন need এই সফ্টওয়্যারটিকে কীভাবে বলা হয় বা প্রয়োগ করা হয় তা অবশ্যই স্টোরেজ নিয়ামকের প্রস্তুতকারক / বিক্রেতার উপর নির্ভর করে।

(আপনার স্থানে এসডব্লিউ রাইড রয়েছে তাতে কিছু আসে যায় না, কারণ আপনার স্পষ্টতই এখনও আপনার ব্যাকপ্লেন, ক্যাডি এবং ড্রাইভের সাথে কথা বলার জন্য একটি স্টোরেজ নিয়ামক প্রয়োজন))

আপনি যদি একটি সস্তা-ও-কন্ট্রোলার সহ এন্টারপ্রাইজ-গ্রেড ড্রাইভ ক্যাডিগুলি ব্যবহার করেন তবে আপনার ভাগ্য হতে পারে।

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