Aus diesem LinuxQuestions-Beitrag:
Linux begrenzt die Anzahl der Festplatten nicht willkürlich.
Auch aus diesem Beitrag in der Debian-Mailingliste:
Das ist leicht. Nach /dev/sdz kommt /dev/sdaa. Und ich habe es gerade getestet, indem ich 800 ISCSI-Targets auf meinem Laptop erstellt und mich angemeldet habe, nach /dev/sdzz kommt /dev/sdaaa. :)
und dieser Blogbeitrag:
Für SATA- und SCSI-Laufwerke unter einem modernen Linux-Kernel gilt das Gleiche wie oben, außer dass der Code zum Ableiten von Namen über sdzzz hinaus bis (theoretisch) sd gefolgt von 29 z’s richtig funktioniert!
Theoretisch gibt es also Grenzen, aber in der Praxis sind sie unerreichbar.
Tatsächlich gibt es eine Begrenzung für die Anzahl der Laufwerke, die vom abstrakten SCSI-Subsystem von Linux bereitgestellt werden, das SATA- und USB-Laufwerke umfasst. Dies liegt daran, dass Gerätedateien durch Haupt-/Nebengerätenummernpaare gekennzeichnet sind und das Schema, das dem SCSI-Subsystem zugewiesen ist, diese implizite Grenze hat.
https://www.kernel.org/doc/Documentation/devices.txt
Die folgenden Hauptoperationscodes werden zugewiesen:8, 65 bis 71 und 128 bis 135, was zu insgesamt 16 zugewiesenen Blöcken führt. Der Neben-Opcode ist auf 256 mögliche Werte begrenzt (Bereich 0..255). Jede Festplatte erhält 16 aufeinanderfolgende Minor-Opcodes, wobei der erste die gesamte Festplatte darstellt und die nächsten 15 Partitionen darstellen.
let major = number of major allocated opcodes = 16
let minor = number of minor opcodes per major opcode = 256
let parts = number of minor opcodes per disk = 16
major * (minor / parts) = 16 * (256 / 16) = 256 possible drives
Ich habe schon früher Leute gesehen, die 128 als Grenze geschrieben haben. Ich glaube Linux neuerdings 128..135, was die Diskrepanz erklären würde.
Das Namensschema (/dev/sdbz7
) wird vom Userland ausgewählt, nicht vom Linux-Kernel. In den meisten Fällen werden diese von udev, eudev oder mdev verwaltet (obwohl sie in der Vergangenheit manuell erstellt wurden). Ich kenne ihre Namensschemata nicht. Verlassen Sie sich nicht unbedingt darauf, dass alle Linux-basierten Systeme Geräte auf die gleiche Weise benennen, da der Systemadministrator die Gerätebenennungsrichtlinien ändern kann.