------- Original Message ------- Le lundi 24 avril 2023 à 15:52, ajh-valmer <[email protected]> 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 - [email protected] - 0xE9429B87.asc
Description: application/pgp-keys
signature.asc
Description: OpenPGP digital signature

