Avant de pouvoir débrancher physiquement un disque SATA, il faut :
- Démonter toutes les partitions du disque
- Identifier l'emplacement du disque dans la chaine SATA
- Indiquer au système qu'on enlève un disque
Code : Tout sélectionner
sudo lshw -c storage -c disk
Par exemple, sur mon système actuel, j'obtiens ceci :
Code : Tout sélectionner
physical id: 0.0.0
bus info: scsi@2:0.0.0 # <host>:<physical id>
logical name: /dev/sde
On va donc aller dans /sys/class/scsi_host/host<n° de host>
A partir de là, les commandes sont à faire en tant que root (sudo n'a pas suffit chez moi).
On peut également garder une fenêtre de monitoring sur les logs du noyau :
Code : Tout sélectionner
tail -f /var/log/kern.log
Code : Tout sélectionner
ls -ahl /sys/class/scsi_host/host2/device/target2:0:0/2:0:0:0
Code : Tout sélectionner
--w------- 1 root root 4,0K déc. 1 19:55 delete
Code : Tout sélectionner
echo "1" > /sys/class/scsi_host/host2/device/target2:0:0/2:0:0:0/delete
On peut dès lors débrancher physiquement le disque.
Ajout d'un disque
On commence par connecter physiquement le disque en SATA (alimentation + données).
Il faut, là aussi, connaître le host sur lequel on connecte le nouveau disque. Dans le cadre du remplacement de disque, on admettra que l'on utilisera le même que celui dont on a retiré le disque ci-dessus (host 2 dans cet exemple).
Cette fois-ci, on va envoyer une commande au bus SCSI pour lui demander d'exécuter un scan (attention au numéro de host) :
Code : Tout sélectionner
echo "- - -" >/sys/class/scsi_host/host2/scan
Si le disque a bien été branché, les logs du noyau indiquent que ce dernier a bien détecté le disque, qui est donc disponible à l'utilisation.Quelques explications : les 3 « – » sont en fait normalement les numéros de bus de channel et de lun qui doivent être scannés. Ces numéros viennent du monde SCSI où l’on pouvait avoir plusieurs périphériques par canal. Ainsi, on pouvait rescanner un seul canal ou un seul lun en faisant :
echo "1 3 2" >/sys/class/scsi_host/host0/scan
pour rescanner le bus 1 channel 3 lun 2 de l’hôte 0…
En SATA c’est bien souvent inutilisé, donc nous utilisons « – – – » qui demande… de tout rescanner…