22.2. Suppression des périphériques de bloc et des métadonnées associées
Pour supprimer en toute sécurité un périphérique de bloc d'un système en cours d'exécution, afin d'éviter une surcharge de la mémoire système et une perte de données, vous devez d'abord supprimer les métadonnées qu'il contient. Traitez chaque couche de la pile, en commençant par le système de fichiers, puis le disque. Ces actions permettent d'éviter de placer votre système dans un état incohérent.
Utilisez des commandes spécifiques qui peuvent varier en fonction du type de dispositifs que vous supprimez :
-
lvremovevgremoveet sont spécifiques à LVM.pvremove -
Pour le RAID logiciel, exécutez
mdadmpour supprimer la matrice. Pour plus d'informations, voir Gestion du RAID. - Pour les dispositifs de blocage cryptés à l'aide de LUKS, il existe des étapes supplémentaires spécifiques. La procédure suivante ne fonctionnera pas pour les périphériques de bloc chiffrés à l'aide de LUKS. Pour plus d'informations, voir Chiffrement des périphériques de bloc à l'aide de LUKS.
Le fait de renumériser le bus SCSI ou d'effectuer toute autre action qui modifie l'état du système d'exploitation sans suivre la procédure décrite ici peut entraîner des retards dus aux délais d'entrée/sortie, à la suppression inattendue de périphériques ou à la perte de données.
Conditions préalables
- Vous disposez d'une pile de périphériques de bloc existante contenant le système de fichiers, le volume logique et le groupe de volumes.
- Vous vous êtes assuré qu'aucune autre application ou service n'utilise le dispositif que vous souhaitez supprimer.
- Vous avez sauvegardé les données de l'appareil que vous souhaitez supprimer.
Facultatif : si vous souhaitez supprimer un périphérique à chemins multiples et que vous ne pouvez pas accéder à ses périphériques de chemin, désactivez la mise en file d'attente du périphérique à chemins multiples en exécutant la commande suivante :
multipathd disablequeueing map multipath-device
# multipathd disablequeueing map multipath-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cela permet aux E/S de l'appareil de tomber en panne, ce qui permet aux applications qui utilisent l'appareil de s'arrêter.
La suppression des périphériques et de leurs métadonnées, couche par couche, garantit qu'aucune signature périmée ne subsiste sur le disque.
Procédure
Démonter le système de fichiers :
umount /mnt/mount-point
# umount /mnt/mount-pointCopy to Clipboard Copied! Toggle word wrap Toggle overflow Retirer le système de fichiers :
wipefs -a /dev/vg0/myvol
# wipefs -a /dev/vg0/myvolCopy to Clipboard Copied! Toggle word wrap Toggle overflow NoteSi vous avez ajouté une entrée dans le fichier
/etc/fstabpour établir une association persistante entre le système de fichiers et un point de montage, vous devez également modifier/etc/fstabà ce stade pour supprimer cette entrée.Poursuivez les étapes suivantes, en fonction du type de dispositif que vous souhaitez supprimer :
Supprimez le volume logique (LV) qui contenait le système de fichiers :
lvremove vg0/myvol
# lvremove vg0/myvolCopy to Clipboard Copied! Toggle word wrap Toggle overflow S'il ne reste aucun autre volume logique dans le groupe de volumes (VG), vous pouvez supprimer en toute sécurité le VG qui contenait le périphérique :
vgremove vg0
# vgremove vg0Copy to Clipboard Copied! Toggle word wrap Toggle overflow Supprimer les métadonnées du volume physique (PV) du ou des périphériques PV :
pvremove /dev/sdc1
# pvremove /dev/sdc1Copy to Clipboard Copied! Toggle word wrap Toggle overflow wipefs -a /dev/sdc1
# wipefs -a /dev/sdc1Copy to Clipboard Copied! Toggle word wrap Toggle overflow Supprimer les partitions qui contenaient les PV :
parted /dev/sdc rm 1
# parted /dev/sdc rm 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Ne suivez les étapes suivantes que si vous souhaitez effacer complètement l'appareil.
Supprimez la table de partition :
wipefs -a /dev/sdc
# wipefs -a /dev/sdcCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Ne suivez les étapes suivantes que si vous souhaitez retirer physiquement l'appareil.
Si vous supprimez un périphérique à chemins multiples, exécutez les commandes suivantes :
Afficher tous les chemins d'accès à l'appareil :
multipath -l
# multipath -lCopy to Clipboard Copied! Toggle word wrap Toggle overflow La sortie de cette commande est nécessaire dans une étape ultérieure.
Rincer les E/S et retirer le dispositif à trajets multiples :
multipath -f multipath-device
# multipath -f multipath-deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Si le périphérique n'est pas configuré comme périphérique à chemins multiples, ou s'il est configuré comme périphérique à chemins multiples et que vous avez précédemment transmis des E/S aux chemins individuels, videz toutes les E/S en attente sur tous les chemins de périphérique utilisés :
blockdev --flushbufs device
# blockdev --flushbufs deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceci est important pour les dispositifs auxquels on accède directement et pour lesquels les commandes
umountouvgreducen'effacent pas les E/S.Si vous retirez un périphérique SCSI, exécutez les commandes suivantes :
-
Supprimez toute référence au nom de l'appareil basé sur le chemin d'accès, tel que
/dev/sd,/dev/disk/by-pathou le numéromajor:minor, dans les applications, les scripts ou les utilitaires du système. Cela permet de s'assurer que les différents dispositifs ajoutés à l'avenir ne seront pas confondus avec le dispositif actuel. Retirer du sous-système SCSI chaque chemin d'accès au périphérique :
echo 1 > /sys/block/device-name/device/delete
# echo 1 > /sys/block/device-name/device/deleteCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ici, le
device-nameest extrait de la sortie de la commandemultipath -l, si le périphérique a été précédemment utilisé comme périphérique à trajets multiples.
-
Supprimez toute référence au nom de l'appareil basé sur le chemin d'accès, tel que
- Retirer le périphérique physique d'un système en cours d'exécution. Notez que les entrées/sorties vers d'autres périphériques ne s'arrêtent pas lorsque vous retirez ce périphérique.
Vérification
Vérifiez que les périphériques que vous souhaitez supprimer ne sont pas affichés dans la sortie de la commande
lsblk. Voici un exemple de sortie :Copy to Clipboard Copied! Toggle word wrap Toggle overflow