------- Original Message ------- Le lundi 24 avril 2023 à 15:52, ajh-valmer <ajh.val...@free.fr> a écrit :
> > > On Sunday 23 April 2023 11:23:26 Hugues Larrive wrote: > > > J'ai trouvé une solution par l'initrd. > > Créer un script /etc/initramfs-tools/scripts/init-premount/reorder_sd : > > #!/bin/sh > > if [ "$BOOT" = "local" ]; then Cette condition empêche le script d'être exécuté durant durant la création de l'initrd ce qui provoquerait un plantage. > > udevadm trigger --settle Ça c'est pour être sûr que udev a fini de créer les périphériques avant qu'on les supprime. > > echo 1 > /sys/block/sda/device/delete > > echo 1 > /sys/block/sdb/device/delete > > echo 1 > /sys/block/sdc/device/delete Ces 3 lignes suppriment sda, sdb, et sdc. > > echo "- - -" > /sys/class/scsi_host/host8/scan > > echo "- - -" > /sys/class/scsi_host/host6/scan > > echo "- - -" > /sys/class/scsi_host/host7/scan Celles-ci provoquent leur re-création dans l'ordre souhaité. Il est important de bien identifier le n° de host scsi du disque qu'on veut en /dev/sda (ici host8) et d'adapter le script en conséquence. Là host6 et host7 sont re-scannés ce qui recrée les 3 périphériques mais on pourrait aussi ne recréer que sda. Pour identifier le host de sdc (qu'on veut en sda) on peut faire `ls -l /sys/block/sdc`, le host se trouve dans le chemin pointé par ce lien symbolique. > > fi > > update-initramfs -u && reboot > > Et voilà ! > > > Hélas non... > > J'obtiens au reboot un (initramfs). > Lors du boot, multiples lignes : > mdam : no arrays found in config file or automatically > puis : > missing modules cat /proc/modules; ls /dev > Alert UUID <partition sdc5> does not exist. Dropping to a shell. > > (initramfs) Voilà une version améliorée du script qui mémorise les numéros de host scsi avant leur suppression : #!/bin/sh if [ "$BOOT" = "local" ]; then udevadm trigger --settle host_sda=$(ls -l /sys/block/sdc | sed -E 's/.*(host.).*/\1/') host_sdb=$(ls -l /sys/block/sda | sed -E 's/.*(host.).*/\1/') host_sdc=$(ls -l /sys/block/sdb | sed -E 's/.*(host.).*/\1/') echo 1 > /sys/block/sda/device/delete echo 1 > /sys/block/sdb/device/delete echo 1 > /sys/block/sdc/device/delete echo "- - -" > /sys/class/scsi_host/$host_sda/scan echo "- - -" > /sys/class/scsi_host/$host_sdb/scan echo "- - -" > /sys/class/scsi_host/$host_sdc/scan fi
publickey - hlarrive@pm.me - 0xE9429B87.asc
Description: application/pgp-keys
signature.asc
Description: OpenPGP digital signature