Frage: Wie finde ich die Major- und Minor-Nummer meines Blockgeräts / meiner Partition / meiner Mount-Punkte / meiner SAN-Festplatte / meines Dateisystems heraus?
Warum müssen Sie die Haupt- und Nebengerätenummer kennen?
Manchmal müssen Sie aus verschiedenen Gründen die Haupt- und Nebenanzahl von Geräten kennen. Beispielsweise meldet das Dienstprogramm sar die E/A-Daten von Dateisystemen im Format devm-n Wie nachfolgend dargestellt. (m ist Hauptzahl und n ist Nebenzahl)
Von der Manpage von sar folgt die Bedeutung für die unten gezeigte DEV-Spalte:
-d Report activity for each block device (kernels 2.4 and newer only). When data is displayed, the device specification dev m- n is generally used ( DEV column). m is the major number of the device. With recent kernels (post 2.5), n is the minor number of the device, but is only a sequence number with pre 2.5 kernels.
Wenn wir uns die sar-Ausgabe unten ansehen, können wir nicht sagen, welchen Einhängepunkt (Dateisystem) dev110-1 anzeigt. In diesem Fall wissen Sie, dass dieses Gerät ein Blockgerät mit der Major-Nummer 110 und der Minor-Nummer 1 darstellt.
$ sar -d Linux 2.6.9-67.0.0.0.1.ELsmp (webserver) 06/21/2009 12:00:00 AM DEV tps rd_sec/s wr_sec/s 12:02:00 AM dev110-1 6.00 0.00 6.00 12:02:00 AM dev8-1 1.00 1.00 0.00 12:02:00 AM dev1-1 2.00 1.00 1.00 12:02:00 AM dev1-2 1.00 0.00 1.00 12:02:00 AM dev1-3 4.00 2.00 2.00 12:02:00 AM dev1-4 5.00 3.00 2.00
df -k zeigt Haupt- und Nebennummer nicht an
Wenn Sie im folgenden Beispiel df -k ausführen, zeigt dies, dass Sie eine lokale SCSI-Festplattenpartition (/dev/sda1) als / (Root) gemountet haben und eine SAN-Gerätepartition (/dev/san-device1) gemountet haben als /home/mysql. Bitte beachten Sie, dass das SAN-Gerät ein EMC, NetApps oder jede Art von SAN-Speicher sein kann.
$ df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 10317828 2353828 7439884 25% / /dev/sandevice1 50537528 22350656 25619688 47% /home/mysql
Wie identifiziere ich die Haupt- und Nebengerätenummer?
Wenn Sie nun die Haupt- und Nebennummer dieser Geräte wissen möchten, wechseln Sie in das /dev-Verzeichnis und führen Sie ls -l wie unten gezeigt aus, was sowohl die Haupt- als auch die Nebennummer anzeigt
$ cd /dev $ ls -l sd* brw-rw---- 1 root disk 8, 0 Feb 8 2008 sda brw-rw---- 1 root disk 8, 1 Feb 8 2008 sda1 [Note: Major for /dev/sda1 is 8 and minor is 1] $ ls -l san* brw------- 1 root root 110, 0 Feb 8 sandevice brw------- 1 root root 110, 1 Feb 8 sandevice1 [Note: Major for /dev/sandevice1 is 110 and minor is 1]
- sda1 – Major-Nummer ist 8 und Minor-Nummer ist 1
- sandevice1 – Major-Nummer ist 110 und Minor-Nummer ist 1
Mit diesen Informationen können Sie nun das entsprechende Gerät identifizieren, das in der Ausgabe von sar -d gemeldet wird.
$ sar -d Linux 2.6.9-67.0.0.0.1.ELsmp (webserver) 06/21/2009 12:00:00 AM DEV tps rd_sec/s wr_sec/s 12:02:00 AM dev110-1 6.00 0.00 6.00 12:02:00 AM dev8-1 1.00 1.00 0.00 [Note: Now, we know dev110-1 is /dev/sandevice1 and dev8-1 is /dev/sda1 ]
Hauptnummer für SCSI- und IDE-Laufwerke
Die Hauptnummern für SCSI und IDE ändern sich nicht und haben den folgenden hartcodierten Wert.
- SCSI (/dev/sd?) Hauptnummer ist 8
- IDE (/dev/hd?) Hauptnummer ist 3