24.8. Supprimer un périphérique de stockage

Avant de supprimer l'accès au périphérique de stockage même, il est conseillé de commencer par effectuer une copie de sauvegarde des données du périphérique. Ensuite, videz les E/S et supprimez toutes les références au périphérique du système d'exploitation (comme décrit ci-dessous). Si le périphérique utilise une fonction multivoies, veuillez effectuer ceci pour le « pseudo-périphérique » (Section 24.7.2, « WWID ») et pour chaque identificateur qui représente un chemin vers le périphérique. Si vous supprimez uniquement un chemin vers un périphérique multivoies, et que tous les autres chemins restent, alors la procédure est plus simple, comme décrit dans Section 24.10, « Ajouter un périphérique ou un chemin de stockage ».
La suppression d'un périphérique de stockage n'est pas recommandée lorsque le système se trouve sous pression mémoire car le vidage des E/S s'ajoutera à la charge. Pour déterminer le niveau de pression mémoire, exécutez la commande vmstat 1 100 ; la suppression du périphérique n'est pas recommandée si :
  • La mémoire disponible fait moins de 5% de la totalité de la mémoire dans plus de 10 échantillons pour 100 (la commande free peut également être utilisée pour afficher la mémoire totale).
  • La fonction swap est active (colonnes si et so non égales à zéro dans la sortie vmstat).
La procédure générale pour supprimer tout accès à un périphérique est comme suit :

Procédure 24.9. S'assurer d'une suppression de périphérique normale

  1. Fermez tous les utilisateurs du périphérique et effectuez une copie de sauvegarde des données du périphérique selon les besoins.
  2. Veuillez utiliser umount pour démonter tout système de fichiers qui aurait monté le périphérique.
  3. Supprimez le périphérique de tout volume md et LVM qui l'utilise. Si le périphérique est un membre d'un groupe de volumes LVM, alors il faudra sans doute déplacer les données hors du périphérique en utilisant la commande pvmove, puis utiliser la commande vgreduce pour supprimer le volume physique, et (optionnellement) pvremove pour supprimer les métadonnées LVM du disque.
  4. Si le périphérique utilise la fonction multivoies, veuillez exécuter multipath -l et prendre note de tous les chemins menant au périphérique. Ensuite, veuillez supprimer le périphérique multivoies en utilisant multipath -f device.
  5. Veuillez exécuter blockdev --flushbufs device pour vider toute E/S restante sur tous les chemins vers le périphérique. Ceci est particulièrement important pour les périphériques bruts, lorsqu'il n'y a pas d'opération umount ou vgreduce pour causer un vidage d'E/S.
  6. Veuillez supprimer toute référence au nom basée sur le chemin du périphérique, comme /dev/sd, /dev/disk/by-path ou sur le numéro major:minor, dans les applications, scripts, ou utilitaires du système. Ceci est important pour s'assurer que les différents périphériques ajoutés dans le futur ne soient pas confondus avec le périphérique actuel.
  7. Finalement, veuillez supprimer chaque chemin vers le périphérique à partir du sous-système SCSI. Pour ce faire, veuillez utiliser la commande echo 1 > /sys/block/device-name/device/delete, où device-name pourrait, par exemple, être sde.
    Une autre variation de cette opération est echo 1 > /sys/class/scsi_device/h:c:t:l/device/delete, où h est le numéro HBA, c est le canal sur le HBA, t est l'ID de la cible SCSI, et l est le LUN.

    Note

    L'ancienne forme de ces commandes, echo "scsi remove-single-device 0 0 0 0" > /proc/scsi/scsi, est déconseillée.
Vous pouvez déterminer le nom-du-périphérique, le numéro du HBA, canal du HBA, l'ID et le LUN de la cible SCSI d'un périphérique à l'aide de diverses commandes, telles que lsscsi, scsi_id, multipath -l, et ls -l /dev/disk/by-*.
Après avoir effectué une opération Procédure 24.9, « S'assurer d'une suppression de périphérique normale », un périphérique peut être supprimé en toute sécurité d'un système en cours d'exécution. Il n'est pas nécessaire d'arrêter les E/S des autres périphériques pour ceci.
D'autres procédures, comme la suppression physique de périphériques, suivies d'un nouveau scan du bus SCSI (comme décrit dans Section 24.11, « Scanner les interconnexions du stockage ») pour que l'état du système d'exploitation soit mis à jour et reflète les changements, ne sont pas recommandées. Celles-ci provoquent des délais, dûs à l'expiration des E/S, et des périphériques peuvent être supprimés de manière inattendue. S'il est nécessaire d'effectuer un nouveau scan d'une interconnexion, il devra être fait lorsque les E/S sont sur pause, comme décrit dans Section 24.11, « Scanner les interconnexions du stockage ».