168 fichiers dans /dev/hd* !

Un peu par hasard, j’ai fait un tour dans /dev/* d’un serveur et j’y trouve 168 /dev/hd* !

[code]/dev/hda /dev/hdb /dev/hdc /dev/hdd /dev/hde /dev/hdf /dev/hdg /dev/hdh
/dev/hda1 /dev/hdb1 /dev/hdc1 /dev/hdd1 /dev/hde1 /dev/hdf1 /dev/hdg1 /dev/hdh1
/dev/hda10 /dev/hdb10 /dev/hdc10 /dev/hdd10 /dev/hde10 /dev/hdf10 /dev/hdg10 /dev/hdh10
/dev/hda11 /dev/hdb11 /dev/hdc11 /dev/hdd11 /dev/hde11 /dev/hdf11 /dev/hdg11 /dev/hdh11
/dev/hda12 /dev/hdb12 /dev/hdc12 /dev/hdd12 /dev/hde12 /dev/hdf12 /dev/hdg12 /dev/hdh12
/dev/hda13 /dev/hdb13 /dev/hdc13 /dev/hdd13 /dev/hde13 /dev/hdf13 /dev/hdg13 /dev/hdh13
/dev/hda14 /dev/hdb14 /dev/hdc14 /dev/hdd14 /dev/hde14 /dev/hdf14 /dev/hdg14 /dev/hdh14
/dev/hda15 /dev/hdb15 /dev/hdc15 /dev/hdd15 /dev/hde15 /dev/hdf15 /dev/hdg15 /dev/hdh15
/dev/hda16 /dev/hdb16 /dev/hdc16 /dev/hdd16 /dev/hde16 /dev/hdf16 /dev/hdg16 /dev/hdh16

etc…

[/code]

fdisk -l

[code]Disk /dev/hda: 80.0 GB, 80000000000 bytes
255 heads, 63 sectors/track, 9726 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 1 5 40131 de Dell Utility
/dev/hda2 6 2561 20531070 c W95 FAT32 (LBA)
/dev/hda3 2562 9600 56540767+ 83 Linux
/dev/hda4 9601 9726 1012095 82 Linux swap / Solaris

[/code]

fstab:

/dev/hda3 / ext3 errors=remount-ro 0 1 /dev/hda4 none swap sw 0 0 proc /proc proc defaults 0 0 /dev/fd0 /floppy auto user,noauto 0 0 /dev/cdrom /cdrom iso9660 ro,user,noauto 0 0

D’où provient cette pollution de mon /dev/ ?

Salut,

Quatre connecteurs IDE supportant chacun 2 disques partitionnés en 16 = 168.
C’est une définition valable pour un serveur pas une pollution :slightly_smiling:

Même s’il n’y a qu’un seul disque de monté et seulement quelques partitions?

Salut,

C’est comme cela sous Linux actuellement, mais comme c’est un logiciel libre tu peux modifier les sources et proposer ta solution à la communauté :smiley:

Ce nombre vas en diminuant au fur et à mesure des versions. C’est une partie de Linux en évolution constante :wink:

ls /dev/[hs]d[a-z][0-9] /dev/hda1 /dev/hda5 /dev/hda7 /dev/hda9 /dev/sda2 /dev/sda6 /dev/sda8 /dev/hda2 /dev/hda6 /dev/hda8 /dev/sda1 /dev/sda5 /dev/sda7 /dev/sda9
Ce sont toutes des partions qui existent.

Tu a combien d’usb ? de lecteur de carte ? de port e-sata ? etc…

quote="ripat"
D’où provient cette pollution de mon /dev/ ?[/quote]
Quel noyau ? c’est une machine qui a connu les noyaux en devfs ?
tu utilises udev ?

udev ne crée que les dev existant, mais si tu as eu un passage avec un vieux MAKEDEV, il a peut être créé toute les entrées de disque possibles, et je crois qu’udev ne fait que surcharger le répertoire /dev réel, donc les traces des devices “en dur” doivent exister.
Si tu as udev, est ce que tu retrouves tes hd* dans /dev/.static/dev ?
Si tu les déplaces ailleurs, est ce que tu rebootes ? :smt003
Si tu rebootes, est ce que tu retrouves bien juste les hd* qui existent ?

Salut,

Remarque : Nous ne savons même pas quelle version de quelle distribution nous parlons ! Ou alors j’ai loupé une marche :blush:

Quel noyau ?
2.4.27 (distrib ETCH)

c’est une machine qui a connu les noyaux en devfs ?
?? pas que je sache. Je ne sais pas trop ce que c’est.

tu utilises udev ?
udev est installé mais le deamon ne tourne pas car le noyau est trop ancien: udev requires a kernel >= 2.6.15, not started

Si tu as udev, est ce que tu retrouves tes hd* dans /dev/.static/dev ?
Rien là dedans sans doute puisqu’udevd ne tourne pas

Si tu les déplaces ailleurs, est ce que tu rebootes ? :smt003
Alors ça, je n’ose pas, il s’agit d’un serveur en prod et je n’ose pas trop y toucher, surtout à distance, sans avoir une bonne journée devant moi! Et sur place il va sans dire…

Si tu rebootes, est ce que tu retrouves bien juste les hd* qui existent ?[/quote]
Non, il reviennent tous les 168!

C’est une machine qui a été installée “à la hussarde” par un autre que moi. Il reste des parties d’un (si pas deux) serveurs X, un Windows XP et d’autres choses auxquelles j’ose à peine toucher. J’ai fait un distr upgrade woody->etch assez pénible. Je sais que je devrais y remettre de l’ordre mais je ne vois pas trop comment faire sans tout réinstaller. Je manque d’expérience pour faire ça autrement.

Ce serveur est malgré tout très stable: avant ma tentative de reboot j’en étais à 350 et quelques jours. Je m’interroge juste sur le nombre de /dev/hd*

MisterFreez:

00:00.0 Host bridge: Broadcom GCNB-LE Host Bridge (rev 32) 00:00.1 Host bridge: Broadcom GCNB-LE Host Bridge 00:02.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02) 00:0e.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27) 00:0f.0 Host bridge: Broadcom CSB5 South Bridge (rev 93) 00:0f.1 IDE interface: Broadcom CSB5 IDE Controller (rev 93) 00:0f.2 USB Controller: Broadcom OSB4/CSB5 OHCI USB Controller (rev 05) 00:0f.3 ISA bridge: Broadcom CSB5 LPC bridge 00:10.0 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 05) 00:10.2 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 05) 01:04.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 07)

Je viens de compter le nombre de /dev/sd* et j’arrive à 128. Bref un total de 1409 entrées dans le répertoire /dev/ en comptant les tty*, ram*, vcs* et compagnie. De ce côté aussi il y a inflation.

Eh ben voilà, tu as un /dev statique. Tout va bien. Tu es dans une situation tout à fait standard. La seule chose est si tu rajoutes un périphérique de créer le fichier toi même via MAKEDEV.

Pas d’impact sur les perf? Je pourrais également tenter de nettoyer les devices non installés/montés avec MAKEDEV?

Mais non, sauf si tu as besoin de 30 ou 40K supplémentaires d’espace disque (auquel cas je te suggère de te concentrer sur ce problème). udev est intéressant pour des raisons théoriques (basculement d’une partie du trvail du noyau dans l’espace utilisateur) et pratiques (simplifie la vie) mais pas de performances sauf par rapport à hotplug (qui essayait d’initialiser 10 fois le même périphérique à chaque fois). Pour les performances ça ne change rigoureusement rien.

[quote=“fran.b”]Mais non, sauf si tu as besoin de 30 ou 40K supplémentaires d’espace disque (auquel cas je te suggère de te concentrer sur ce problème).[/quote] :wink:

Je commence à saisir la différence. En fait udev est aux périphériques ce que autofs est aux mount? Non?
en.wikipedia.org/wiki/Udev

Je m’endormirai un poil moins ignare ce soir. Merci pour vos lumières.

[quote=“ripat”]> Quel noyau ?
2.4.27 (distrib ETCH)[/quote]
A l’époque où elle était encore en testing je m’étais laissé dire qu’etch ne supporterait plus les noyaux 2.4, et que certains programmes comme squid ne fonctionneraient qu’avec un noyau 2.6. On m’aurait menti ? D’ailleurs etch ne contient plus de noyau 2.4.

[quote]> c’est une machine qui a connu les noyaux en devfs ?
?? pas que je sache. Je ne sais pas trop ce que c’est.
[/quote]
C’est le prédécesseur d’udev pour la gestion de /dev, mais dans le noyau au lieu d’être en espace utilisateur. Il me semble bien que le noyau 2.4.27 de sarge était prévu pour utiliser devfs. Ça fichait d’ailleurs un gros bazar dans le nommage des partitions lorsqu’on démarrait sur le CD d’installation, les classiques /dev/hdx ne marchaient pas, lilo et les outils de gestion de partition râlaient…