Πρέπει να ξέρω ποιοι σκληροί δίσκοι είναι διαθέσιμοι, συμπεριλαμβανομένων εκείνων που δεν είναι προσαρτημένοι και ενδεχομένως δεν είναι μορφοποιημένοι. Δεν μπορώ να τους βρω στο dmesg
ή στο /var/log/messages
(πάρα πολλά για να τα ξεφυλλίσω). Ελπίζω ότι υπάρχει τρόπος να χρησιμοποιήσω το /dev
ή το /proc
για να βρω αυτές τις πληροφορίες, αλλά δεν ξέρω πώς. Χρησιμοποιώ Linux.
Αυτό εξαρτάται σε μεγάλο βαθμό από την πλατφόρμα. Επίσης, διαφορετικές μέθοδοι μπορεί να αντιμετωπίζουν διαφορετικά τις ακραίες περιπτώσεις ("ψεύτικοι" δίσκοι διαφόρων ειδών, τόμοι RAID, ...).
Στις σύγχρονες εγκαταστάσεις udev, υπάρχουν συμβολικοί σύνδεσμοι προς τα μέσα αποθήκευσης σε υποκαταλόγους του /dev/disk
, που σας επιτρέπουν να αναζητήσετε έναν δίσκο ή μια κατάτμηση με βάση τον σειριακό αριθμό (/dev/disk/by-id/
), με βάση το UUID (/dev/disk/by-uuid
), με βάση την ετικέτα του συστήματος αρχείων (/dev/disk/by-label/
) ή με βάση τη συνδεσιμότητα υλικού (/dev/disk/by-path/
).
Στο Linux 2.6, κάθε δίσκος και συσκευή που μοιάζει με δίσκο έχει μια καταχώρηση στο /sys/block
. Στο Linux από την αυγή του χρόνου, οι δίσκοι και οι κατατμήσεις καταχωρούνται στο /proc/partitions
. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το lshw: lshw -class disk
.
Το Linux παρέχει επίσης το βοηθητικό πρόγραμμα lsblk
το οποίο εμφανίζει μια ωραία δενδρική προβολή των τόμων αποθήκευσης (από το util-linux 2.19, δεν υπάρχει σε ενσωματωμένες συσκευές με BusyBox).
Αν έχετε ένα βοηθητικό πρόγραμμα fdisk
ή disklabel
, μπορεί να σας πει σε ποιες συσκευές μπορεί να δουλέψει.
Θα βρείτε ονόματα βοηθητικών προγραμμάτων για πολλές παραλλαγές του unix στο Rosetta Stone for Unix, ιδίως τις γραμμές "list hardware configuration" και "read a disk label".
Ο @Giles λέει ότι αυτό εξαρτάται σε μεγάλο βαθμό από την πλατφόρμα. Εδώ είναι ένα τέτοιο παράδειγμα.
Τρέχω ένα σύστημα CentOS 5.5. Αυτό το σύστημα έχει 4 δίσκους και έναν ελεγκτή RAID 3ware.
Στην περίπτωσή μου, τα lshw -class disk
, cat /proc/scsi/scsi
και parted --list
δείχνουν τον ελεγκτή RAID (3ware 9650SE-4LP). Αυτό δεν δείχνει τους πραγματικούς δίσκους:
RAID που παρέχει τον τόμο /dev/sda:
# lshw -class disk
*-disk
description: SCSI Disk
product: 9650SE-4LP DISK
vendor: AMCC
physical id: 0.0.0
bus info: scsi@0:0.0.0
logical name: /dev/sda
# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: AMCC Model: 9650SE-4LP DISK Rev: 4.06
Type: Direct-Access ANSI SCSI revision: 05
# parted --list
Model: AMCC 9650SE-4LP DISK (scsi)
Disk /dev/sda: 2000GB
Για να δω τους δίσκους που βρίσκονται από κάτω, έπρεπε να εγκαταστήσω το βοηθητικό πρόγραμμα tw_cli από την 3ware και να ρωτήσω τον ίδιο τον ελεγκτή.
# tw_cli info c0
...
VPort Status Unit Size Type Phy Encl-Slot Model
------------------------------------------------------------------------------
p0 OK u0 931.51 GB SATA 0 - WDC WD1002FBYS-02A6
p1 OK u0 931.51 GB SATA 1 - WDC WD1002FBYS-02A6