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
etso
non égales à zéro dans la sortievmstat
).
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
- Fermez tous les utilisateurs du périphérique et effectuez une copie de sauvegarde des données du périphérique selon les besoins.
- Veuillez utiliser
umount
pour démonter tout système de fichiers qui aurait monté le périphérique. - 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 commandepvmove
, puis utiliser la commandevgreduce
pour supprimer le volume physique, et (optionnellement)pvremove
pour supprimer les métadonnées LVM du disque. - 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 utilisantmultipath -f device
. - 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érationumount
ouvgreduce
pour causer un vidage d'E/S. - 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éromajor: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. - 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, êtresde
.Une autre variation de cette opération estecho 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, etl
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 ».