Liệt kê các cổng SATA không sử dụng trên Linux


16

Tôi có một máy vật lý chạy Linux (cụ thể là CentOS 6.3) và tôi muốn biết có bao nhiêu cổng SATA hiện không được sử dụng (tức là không có gì được cắm vào). Tất nhiên, tôi chỉ có thể mở máy, nhưng giả sử tôi không có quyền truy cập vật lý. Có lệnh nào tôi có thể sử dụng để hiển thị cổng SATA nào không được sử dụng không?

Tôi đã biết về lshwlệnh này, nhưng theo như tôi có thể nói, nó chỉ liệt kê các cổng SATA đã sử dụng chứ không phải các cổng miễn phí.

Câu trả lời:


5

Có lệnh nào tôi có thể sử dụng để hiển thị cổng SATA nào không được sử dụng không?

Không, nhưng bạn có thể làm ngược lại. Bạn có thể liệt kê các cổng đang được sử dụng. Sau đó tra cứu (trong hướng dẫn) có bao nhiêu cổng trên bo mạch chủ, trừ đi có bao nhiêu cổng đã được sử dụng và lấy số lượng cổng còn lại.

Điều này giả định rằng bạn có một ổ đĩa SATA được kết nối trên mỗi đầu nối SATA (ví dụ: không có hệ số nhân cổng ).


Có một số cách để làm điều này.

Nếu tất cả các bộ điều khiển SATA có trình điều khiển được tải (khá bình thường), thì tôi tìm fdisk -lcách liệt kê tất cả các đĩa theo cách dễ nhất.

Nếu bạn không còn có fdisk (nó đang được thay thế các biến thể hiện đại hơn của tôi như gpart), thì bạn có thể đọc nhật ký khởi động. Một số googling cho thấy rằng CentOS có sẵn điều này thông qua dmesg , nhưng bạn cũng có thể đọc các tệp nhật ký trực tiếp. Có thể có trong /var/log/dmesg.log, /var/run/dmesg.boot hoặc trong / var / log / boot. (Giữ cái này chung chung cho những người không sử dụng CentOS).

Sau đó là có lspci. Điều này liệt kê tất cả các thiết bị PCI và PCI-e, bao gồm bộ điều khiển SATA. Thêm vào -vđể có được đầu ra dễ đọc hơn.

Hoặc sử dụng dmidecode. Điều này yêu cầu BIOS cho thông tin. Nếu đầu ra từ lệnh này có vẻ áp đảo, hãy giới hạn nó với -t NRtùy chọn.


Một sự kết hợp lspcivà các thông số kỹ thuật của bo mạch chủ có liên quan đã cung cấp thông tin tôi cần. Cảm ơn.
coledot

17

Đã ba năm, nhưng nếu ai đó thông qua Google, thì đây là: Nếu bạn đã bật EPEL, sau đó cài đặt lsscsi , nó chủ yếu cung cấp thông tin về các thiết bị được kết nối, nhưng tham số -H của nó là thứ bạn cần:

--hosts | -H liệt kê các máy chủ scsi thay vì các thiết bị scsi

So sánh với chế độ đầu ra khác và bạn có sự khác biệt:

root@server1:~# lsscsi -H
[0]    ata_piix  
[1]    ata_piix  
[2]    ata_piix  
[3]    ata_piix  
[4]    usb-storage
root@server1:~# lsscsi -g
[0:0:0:0]    disk    ATA      WDC WD2004FBYZ-0 RR03  /dev/sda   /dev/sg0
[0:0:1:0]    disk    ATA      WDC WD2004FBYZ-0 RR04  /dev/sdb   /dev/sg1
[1:0:0:0]    disk    ATA      WDC WD2004FBYZ-0 RR03  /dev/sdc   /dev/sg2
[4:0:0:0]    disk    Seagate  Backup+  Desk    0342  /dev/sdd   /dev/sg3

CẬP NHẬT: Bỏ qua điều đó, mà không cần cài đặt bất cứ điều gì:

dmesg | grep 'SATA link down'

sẽ hiển thị cho bạn các cổng không sử dụng.


Cảm ơn, rất hữu ích. Nó cũng hoạt động trên Ubuntu ( lsscsiđược bao gồm trong các kho lưu trữ mặc định, ít nhất là từ 16.04 LTS).
gerlos
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.