Vous n'êtes pas identifié(e).
Je crois que c'est assez clair.
Faut croire que non puisque la même commande (excepté 3 --> 2 parce que mes disques n'ont que 2 partitions) me retourne
Et pareil si je mets 1 au lieu de 3.
Et tout ça je l'ai déjà écrit.
AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War
Hors ligne
Dernière modification par Tawal (26-05-2021 10:04:23)
Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
C'est peut-être plus clair ainsi.
Oui, grâce à toi et ta persévérance, et je t'en remercie.
Effectivement, en relisant les derniers échanges, je me rends compte que je me suis pris les pieds dans le tapis, faut dire aussi que cette histoire d'identification fluctuante commence à me prendre sérieusement la tête (et la machine qui ne veut pas tomber en panne alors que j'ai plein d'outils pour analyser, grrrrr).
AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War
Hors ligne
Dernière modification par Tawal (26-05-2021 13:18:22)
Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
Dernière modification par Debian Alain (26-05-2021 11:44:05)
Hors ligne
Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
Dernière modification par Debian Alain (26-05-2021 11:57:01)
Hors ligne
3 partitions principales , une partition étendue et n partitions logiques ?
3 partitions primaires, une partition étendue contenant n partitions secondaires (ou logiques) source
Dernière modification par jpt (26-05-2021 11:53:18)
AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War
Hors ligne
mais çà fait longtemps que les dénominations "sdX" sont connues comme étant non fiables.
Longtemps, really ? Je n'ai jamais été emm…dé par ces changements d'identification jusqu'à ce que systemd vienne semer sa pagaille. Jamais ! Et pourtant j'en ai vu passer, des machines, ces vingt dernières années (et je suis un adepte des machines multi-disques).
AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War
Hors ligne
je peux te donner un exemple où j'ai dû utiliser les uuid en lieu et place des classiques "sdX"
Simple coup de bol pour toi, car moi aussi je les ai utilisés, sans pour autant que ça soit une franche réussite, la preuve ce post et cette machine à côté de moi toujours pas en prod' depuis 11 mois et demi…
Tiens, je retrouve ça dans son fstab :
Lis bien les lignes du 11-10 et 11/11. Le Alain c'est toi !
Dernière modification par jpt (26-05-2021 12:01:49)
AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War
Hors ligne
Longtemps, really ? Je n'ai jamais été emm…dé par ces changements d'identification jusqu'à ce que systemd vienne semer sa pagaille
je ne peux pas soutenir suffisamment cette assertion devant toi . je n'ai pas assez de connaissances .
simplement , demande plus amples éclairages à râleur .
lui pourra te répondre précisément .
amicalement ,
alain.
Dernière modification par Debian Alain (26-05-2021 12:03:41)
Hors ligne
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
simplement , demande plus amples éclairages à râleur .
Bah, on en parle depuis le début de cette discussion, et la seule chose qui en ressort, c'est qu'avant d'appuyer sur <ENTREE> avec une commande "chaude" (genre dd pour remettre un disque à zéro), y a intérêt à être sûr et archi-sûr de son coup puisque l'OS n'est plus fiable à 100%.
Quant à ça,
ça me fait à moitié rire, quand la seule différence entre la machine opérationnelle et la machine en vrac c'est un simple reboot sans toucher à aucun paramètre.
Ou l'inverse : j'allume la machine, quand j'ai le bureau je regarde et je vois que le swap est sur /dev/sdc1 (par exemple) alors je reboote et là il passe comme attendu (par moi *ici*) sur /dev/sda2.
Ça me fait terriblement peur et j'ai l'impression d'être le seul concerné (sauf tous ceux qui en parlent sur le web -- mais sur ce forum, walou…)
Dernière modification par jpt (26-05-2021 19:53:36)
AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War
Hors ligne
Ça me fait terriblement peur et j'ai l'impression d'être le seul concerné (sauf tous ceux qui en parlent sur le web -- mais sur ce forum, walou…)
non , tu n'es pas le seul concerné , jpt .
cela m'arrive aussi . sur une machine récente .
normalement , le disque de "stable" devrai être sda et sdb , le hdd "sauvegarde" (4TB)
voilà comment j'ai , à moitié , résolu mon souci .
maintenant , conky me dit qui est qui .
cela me dépanne .
Dernière modification par Debian Alain (26-05-2021 21:02:51)
Hors ligne
Debian Alain a écrit :çà fait longtemps que les dénominations "sdX" sont connues comme étant non fiables.
Longtemps, really ?
Depuis toujours, en fait. C'est inhérent à l'attribution de ces noms : sda est le premier disque trouvé, sdb le second, et ainsi de suite. Le nommage dépend donc de l'ordre de détection, et cet ordre dépend de divers facteurs comme l'ordre de chargement des pilotes concernés qui peut être variable, et de bien d'autres facteurs comme le temps que va mettre chaque disque à répondre à l'énumération.
Autrefois, il y a très longtemps. les disques SCSI étaient rares et chers, la plupart des PC avaient des disques IDE/PATA (ou SATA avec des contrôleurs en mode IDE) et le noyau avait des pilotes "IDE" qui exposaient les disques PATA/SATA en tant que /dev/hd*... en fonction de leur position/réglage physique :
- hda = primary master
- hdb = primary slave
- hdc = secondary master
- hdd = secondary slave
Tout a changé quand d'une part les disques SATA se sont répandus et les pilotes "IDE" ont été remplacés par des pilotes "ATA" exposant les disques PATA et SATA comme des disques SCSI /dev/sd*, et d'autre part les pilotes de disque n'ont plus été compilés en dur dans le noyau (et initialisés dans un ordre constant) mais en tant que modules inclus dans un initrd puis initramfs et chargés à la demande dans un ordre variable. Il est devenu plus sûr d'utiliser les UUID plutôt que les noms de périphériques des disques.
demande plus amples éclairages à râleur
J'ai déjà essayé de lui expliquer, c'est peine perdue.
Il voudrait que /dev/sdb soit toujours tel disque et soit monté sur /data. Si le disque qui doit être monté sur /data est /dev/sda ou /dev/sdc, ça ne va pas.
Sur ce, je retourne à des activités plus productives.
Dernière modification par raleur (26-05-2021 20:31:32)
Il vaut mieux montrer que raconter.
Hors ligne
Il voudrait que /dev/sdb soit toujours tel disque et soit monté sur /data. Si le disque qui doit être monté sur /data est /dev/sda ou /dev/sdc, ça ne va pas.
Évidemment puisque quand je prends les fichiers représentant les disques virtuels d'une machine virtuelle et que je les monte dans le host avec le guest éteint, ça me permet d'y faire des modifs sans démarrer la mv. Et si je monte le disque des données et que j'y recopie des données, lorsque je vais démarrer la mv j'espère bien retrouver les données que j'ai mises dans /dev/sdb1 par exemple dans /data.
Mais si systemd et sa pagaille me montent /dev/sdb1 dans / ou ailleurs, je suis à la rue !
Et ce que personne n'a vu, c'est qu'à l'allumage de la machine sda est bien le premier disque détecté et c'est ensuite que c'est modifié. Par qui par quoi je ne sais pas.
Je remets (post #45) :
Un résumé édité de /var/log/messages du boot d'hier soir, (je peux tout fournir mais ça n'apportera rien de plus) :
ça c'est correct :May 18 22:43:58 kernel: [ 2.726045] scsi 0:0:0:0: Direct-Access ATA KINGSTON SA400S3 B1D2 PQ: 0 ANSI: 5
May 18 22:43:58 kernel: [ 3.296757] scsi 1:0:0:0: Direct-Access ATA ST2000DM008-2FR1 0001 PQ: 0 ANSI: 5
May 18 22:43:58 kernel: [ 3.867293] scsi 4:0:0:0: Direct-Access ATA ST2000DM008-2FR1 0001 PQ: 0 ANSI: 5et ça, une demi-seconde plus tard, c'est pas bon :
May 18 22:43:58 kernel: [ 4.369267] sd 1:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
May 18 22:43:58 kernel: [ 4.369284] sd 4:0:0:0: [sdb] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
May 18 22:43:58 kernel: [ 4.372958] sd 0:0:0:0: [sdc] 468862128 512-byte logical blocks: (240 GB/224 GiB)
Explication de texte : la dernière ligne, à 4.3729, montre sdc (sd 0:0:0:0:) comme étant un disque de 240 Gb, alors que la première ligne, à 2.7260, montre scsi 0:0:0:0: comme ce disque de 240 Gb et il n'y a pas d'erreur puisqu'il n'y a qu'un seul disque de 240 Gb dans cette machine.
Et personne n'a répondu à l'interrogation que j'ai posée concernant l'utilisation de dd le jour où sda sera sdb et inversement.
Il faudrait récrire tous les man's, tous les exemples, prévenir le monde entier que des catastrophes nous guettent mais non, rien !
Il est devenu plus sûr d'utiliser les UUID plutôt que les noms de périphériques des disques.
J'ai déjà dit que ça aussi ça m'a joué des tours ! Et je l'ai encore posté aujourd'hui (ou hier, flemme de chercher).
Mais tu viens de me donner une piste :
les pilotes de disque n'ont plus été compilés en dur dans le noyau (et initialisés dans un ordre constant) mais en tant que modules inclus dans un initrd puis initramfs et chargés à la demande dans un ordre variable.
Demain je regarde en profondeur mon .config en passant par make menuconfig.
Merci !
Dernière modification par jpt (26-05-2021 23:33:26)
AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War
Hors ligne
L'analyse du /var/log/messages confirme ce que j'ai déjà signalé, il se passe quelque chose après la détection correcte des disques (note : j'ai parfois interverti des lignes pour avoir une meilleure lisibilité, donc les timings ne sont plus chronologiques) :
Bref, en mode "secours" j'ai modifié le fstab pour virer tous les uuid's et utiliser à l'ancienne les /dev/sdxy, un coup de update-grub, reboot et… rateau !
Le même que précédemment.
Rebelote avec le noyau de secours, cette fois au pif je tente un update-initramfs -u version, reboot et c'est bon !
Ouf, car j'ai tremblé.
Je vais rester deux-trois jour comme ça puis je repasserai sur les uuid's, pour voir.
Un dernier mot, pour montrer que des choses ne sont pas finies : quand j'étais dans le make menuconfig, j'ai revu un setting qui est mal pris en compte, le default hostname, que j'avais intitulé debox64-570 (64 par opposition à l'ancienne machine qui est en 32 bits, et 570 pour la version du noyau) et que je ne voyais jamais, ou plutôt, je voyais juste debox64, comme si le "tiret-du-6" et ce qui le suivait n'étaient pas admis. Alors puisque j'y étais, j'ai remplacé par debox64_570 et croyez-le ou pas, mais ce 570 n'apparaît toujours pas.
Et ça me gonfle, vous n'imaginez pas à quel point !
Sur ce, bon app' et bon aprème (je bouge),
AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War
Hors ligne
of=FICHIER
écrire dans le FICHIER plutôt que sur la sortie standard
dd: impossible d'ouvrir '/media/disk3p1/': est un dossier
Dernière modification par Croutons (27-05-2021 15:27:53)
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
And tbh, I have a potential similar hazard. I use CloneZilla, and if a program asks: Would you like to backup /dev/sda to /dev/sdb or /dev/sdb to /dev/sda ?, guess how nervous I get knowing that linux seems to randomly assign disk orders. I haven't overwritten my data with my own backup yet, but this is just waiting to happen.
Dernière modification par jpt (27-05-2021 19:26:34)
AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War
Hors ligne
Pourquoi ? Tu sais que le nommage des disques /dev/sd* n'est pas stable et c'est pour cela qu'on utilise des UUID ou LABEL, non ?
alors du coup ou est le soucis quand tu connais l'info?
Je suis d'accord sur le fait qui il a sûrement des trucs a améliorer, à commencer par l'installateur qui met sdx en commentaire , le fstab peut ,ne plus correspondre avec se qu'il y a en commentaire
enfin n'importe qui qui débarque sur le poste est noyé par un flot de nom d'oiseau et au final on ne sait pas comment on peu d'aider?
Je sais pas peut être revoir tes scripts , il me semble ce que tu fais avec ton script il y a un utilitaire sympa duf-utility
-->les cahiers du debutant<-- WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde
En ligne
AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War
Hors ligne
Dernière modification par hybridemoineau (27-05-2021 21:50:55)
Hors ligne
Sinon, le fait qu'Alain ait eu le problème prouve simplement que je n'ai pas tort, donc que j'ai raison, soyons binaires,
non , cela montre la concomitance d'un phénomène analogue chez deux personnes au moins .
ni l'une ni l'autre n'a raison ou tort .
cela prouve simplement qu'une investigation en profondeur sur les statistiques d'erreurs , les causes et le fonctionnement est nécessaire .
l'analyse a été faite par râleur .
le problème semble très difficilement solutionnable .
dont acte .
pour ma part . mes lignes n'ont apporté aucune solution .
simplement un pis - aller qui permet de savoir qui est qui afin d'éviter des erreurs éventuelles .
mme si ce petit script s'est avéré utile , il ne m'a pas fourni la solution .
savoir l' assignation absolue du nom des disques .
amicalement ,
alain.
Hors ligne
Tu as plusieurs disques.
Oui.
Tu as un souci au démarrage, tu regardes les UUID, avec blkid par exemple.
Pas toujours, mais oui.
Tu fais des scripts ou des réglages, tu passes par les UUID.
Non pour les scripts, oui pour les réglages (les fameux point_de_montage.mount de systemd).
Tu t'interroges sur la variation de sdX, tu changes le fonctionnement de ton OS par rapport au matériel.
Oui, en m'inspirant de la remarque de raleur
les pilotes de disque n'ont plus été compilés en dur dans le noyau (et initialisés dans un ordre constant) mais en tant que modules inclus dans un initrd puis initramfs et chargés à la demande dans un ordre variable.
et de la constatation du changement d'identification dans /var/log/messages. Malheureusement je n'ai pas les compétences et les connaissances pour savoir qui fait quoi et quand dans le noyau, je pars juste de l'idée qu'en supprimant des modules chargés en mode random et en les incluant en dur dans le noyau pour avoir un comportement plus "statique" et séquentiel et reproductible, je devrais avoir un comportement plus stable.
Et c'est ce que je constate ce matin :
1-) démarrage plus rapide, hé ouais !
2-) les disques correctement détectés et d'une manière plus propre.
Quand je compare le bout de /val/log/messages donné hier avec celui de ce matin, il n'y a pas photo, regardez bien : tout est dans l'ordre, dans le bon ordre (j'ai enlevé quelques lignes pour alléger, elles sont inutiles à la compréhension du problème, et j'ai rajouté deux sauts de ligne pour la clarté -- je n'ai rien regroupé, contrairement aux sorties précédentes) !
Voilà, là c'est parfait : plus de micmacs, ata1 définit scsi 0:0:0:0: qui définit sd 0:0:0:0: comme sda et pareil pour les deux autres, c'est impec !
La seule chose qui manque dans ce listing (dans ces messages), c'est le numéro de série des disques car là, il est impossible de distinguer les deux gros disques l'un de l'autre, dommage. Plus qu'à faire confiance au système, encore que, à terme, avant de passer en prod', j'envisage de n'avoir qu'une seule partoche sur le disque des sauvegardes, je pourrai donc les distinguer par cette astuce.
À suivre…
le problème semble très difficilement solutionnable.
Pas sûr, pas sûr : j'ai un bon espoir, en regardant les lignes précédentes et la phrase de raleur, qu'on bon noyau en dur pourrait arranger les choses.
même si ce petit script s'est avéré utile, il ne m'a pas fourni la solution.
savoir l'assignation absolue du nom des disques.
Si tu parles de mon script, il n'a pas été écrit pour ça, je voulais juste un outil qui me remonte les informations au plus proche du cœur de la machine, et il le fait. Pas plus.
Et comme un imbécile j'ai oublié d'y inclure une sortie de df, pour qu'on se rende bien compte, en cas d'erreur de nommage au boot, que les sorties de df seront en vrac et donc ingérables (chose déjà signalée il y a longtemps).
Bonne journée,
Dernière modification par jpt (28-05-2021 10:31:41)
AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War
Hors ligne
je n'ai pas les compétences et les connaissances pour savoir qui fait quoi et quand dans le noyau
Grosso modo, la gestion des disques SATA fait intervenir trois couches de pilotes :
- le pilote du contrôleur SATA (ahci, ata_piix) qui émule un contrôleur SCSI et émet les messages préfixés par "ata"
- la gestion de base du SCSI (scsi_mod) qui émet les messages préfixés par "scsi"
- le pilote de disque SCSI (sd_mod) qui émet les messages préfixés par "sd"
ata1, ata2... désignent des ports SATA. ata1.00 désigne un périphérique ATA connecté au port ata1.
0.0.0.0, 1.0.0.0... désignent des périphériques SCSI. Je suppose que les 4 nombres représentent le contrôleur, le bus, le périphérique et l'unité logique ou quelque chose dans le genre.
Il y a un lien entre les identifiants de ports et de périphériques ATA et les identifiants de périphériques SCSI, mais il n'est pas toujours aussi trivial que dans ton cas. Sans compter que d'autres périphériques sont aussi gérés comme des périphériques SCSI comme les supports de stockage USB. Quand au nommage /dev/sd* des disques, il n'a aucun lien avec les précédents et dépend uniquement de l'ordre de prise en compte par le pilote sd_mod.
je pars juste de l'idée qu'en supprimant des modules chargés en mode random et en les incluant en dur dans le noyau pour avoir un comportement plus "statique" et séquentiel et reproductible
En fait je vois une grande différence entre les précédents logs et les derniers : dans les précédents, on distingue deux phases :
- une première phase où les disques sont détectés les uns après les autres par les pilotes libata et scsi_mod
- une seconde phase qui arrive bien plus tard où les disques sont tous énumérés en même temps par le pilote sd_mod
Alors que dans les derniers logs, les disques sont toujours détectés les uns après les autres mais chaque disque est énuméré immédiatement après avoir été détecté.
Une explication possible est que dans le premier cas le module sd_mod n'est pas encore chargé au moment où les disques sont détectés. Lorsqu'il est chargé, tous les disques ont déjà été détectés et l'ordre de prise en compte n'est pas assuré. Il pourrait suffire de pré-charger ce module dans l'initramfs (via /etc/initramfs-tools/modules) pour obtenir un ordre plus prévisible plutôt que recompiler un noyau.
tout est dans l'ordre, dans le bon ordre
Il n'y a pas de bon ordre, ni de mauvais. Il y a plusieurs ordres, plus ou moins reproductibles, plus ou moins fréquents.
En quoi cet ordre est-il meilleur qu'un autre ? Et qu'est-ce qui te dis que si tu changes ou ajoutes un disque ce bel ordre ne va pas être totalement chamboulé ? Et même sans rien changer, qu'est-ce qui te dit que de temps en temps, selon la température, la tension d'alimentation... le temps d'initialisation des disques ne va pas changer et avec lui l'ordre de détection ?
Je voudrais terminer avec un réflexion sur le nommage variable des périphériques qui te gêne tant. Pourtant ce nommage variable est courant dans deux autres cas et cela ne semble gêner personne :
1) Les supports de stockage USB. Personne ne s'émeut que leurs noms soient variables.
2) Les périphériques /dev/dm-* créés par le device mapper comme les volumes logiques LVM et les volumes chiffrés. Oui, ils peuvent varier mais ça ne gêne personne parce que personne ne les utilise directement : on utilise les liens symboliques /dev/mapper/* ou /dev/vg/lv créés par udev qui pointent toujours vers le bon périphérique. Rien ne t'empêche de créer des règles udev pour en faire autant avec tes disques, ainsi tu pourras utiliser par exemple /dev/ssd, /dev/data et /dev/backup qui pointeront toujours vers le bon disque quel que soit son nom /dev/sd*.
Il vaut mieux montrer que raconter.
Hors ligne