LVM RAID1 (mirror) по умолчанию не активируется при отсутствии одного из физических томов — это безопасный default, но он же ломает boot когда один диск физически умер.

Настройка

В /etc/lvm/lvm.conf (или в /etc/lvm/lvm.conf.d/ drop-in):

activation {
    activation_mode = "degraded"
}

Значения:

  • "complete" (default) — активировать только при наличии всех PV. Безопасно для данных, но boot падает при сдохшем диске.
  • "degraded" — активировать с потерей избыточных PV (RAID1 mirror copy, RAID5 одного диска). Данные остаются доступны.
  • "partial" — активировать в любом случае, даже если данные неполны. Опасно — может привести к чтению нулей из отсутствующих экстентов.

Для домашнего сервера с RAID1 + резервным копированием — degraded оптимально.

Ручная degraded-активация

Если default complete и нужно срочно поднять VG:

sudo vgchange -ay --activationmode degraded VGNAME

После этого LV активны на одном PV. RAID1 в degraded state — mirror не пишется, защита потеряна до replace.

Проверка состояния

sudo lvs -o lv_name,seg_type,sync_percent,lv_health_status
# LV    Type   Cpy%Sync Health
# root  raid1  100.00            <- норм
# root  raid1  ----     partial  <- один PV отсутствует

lvs -a -o +devices показывает с каких именно дисков читается.

Восстановление после замены диска

# заменить диск физически, инициализировать как PV
sudo pvcreate /dev/sdX
 
# добавить в VG
sudo vgextend VGNAME /dev/sdX
 
# скопировать данные обратно в mirror (LVM сам выберет где не хватает копий)
sudo lvconvert --repair VGNAME/LVNAME

После — lvs должен показать 100.00 sync и пустой Health.

Refresh при “refresh needed”

Если LVM показывает странное состояние (после сетевых разрывов USB-storage и пр.):

sudo lvchange --refresh VGNAME/LVNAME

Перечитывает метаданные без re-activation.

Связано


Мета

Область:: 00 Linux
Родитель:: Logical Volume Management