Ludovic Laly, mon blog

12:26

Montage auto d'un DD externe avec udev

Sur mon poste fixe je jongle avec pas moins de 6 disques dur externe. soit relié directement sur un des port usb soit via un DAS (Direct Attached Storage). afin que chaque disque ai toujours le même point de montage, j'ai mis en place quelques règles udev

tout d’abords, lister les disques

l /dev/disk/by-uuid/

ce qui renvoi un truc du style:

lrwxrwxrwx 1 root root  10 mai    5 13:43 0d29e6f2-2898-4690-a799-9341d6618c06 -> ../../sda1
lrwxrwxrwx 1 root root  10 avril 24 00:50 2a193102-e847-4b45-85ed-93378f867b6f -> ../../sdo1
lrwxrwxrwx 1 root root   9 avril 24 00:50 3a1321c4-b32e-4b44-b831-b669d0122fb2 -> ../../md1
lrwxrwxrwx 1 root root  10 avril 24 00:50 42e66110-ca39-4da9-ae6f-34a8927d5f71 -> ../../sdi1
lrwxrwxrwx 1 root root   9 avril 24 00:50 5988a88f-4jb1-414e-90e9-6ff24b4b1289 -> ../../md0
lrwxrwxrwx 1 root root  10 avril 24 00:50 6a4c385d-f24b-4c1a-8f6a-32ae39f6ed03 -> ../../sdg1
lrwxrwxrwx 1 root root  10 avril 24 07:01 761a9950-9h9d-46c5-91aa-3553c3f77dd2 -> ../../sdn1
lrwxrwxrwx 1 root root   9 avril 24 00:50 7961c967-8361-42d0-9949-7ee56ae2399c -> ../../sdf
lrwxrwxrwx 1 root root  10 avril 24 00:50 888ca435-9f55-49dc-9c23-0db395239ca2 -> ../../sdh1

à partir de là, il faut différencier les disques physique des externes et ajouter dans le fichier fstab les lignes qui vont bien. sans oublier de modifier le point de montage, le système de fichiers ainsi que les options adéquat

vim /etc/fstab
UUID=761a9950-9h9d-46c5-91aa-3553c3f77dd2       /media/usb-hdd1         ext2    noauto,noatime,errors=remount-ro        0       0
UUID=2a193102-e847-4b45-85ed-93378f867b6f       /media/usb-hdd2         ext4    noauto,noatime,errors=remount-ro        0       0

maintenant au niveau de udev, on ajoute autant de ligne que l'on a de disque dur

vim /etc/udev/rules.d/80-external-usb-disk.rules
ACTION=="add", ENV{DEVTYPE}=="partition", ENV{ID_FS_UUID}=="761a9950-9h9d-46c5-91aa-3553c3f77dd2", RUN+="/bin/mount -U $env{ID_FS_UUID}"
ACTION=="add", ENV{DEVTYPE}=="partition", ENV{ID_FS_UUID}=="2a193102-e847-4b45-85ed-93378f867b6f", RUN+="/bin/mount -U $env{ID_FS_UUID}"

ne reste plus qu'à recharger udev

udevadm control --reload-rules

au passage, si il y a besoin de modifier le label du disque :

e2label /dev/sdn1 usb-hdd1
e2label /dev/sdo1 usb-hdd2

et en bonus comme les disques ont maintenant toujours le même point de montage, j'affiche leurs informations dans conky

${if_mounted /media/usb-hdd1}//usb/hdd1: ${fs_used_perc /media/usb-hdd1}% (${fs_free /media/usb-hdd1}) ${alignr}${fs_bar 8,60 /media/usb-hdd1}
${endif}${if_mounted /media/usb-hdd2}//usb/hdd2: ${fs_used_perc /media/usb-hdd2}% (${fs_free /media/usb-hdd2}) ${alignr}${fs_bar 8,60 /media/usb-hdd2}
${endif}