Suite à ma depêche sur le recyclage d'un disque dur mécanique - et grâce au confinement - j'ai progressé avec gdisk qui m'a permis de passer en GPT et de passer la table de partitions de 128 à 512.
Mais voilà, le fichier /dev/sda255 et suivants ne sont pas crées automatiquement. Qui est le responsable? udev? le noyau?
Merci pour toute piste dans cette quête des limites de Linux ;-)
# Commentaire supprimé
Posté par izak01 . Évalué à -3. Dernière modification le 25 mars 2020 à 08:17.
Ce commentaire a été supprimé par l’équipe de modération.
# Noyau
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 5.
Peut-être le noyau. Un fichier de périphérique, tel que
/dev/sda1
, est un fichier qui donne accès à une interface prise en charge pas le noyau, plus exactement par un pilote du noyau. Ce qui caractérise un fichier de périphérique, ce n'est pas son nom – on peut très bien installer un autre fichiersda1
ailleurs, et même le nommer autrement, il donnera toujours accès à la même partition du même périphérique de stockage – mais ses numéros majeur et mineur, deux numéros qui, historiquement, indiquent au noyau le pilote concerné et le périphérique concerné vu qu'un pilote peut gérer plusieurs périphériques.Bref, ici, la limite vient peut-être d'une saturation du nombre de numéros mineurs disponibles.
# devices.rst
Posté par Jack DeNoumea (site web personnel) . Évalué à 1.
Il y a un fichier qui décrit les relation entre /dev et le noyau
Il est dans Documentation/admin-guide/devices.rst des sources du noyaux
ça explique aussi les limites de nommage des périphériques
[^] # Re: devices.rst
Posté par claudex . Évalué à 3.
J'ai lu un peu vite mais je ne vois pas où ça parle de telles limites dans https://www.kernel.org/doc/Documentation/admin-guide/devices.rst
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: devices.rst
Posté par Jack DeNoumea (site web personnel) . Évalué à 2.
effectivement, le nom de fichier était identique mais l'intérieur non…
J'ai trouvé ce que je voulais montrer:
https://www.kernel.org/doc/Documentation/admin-guide/devices.txt
et je n'ai pas vu de "minor" à plus de 255
[^] # Re: devices.rst
Posté par ʭ ☯ . Évalué à 2.
Merci pour la piste. J'ai essayé de créer /dev/sda256 avec mknod* mais le noyau refuse d'y accéder. Ceci étant, le minor n'est pas à une limite de puissance de 2 :
brw-rw---- 1 root disk 259, 237 Mar 24 23:32 /dev/sda253
brw-rw---- 1 root disk 259, 238 Mar 24 23:32 /dev/sda254
brw-rw---- 1 root disk 259, 239 Mar 24 23:32 /dev/sda255
brw-rw---- 1 root disk 259, 240 Mar 25 07:39 /dev/sda256
* ça rajeunit pas, j'avais pas touché à mknod depuis 15 ans facile!
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: devices.rst
Posté par Adrien Dorsaz (site web personnel, Mastodon) . Évalué à 3. Dernière modification le 25 mars 2020 à 21:01.
D'après ce post très détaillé de Stack Overflow, par défaut, le nombre de partition max pour un système GPT est de 255 (pour les disques usuels si j'ai bien compris le flag).
[^] # Re: devices.rst
Posté par ʭ ☯ . Évalué à 2.
Merci, j'étais déjà tombé dessus. Ce que je ne trouve pas, c'est où DISK_MAX_PARTS est définie?
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: devices.rst
Posté par claudex . Évalué à 4.
Là https://github.com/torvalds/linux/blob/master/include/linux/genhd.h#L63
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: devices.rst
Posté par Adrien Dorsaz (site web personnel, Mastodon) . Évalué à 3.
Exactement, et vu le commit qui a amené le flag et cette constante, j'ai l'impression que c'est une limite arbitraire (mais tout de même assez raisonnable).
Je me demande si tu pourrais compiler un noyau avec une constante plus élevée (disons 512) et espérer que tout fonctionne encore ?
[^] # Re: devices.rst
Posté par claudex . Évalué à 4.
J'ai bien envie de tester ce weekend, il faudrait juste un script formater un disque (virtuel) avec plus de 256 partitions.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: devices.rst
Posté par ʭ ☯ . Évalué à 2. Dernière modification le 26 mars 2020 à 09:04.
Merci à tous, j'essaye à l'instant de recompiler vmlinux avec ce paramètre à 512.
Pour avoir plus de 128 partitions gpt : utilise gdisk, mode expert.
Pour créer les partitions, facile je suis rodé :
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: devices.rst
Posté par ʭ ☯ . Évalué à 3. Dernière modification le 26 mars 2020 à 10:22.
Bon ben ça suffit pas : on dirait bien que ça a fait un overflow de variable, puisque le système s'est mis à accéder au début du disque en lisant la partition 256…
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
# l'intérêt de 512 partitions sur un disque ?
Posté par NeoX . Évalué à 1.
non je me demande vraiment,
parce que 512 accès concurrents ca doit quand meme sacrement le ralentir le disque :???
[^] # Re: l'intérêt de 512 partitions sur un disque ?
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 6.
Ce n'est pas pour faire des accès concurrents, il faut aller voir le journal auquel l'auteur fait référence, et dans lequel il explique ce qu'il veut faire : il s'agit d'utiliser les zones viables d'un disque dur partiellement endommagé. L'approche retenue est de faire des tas de partitions, en évitant les zones hors service, puis d'agréger toutes ces partitions avec LVM.
[^] # Re: l'intérêt de 512 partitions sur un disque ?
Posté par NeoX . Évalué à 3.
c'est pas à ca que sert le 'mark badblock' d'un fcsk ?
qui évite alors de partitionner son disque en 500morceaux.
et s'il est défectueux à ce point, vaut peut-être mieux en changer ?
[^] # Re: l'intérêt de 512 partitions sur un disque ?
Posté par ʭ ☯ . Évalué à 3. Dernière modification le 25 mars 2020 à 19:26.
Merci, mais c'est juste pour l'exercice intellectuel, et peut-être aussi car je n'aime pas jeter…
Marquer avec badblocks ne fonctionne pas car ext4* tient à utiliser des blocks indiqués comme défectueux lors de la création du système de fichiers.
*le seul fs actuel qui sait encore gérer des blocks défectueux
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: l'intérêt de 512 partitions sur un disque ?
Posté par ʭ ☯ . Évalué à 2.
Les partitions ne servent pas à faire des accès concurrents. On peut très bien faire plein d'accès concurrents juste avec stress ;-)
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
# les creer
Posté par Anonyme . Évalué à 3.
la main ? ou avec un script. honnetement je l'ai fait au debut de linux remplir /dev/ à la main mais la je seche.
pour les 255 j'imagine que celui qui a crée les fichiers d'avance, c'est peut etre dit que c'etait suffisant pour un usage normal
[^] # Re: les creer
Posté par ʭ ☯ . Évalué à 2.
Le fichiers ne sont pas créés à l'avance dans /dev/ c'est une système de fichier spécial géré par le noyau (devtmpfs)… au moins pour les distributions x86!
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: les creer
Posté par Anonyme . Évalué à 3.
tu es sur ? je me souviens parfaitement avoir creer des sda et sdb avec une commande genre mkinode /dev/sda258 12 56
[^] # Re: les creer
Posté par ʭ ☯ . Évalué à 2.
Oui. C'est toujours possible de le faire à la main, et j'ai essayé au cas où ;-)
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
# Device mapper
Posté par benoar . Évalué à 3.
Je me répète mais j'avais suggéré le device-mapper dans ta dépêche, qui n'a pas cette limite. As-tu essayé ?
[^] # Re: Device mapper
Posté par ʭ ☯ . Évalué à 2.
J'ai dû rater ton commentaire… tu peux préciser ta pensée? Comment l'utiliser concrètement? Merci.
Pour l'instant, j'explore la voie de partitions qui sont partagées avec nbd-server pour avoir plusieurs partitions dans /dev/nbd1…
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.