Dapatkah saya mendeteksi informasi RAID perangkat keras dari dalam Linux?

15

Ketika saya berada di dalam Linux, saya bisa mendapatkan informasi berikut dari lsblk(drive yang tidak relevan dihapus dari output):

NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda     8:0    0   298G  0 disk 
sdb     8:16   0   2.7T  0 disk

Ketika saya menarik drive secara manual dari server, saya dapat mengetahui bahwa saya secara fisik menggunakan drive berikut:

0  Seagate 320GB
1  Seagate 320GB
2  Hitachi 1TB
3  Hitachi 1TB
4  Hitachi 1TB
5  Hitachi 1TB
6  [empty]
7  [empty]

Karena ada lebih banyak penyimpanan fisik di server daripada ruang yang tersedia di Linux, ini berarti saya jelas menggunakan beberapa bentuk sistem RAID. Dengan sedikit matematika, saya sering dapat mengetahui apa jenis sistem RAID yang digunakan.

Apakah ada cara bagi saya untuk mendeteksi jika saya menggunakan perangkat keras RAID dari dalam Linux , dan mencari tahu semua informasi tentang hal itu (seperti jenis RAID, drive yang tersedia) tanpa mematikan server, secara fisik menarik drive keluar, dan membaca label mereka?

Dapatkah informasi ini dikumpulkan dari dalam Linux, atau apakah titik hardware RAID membuat sistem yang mendasarinya "tidak terlihat" oleh sistem operasi?

IQAndreas
sumber
Itu sepenuhnya tergantung pada pengontrol RAID yang Anda gunakan dan dukungan apa yang dimilikinya di linux. Jika Anda memberikan informasi tentang pengontrol Anda, Anda mungkin menemukan bantuan di sini. Anda juga dapat melakukan pencarian web untuk "model # linux commands" jika Anda tidak mendapatkan informasi yang Anda butuhkan di sini.
Gene
@ Gen Itu sangat disayangkan. Sekali lagi, saya berharap ada solusi yang tidak memerlukan mencari nomor model spesifik, tetapi dapat digunakan terlepas dari perangkat keras apa yang Anda gunakan.
IQAndreas
Perangkat keras yang berbeda melakukan RAID secara berbeda dan memiliki driver yang berbeda. Dalam banyak kasus Anda tidak perlu mematikan sistem Anda, tetapi paling tidak Anda perlu tahu apa model controller atau chipset yang Anda miliki sehingga Anda dapat menemukan perintah untuk meminta controller dari sistem operasi.
Gene
1
Anda biasanya dapat menemukan informasi pengontrol atau chipset melalui dmesg, dmidecode, lspci, dan utilitas serupa lainnya. Jika built-in RAID pada motherboard mengetahui membuat dan model motherboard akan membuat Anda 99% dari perjalanan ke sana.
Gene
1
adds an answer explaining how to figure out which RAID controller is being used from inside of Linux - @IQAndreas tapi itu tidak ada dalam pertanyaan. Jawaban pada serverfault harus menjawab pertanyaan yang diajukan. Jika Anda memiliki pertanyaan yang berbeda, Anda harus mengedit pertanyaan Anda. Pertanyaan itu hampir pasti bisa dijawab sendiri beberapa menit di Google. Pokoknya jawabannya adalah lshw.
Zoredache

Jawaban:

17

Cara mendapatkan informasi RAID akan bergantung sepenuhnya pada pengontrol RAID yang Anda gunakan. Seringkali, produsen akan memiliki alat yang dapat diunduh dari situs web mereka yang dapat digunakan untuk menanyakan pengontrol RAID dan mendapatkan informasi ini.

Untuk menemukan pengontrol RAID yang Anda gunakan, coba salah satu dari perintah berikut:

lspci

# lspci -knn | grep 'RAID bus controller'
08:00.0 RAID bus controller [0104]: 3ware Inc 9690SA SAS/SATA-II RAID PCIe [13c1:1005] (rev 01)

Di sini, informasi yang kami cari adalah "3ware Inc 9690SA SAS / SATA-II RAID PCIe" .

lsscsi

Perintah ini tidak tersedia di Debian dan Ubuntu, tetapi sebuah quick sudo apt-get install lsscsiakan mengambilnya dari repo. Catatan, jika Anda tidak menggunakan pengontrol RAID, pabrikan dan nomor model hard drive Anda akan muncul di sini sebagai gantinya.

# lsscsi
[2:0:0:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sda 
[2:0:1:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sdb 

Di sini kita melihat pabrikannya adalah "AMCC" dan nomor model kartu RAID adalah "9690SA-8I" . Pencarian Google cepat menunjukkan bahwa kartu ini juga dikenal sebagai "AMCC 3Ware 9690SA-8I" .

lih

Metode ketiga (yang memberikan sedikit data keluaran) adalah dengan menggunakan lshwperintah. Jalankan lshw -class disksebagai root untuk hanya menampilkan detail tentang harddrives (yang termasuk informasi RAID).

Menemukan alat pengontrol RAID

Sekarang kami memiliki nomor pabrikan dan model, seharusnya dapat menemukan alat di situs web mereka, atau setidaknya dapat merinci Google tentang cara menemukan dan menggunakan alat untuk pengontrol tertentu.

Jika pabrikan muncul dalam daftar ini, lihat jawaban ini untuk detail lebih lanjut tentang cara mendapatkan informasi RAID untuk kartu Anda:

IQAndreas
sumber
5

Jalankan sesuatu seperti lspci -knn | grep 'RAID bus controller'.

Menggunakan output itu, Google (misalnya) untuk LSI Logic / Symbios Logic MegaRAID SAS 2208.

Temukan menggunakan storcliutilitas untuk menginterogasi pengontrol RAID.

Unduh dan instal.

storcli64 show memberi Anda model pengontrol secara khusus, dan indeks pengontrol, jumlah grup drive, dan drive virtual.

storcli64 /c0/d0 showmenunjukkan Anda kontroler pertama, grup drive pertama. Memberitahu Anda tingkat serangan, termasuk bersarang.

storcli64 /c0/eall/sall show all menampilkan semua informasi pada semua disk.

Data referensi lebih lanjut untuk perintah-perintah itu dapat ditemukan di sini:

http://mycusthelp.info/LSI/_cs/AnswerPreview.aspx?sSessionID=&inc=8275

Seharusnya yang harus Anda lakukan. Cukup gunakan introspeksi perangkat keras normal di Linux, lalu Google, lalu unduh dan instal utilitas yang menyertainya.

Saran dan komentar @Gene benar-benar tepat.

Jawaban ini sepenuhnya khusus untuk output yang Anda dapatkan dari lspciperintah, dan kemampuan pencarian Google Anda untuk mengidentifikasi produsen dan untuk mengambil alat baris perintah yang benar.

Tapi itu menunjukkan bahwa Anda bisa mendapatkan semua ini dari server, pada baris perintah, tanpa menghentikan mesin, membuka kasing, dan menarik drive, yang saya harap sangat membantu.

Kassandry
sumber
Karena jawaban untuk pertanyaan saya akan spesifik untuk perangkat keras, apa yang saya lakukan adalah menambahkan jawaban wiki komunitas tentang cara mencari tahu apa pengontrol RAID yang Anda gunakan . Jawaban ini kemudian menghubungkan ke jawaban (termasuk milik Anda) yang memberikan detail untuk pengontrol atau produsen tertentu.
IQAndreas
Jika Anda ingin memperbarui format jawaban Anda untuk mencerminkan ini, itu akan menyenangkan, tetapi tidak sepenuhnya diperlukan.
IQAndreas
2

Ini bukan jawaban satu ukuran untuk semua dan tidak memberikan semua informasi yang Anda butuhkan, tetapi pada satu pengontrol RAID perangkat keras Adaptec yang kami gunakan, ini memberikan beberapa akses ke drive itu sendiri melalui perangkat khusus / dev / sg1 / dev / sg2, dll. Kita dapat menjalankan smartctl -a / dev / sg1 untuk mendapatkan banyak info tentang drive fisik tersebut termasuk pabrikan, nomor model, antarmuka, nomor seri, ukuran, dan data lainnya.

Sejauh mencari tahu pengendali mana yang digunakan, saya setuju dengan komentar Gene tentang dmidecode, dmesg, dan lspci - itu yang akan saya coba dulu juga.

sa289
sumber
1

Untuk membuat profil penyimpanan, saya akan melakukan yang berikut sebelum menjalankan lspciatau mengunduh apa pun.

# cat /etc/fstab         What partitions get mounted at boot?

# sudo pvs               Are you running LVM? List the physical volumes

# cat /proc/mdstat       List software RAID devices & status

# for D in /dev/sd?; do parted $D print; done
                         If hardware RAID is being used, the "Model" field will list
                         the Mfr. name, otherwise the hard drive Mfr.
secara nortal
sumber
0

3ware

Ini telah diuji pada pengontrol RAID berikut: 9690SA-8I

Tolong beri tahu saya di komentar jika itu berfungsi untuk pengontrol spesifik Anda, atau jika instruksi perlu diperbarui untuk model Anda.

Mengunduh

Pertama, Anda perlu mengunduh alat ini tw_cli. Ini dapat ditemukan di situs web Avago Technologies *:

* Jangan khawatir, ini bukan situs web pihak ketiga; 3ware dibeli oleh AMCC, dan kemudian dijual ke LSI Corporation, yang kemudian menjadi bagian dari Avago [ sumber ]. Untuk mencadangkan ini, perhatikan bahwa 3ware.com mengalihkan ke halaman yang relevan di avagotech.com .

Ketik tw_clike dalam bilah pencarian, lalu navigasi di sekitar sampai Anda menemukan unduhan bernama CLI Linux - from the 10.2.2.1/9.5.5.1 code sets(nomor versi terbaru mungkin berbeda dari apa yang tercantum di sini)

Ekstrak file zip, dan di salah satu x86atau x86_64Anda akan menemukan tw_clibiner yang Anda butuhkan. Simpan biner ini ke server atau komputer Anda.

Menjalankan tw_cli

CATATAN: (1) Utilitas baris perintah mungkin perlu dijalankan sebagai root. (2) Jalankan seperti biner lainnya dengan menambahkannya ke path, atau dengan menjalankannya langsung dari direktori saat ini ./tw_cli.

Pertama, jalankan tw_cli showke daftar pengontrol RAID yang tersedia di sistem Anda:

# tw_cli show
Ctl   Model        (V)Ports  Drives   Units   NotOpt  RRate   VRate  BBU
------------------------------------------------------------------------
c2    9690SA-8I    6         6        2       0       1       1      Charging 

Di sini kita dapat melihat ada satu kontroler terpasang, dengan id c2(ingat id ini!), Yang memiliki 6 drive fisik terpasang. Untuk mendapatkan detail lebih lanjut tentang drive mana yang terpasang pada unit, jalankan tw_cli /c2 show(ganti /c2dengan ID controller Anda):

# tw_cli /c2 show
Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-1    OK             -       -       -       298.013   Ri     ON     
u1    RAID-5    OK             -       -       64K     2793.94   Ri     ON     

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   298.09 GB SATA  0   -            ST3320613AS         
p1    OK             u0   298.09 GB SATA  1   -            ST3320613AS         
p2    OK             u1   931.51 GB SATA  2   -            Hitachi HDS721010CL 
p3    OK             u1   931.51 GB SATA  3   -            Hitachi HDS721010CL 
p4    OK             u1   931.51 GB SATA  4   -            Hitachi HDS721010CL 
p5    OK             u1   931.51 GB SATA  5   -            Hitachi HDS721010CL 

Grup pertama menunjukkan pengaturan RAID yang digunakan. Kelompok kedua menunjukkan drive mana yang saat ini terhubung secara fisik ke server.

Dalam kasus khusus ini, saya memiliki dua konfigurasi RAID:

  • u0-> Drive p0dan p1keduanya 300 GB drive oleh pabrikan yang sama, diatur untuk menggunakan RAID-1 (mirror persis satu sama lain)
  • u1-> Saya memiliki empat drive Hitachi 1TB ( p2tembus p5) yang diatur menggunakan RAID-5 ("salah satu drive" digunakan untuk memastikan data tersimpan jika salah satu drive lain gagal). Ini berarti (seperti yang dapat kita lihat dari atas), u1memiliki 3TB (atau, lebih tepatnya 2793.94 GB) data yang dapat digunakan.

Bahkan lebih banyak informasi tentang status dan kesehatan drive dapat ditemukan dengan menjalankan tw_cli /c2/u0 showatau tw_cli /c2/p0 show. Rincian dan perintah lebih lanjut dapat ditemukan di halaman manual .

IQAndreas
sumber