Шпаргалка: LUN и безопасная очистка сигнатур (wipefs)
🎯 Описание
Для чего эта шпаргалка: Быстро и безопасно управлять LUN'ами: опознавать, отключать потребителей, стирать сигнатуры (GPT/LVM/MD/FS/crypto), пересканировать шину/карты multipath и возвращать диски в "чистое" состояние.
Когда используется:
- Перед повторным использованием LUN (re-provisioning)
- При конфликте сигнатур (неверные FS/LVM/MD метки)
- Перед окончательным отцеплением от хоста
Краткий контекст: Linux-серверы с LVM/MD, dm-crypt, multipath; хранилища по iSCSI/FC/NVMe. Команды применимы для Debian/Ubuntu/RHEL-подобных систем.
🔧 Быстрые команды
🔍 Шаг 1: Идентификация LUN
# Компактный обзор всех дисков
lsblk -e7 -o NAME,KNAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,UUID,MODEL
# WWID/ID-ссылки (используйте ТОЛЬКО их, не /dev/sdX)
ls -l /dev/disk/by-id /dev/disk/by-path
# Multipath карты
multipath -ll
🛑 Шаг 2: Остановка потребителей (безопасное отцепление)
# Проверка кто держит устройство
sudo lsof /dev/mapper/mpatha
sudo fuser -vm /dev/mapper/mpatha
# Отключение файловых систем и свопа
sudo umount -R /mnt/ТОЧКА_МОНТИРОВАНИЯ 2>/dev/null || true
sudo swapoff -a
# Деактивация LVM
sudo lvchange -an VG/LV || true
sudo vgchange -an VG || true
# Остановка MD-RAID
sudo mdadm --stop /dev/mdX || true
# Закрытие dm-crypt
sudo cryptsetup luksClose ИМЯ_МАПЫ || true
🗑️ Шаг 3: Очистка сигнатур (ДЕСТРУКТИВНО)
# Просмотр что будет удалено
sudo wipefs -n /dev/mapper/mpatha
# ⚠️ ДЕСТРУКТИВНО: Стирание всех сигнатур
sudo wipefs -a /dev/mapper/mpatha
# ⚠️ ДЕСТРУКТИВНО: Полная очистка GPT (основной + backup заголовок)
sudo sgdisk -Z /dev/mapper/mpatha
# Очистка остатков MD/LVM
sudo mdadm --zero-superblock /dev/mapper/mpatha || true
sudo pvremove -ff -y /dev/mapper/mpatha || true
# ⚠️ ДЕСТРУКТИВНО: UNMAP для thin LUN (освобождение места на СХД)
sudo blkdiscard -f /dev/mapper/mpatha
🔄 Шаг 4: Обновление таблицы разделов и multipath
# Перечитывание таблицы разделов
sudo partprobe /dev/mapper/mpatha || sudo blockdev --rereadpt /dev/mapper/mpatha
# Обновление multipath карт
sudo multipath -r
# ⚠️ ДЕСТРУКТИВНО: Удаление конкретной карты multipath
sudo multipath -f mpatha
🔄 Шаг 5: Пересканирование шины (по ситуации)
# SCSI пересканирование
for h in /sys/class/scsi_host/host*; do echo "- - -" | sudo tee $h/scan; done
# Удаление SCSI устройства (когда LUN убран на массиве)
echo 1 | sudo tee /sys/block/sdX/device/delete
# iSCSI управление
sudo iscsiadm -m session # просмотр сессий
sudo iscsiadm -m node --rescan # пересканирование
sudo iscsiadm -m node -T iqn... -u # отключение (если LUN уходит)
# NVMe управление
sudo nvme list
sudo nvme rescan
🔍 Диагностика:
# Общая картина дисков/ФС
lsblk -e7 -o NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,MODEL,SERIAL,WWN
# Детальная информация о блочных устройствах
blkid -o full
wipefs -n /dev/DEVICE
file -s /dev/DEVICE
# Device Mapper и multipath
dmsetup ls --tree
multipath -ll
multipathd show maps status
# LVM/MD/Crypto состояние
pvs -o+pv_used
vgs -o+vg_free
lvs -a -o+devices
mdadm --examine /dev/sdX
cryptsetup luksDump /dev/DEVICE
# Проверка использования устройства
lsof /dev/DEVICE
fuser -vm /dev/DEVICE
mount | grep DEVICE
swapon --show
📊 Проверка статуса сервисов:
# Статус основных сервисов
systemctl status multipathd iscsid systemd-udevd
# Состояние multipath
multipathd show maps
# Информация об устройстве
udevadm info -q all -n /dev/mapper/mpatha
📋 Просмотр логов:
# Системные логи
journalctl -k -b | egrep -i 'scsi|nvme|multipath|dm-|lvm|md|iSCSI'
# Сообщения ядра
dmesg | egrep -i 'sense data|I/O error|nvme|multipath'
🔧 Устранение проблем:
# Перезапуск основных сервисов
sudo systemctl restart multipathd
sudo systemctl restart iscsid
sudo systemctl restart systemd-udevd
# Обновление правил и кэша
sudo multipath -r
sudo udevadm control --reload-rules
sudo udevadm trigger --action=change
sudo udevadm settle
# Принудительная перезагрузка устройства
sudo blockdev --setrw /dev/sdX # если диск read-only
💡 Полезные советы
- Всегда используйте WWID/by-id вместо /dev/sdX - имена могут измениться
- Делайте dry-run:
wipefs -nпоказывает что будет удалено без записи - Полная стерильность: связка
wipefs -a+sgdisk -Zочищает FS и резервный GPT - Тонкие LUN: если массив поддерживает UNMAP,
blkdiscardосвободит место на СХД - Документируйте WWID:
scsi_id -g -u -d /dev/sdXилиcat /sys/block/sdX/device/wwid - Проверяйте трижды перед выполнением деструктивных операций
⚠️ Частые ошибки
| Ошибка | Причина | Решение |
|---|---|---|
wipefs: ... busy |
Том смонтирован/используется процессом | lsof/fuser, umount, swapoff, lvchange -an, mdadm --stop, cryptsetup luksClose |
BLKRRPART: ... busy |
Ядро держит партиции/DM-узлы | dmsetup remove, blockdev --rereadpt, partprobe, sgdisk -Z |
GPT PMBR size mismatch |
Поврежден backup заголовок GPT | sgdisk -Z /dev/DEVICE затем создание новой метки |
multipathd: map in use |
Карта используется или есть партиции | Закрыть потребителей → multipath -f mpathX → multipath -r |
| Старый LUN "висит" | Udev/SCSI не удалил устройство | echo 1 > /sys/block/sdX/device/delete → пересканирование |
| Диск внезапно read-only | Ошибки контроллера/массива | blockdev --setrw /dev/sdX, проверить dmesg |
| iSCSI старые параметры | Кэш устаревших настроек | iscsiadm -m node --rescan, переподключение сессии |
🚨 Критически важно
⚠️ ВСЕ ДЕСТРУКТИВНЫЕ ОПЕРАЦИИ НЕОБРАТИМЫ!
Перед выполнением команд с пометкой "ДЕСТРУКТИВНО":
- Убедитесь что работаете с правильным устройством
- Сделайте резервные копии важных данных
- Проверьте что устройство не используется (
lsof,fuser)- Используйте dry-run команды где возможно
Примечание: Для специфических связок (iSCSI/FC/NVMe, конкретные multipath политики, LVM/MD/crypto) может потребоваться адаптация команд под вашу инфраструктуру.