আমি কীভাবে / dev / sd ডিভাইসগুলিকে তাদের প্রতিনিধিত্ব করে সেই হার্ডওয়্যারের সাথে সম্পর্কিত করতে পারি?


35

একটি ড্রাইভ ব্যর্থ হতে শুরু করেছে এবং আমি কেবলমাত্র তার /dev/sdbডিভাইস ফাইলের উপাধি দ্বারা ডিভাইসটি জানি । শারীরিকভাবে কোন ড্রাইভটি প্রতিস্থাপন করতে হবে তা জানতে আমি কোনও ডিভাইস ফাইলটিকে একটি আসল হার্ডওয়্যার ডিভাইসের সাথে সম্পর্কিত করতে ব্যবহার করতে পারি?

বোনাস:/dev/disk/ এই ইনস্টলেশনটিতে আমার এবং এর উপ ডিরেক্টরিগুলি না থাকলে কী হবে ? (যা, দুঃখের বিষয়, আমি না)


কোন RAID নিয়ামক?
ইয়েওয়াইট

@ নতুন এই প্রশ্নটির উদ্দেশ্যে নয়, না no =)
ওয়েসলি

BTW। আপনার যদি /dev/disk/ডিরেক্টরি না থাকে তবে আপনার সম্ভবত ইউদেব নেই।
উলরিচ ড্যাঙ্গেল

@ অলিরিচডাঙ্গেল খুব পর্যবেক্ষণকারী কারন ... আমার ওদেব নেই = (
ওয়েসলি

উত্তর:


21

আপনি দেখতে পারেন /sys/block:

-bash-3.2$ ls -ld /sys/block/sd*/device
lrwxrwxrwx 1 root root 0 Jun  8 21:09 /sys/block/sda/device -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0
lrwxrwxrwx 1 root root 0 Jun  8 21:10 /sys/block/sdb/device -> ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0
lrwxrwxrwx 1 root root 0 Jun  8 21:10 /sys/block/sdc/device -> ../../devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0
lrwxrwxrwx 1 root root 0 Jun  8 21:10 /sys/block/sdd/device -> ../../devices/pci0000:00/0000:00:1f.2/host3/target3:0:0/3:0:0:0

বা আপনার যদি না থাকে তবে আপনি এটি /sysদেখতে পারেন /proc/scsi/scsi:

-bash-3.2$ cat /proc/scsi/scsi 
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST31000340AS     Rev: SD1A
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST31000340AS     Rev: SD1A
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST31000340AS     Rev: SD1A
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi3 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST31000340AS     Rev: SD1A
  Type:   Direct-Access                    ANSI SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: PepperC  Model: Virtual Disc 1   Rev: 0.01
  Type:   CD-ROM                           ANSI SCSI revision: 03

দুর্দান্ত, আমার কাছে প্রচুর দুর্দান্ত তথ্য রয়েছে /sys/(পাশাপাশি /proc/)। এখনও এটি গ্রাস করে।
ওয়েসলে

এছাড়াও, / দেব / ডিস্ক / বাই-পাথ একবার দেখুন (ধরে নিবেন যে আপনার উদেব সমর্থন করে)। অবশ্যই,
ওপিগুলি

14
hdparm -i /dev/sdb

এটি আপনাকে ড্রাইভের মডেল এবং ক্রমিক নম্বর দেবে।


এটি বেশিরভাগ পরিস্থিতিতে কাজ করবে, আমি বিশ্বাস করি। তবে কোনও কারণে এই সার্ভারের নিয়ামক স্কেচি। এই আদেশটি সম্পাদন করা আমাকে এই উপার্জন করে:HDIO_GET_IDENTITY failed: Invalid argument
ওয়েসলি

1
smartctl -iচেষ্টা করাও মূল্যবান। এসসিএসআই ড্রাইভে কাজ করে, যেখানে এইচডিপিআরএম প্রায়শই হয় না।
ডারোবার্ট

ইউএসবি ড্রাইসের সাথে কাজ করে না
ম্যাডস

12

তাঁর এই উত্তরে অবিশ্বাস্য গিলস যেমন উল্লেখ করেছেন , আপনার কর্নেল যদি ব্যবহার করে udevআপনি udevadmকোনও ডিভাইস জিজ্ঞাসাবাদ করতে কমান্ডটি ব্যবহার করতে পারেন :

udevadm info -n /dev/sda -a

(দুঃখের বিষয়, কিছু ক্ষেত্রে [আমার পক্ষে দ্বিগুণ দুঃখের বিষয় এটি সত্য যে] উদেব ব্যবহার হয় না এবং / অথবা উদেবম পাওয়া যায় না))


8

আপনি যদি ড্রাইভে এলইডি দেখতে পান বা ডিস্কের শব্দ শুনতে পান তবে আপনি চালাতে পারেন

sudo cat /dev/sdb >/dev/null

এবং দেখুন যে ড্রাইভ হঠাৎ অবিচ্ছিন্নভাবে সক্রিয় হয়ে উঠেছে। বা আপনি যদি শব্দ করে যাচ্ছেন,

sudo find /mount/point >/dev/null

যা মাথাগুলিকে আরও সরবে (ব্যর্থ ডিস্কে এটি না করাই ভাল এবং এর পরিবর্তে অন্যান্য ডিস্কগুলির সাথে বিলোপ প্রক্রিয়া ব্যবহার করা))


2
আমি কীভাবে লাইটকে জ্বলজ্বলে-ঝলকানো পেতে পারি তা বিবেচনা করেছি , তাই এটি আমার সেই কৌতূহলের একটি উত্তর। =)
ওয়েসলি

1
কিছু ড্রাইভের জন্য এটির জন্য অতিরিক্ত এলইডি রয়েছে তবে এগুলি সাধারণত এন্টারপ্রাইজ গ্রেড ড্রাইভে পাওয়া যায় (তুলনামূলকভাবে স্বল্প ক্ষমতাতে উদ্ভট ব্যয়বহুল পড়ুন)। এই এলইডিগুলির কীভাবে কাজ করবেন তা জানেন না, তবে ddকৌশলটি সাধারণত যথেষ্ট ভালভাবে কাজ করে।
জিপ্পি

@ ওয়েসলি ডেভিড এমনকি কোনও এলইডি না থাকলেও শোরগোল শুনতে পারা শেষ উপায় হতে পারে। ddএখানে ( বা বেশিরভাগ পরিস্থিতিতে ) ব্যবহার করার দরকার নেই catবা ফাইল থেকে পড়া অন্য কোনও প্রোগ্রাম এটি করবে reads
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

4

এটি লিনাক্স বলে ধরে নিলে, সর্বাধিক স্পষ্টতই ডেমসগ পরীক্ষা করা হবে যেখানে কার্নেল প্রথমে ডিভাইসটি আরম্ভ করে। এটি ড্রাইভের মডেলটি লগ করে।


পরীক্ষা করে দেখুন unix.stackexchange.com/questions/39886/... আরো বিস্তারিত জানার জন্য।
জিপ্পি

হ্যাঁ, এটি লিনাক্স। বিশেষত দেবিয়ান ৪। আমি ডেমেসগ পরীক্ষা করে দেখেছি, তবে কোনও ড্রাইভের মডেলের কোনও উল্লেখ অদ্ভুতভাবে দেখিনি। সম্ভবত আমি এটি ভুলভাবে পড়ছি।
ওয়েসলে

4

আমার 4 টি পদ্ধতি রয়েছে। প্রথমটি সবচেয়ে সহজ:

dmesg | egrep "sd[a-z]"

অন্যদের জন্য, আমি নিশ্চিত নই যে এগুলি ব্যতীত তাদের / ডেভ / ডিস্কের প্রয়োজন আছে কিনা:

ls -lF /dev/disk/by-uuid

অন্যরা:

blkid -o list -c /dev/null

এবং সুস্পষ্ট:

fdisk -l

3

এসসিএসআই ডিভাইসের নামটি জানার জন্য আমি এখানে কিছু উপায় জানি

  • dmesg | egrep "sd[a-z]"
  • lsblk --scsi (প্যাকেজ ইউজ-লিনাক্স> = v2.22 থেকে)
  • lshw -C disk
  • ls -ld /sys/block/sd*/device
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.