Estoy ejecutando un LVM RAID 1 en dos discos. Esto es lo que lvs
me dice sobre mi VG:
root@picard:~# lvs -a -o +devices,lv_health_status,raid_sync_action,raid_mismatch_count
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices Health SyncAction Mismatches
lv-data vg-data rwi-aor-r- 2.70t 100.00 lv-data_rimage_0(0),lv-data_rimage_1(0) refresh needed idle 0
[lv-data_rimage_0] vg-data iwi-aor-r- 2.70t /dev/sda(0) refresh needed
[lv-data_rimage_1] vg-data iwi-aor--- 2.70t /dev/sdb(1)
[lv-data_rmeta_0] vg-data ewi-aor-r- 4.00m /dev/sda(708235) refresh needed
[lv-data_rmeta_1] vg-data ewi-aor--- 4.00m /dev/sdb(0)
Parece que algo salió mal /dev/sda
. El registro SMART de ese disco se ve bien, así que espero que sea algo temporal y me gustaría actualizar/resincronizar mi RAID. Esto es lo que hago:
root@picard:~# lvchange --refresh vg-data/lv-data
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
(…wait for a couple of minutes…)
root@picard:~# lvs -a -o +devices,lv_health_status,raid_sync_action,raid_mismatch_count
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices Health SyncAction Mismatches
lv-data vg-data rwi-aor-r- 2.70t 100.00 lv-data_rimage_0(0),lv-data_rimage_1(0) refresh needed idle 0
[lv-data_rimage_0] vg-data iwi-aor-r- 2.70t /dev/sda(0) refresh needed
[lv-data_rimage_1] vg-data iwi-aor--- 2.70t /dev/sdb(1)
[lv-data_rmeta_0] vg-data ewi-aor-r- 4.00m /dev/sda(708235) refresh needed
[lv-data_rmeta_1] vg-data ewi-aor--- 4.00m /dev/sdb(0)
Entonces, ¿eso no sirvió de nada? Mi dmesg indica que intentó recuperar el RAID:
[150522.459416] device-mapper: raid: Faulty raid1 device #0 has readable super block. Attempting to revive it.
Bueno, está bien, ¿tal vez fregar ayude? Probemos eso:
root@picard:~# lvchange --syncaction repair vg-data/lv-data
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
root@picard:~# lvs -a -o +devices,lv_health_status,raid_sync_action,raid_mismatch_count
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices Health SyncAction Mismatches
lv-data vg-data rwi-aor-r- 2.70t 100.00 lv-data_rimage_0(0),lv-data_rimage_1(0) refresh needed idle 0
[lv-data_rimage_0] vg-data iwi-aor-r- 2.70t /dev/sda(0) refresh needed
[lv-data_rimage_1] vg-data iwi-aor--- 2.70t /dev/sdb(1)
[lv-data_rmeta_0] vg-data ewi-aor-r- 4.00m /dev/sda(708235) refresh needed
[lv-data_rmeta_1] vg-data ewi-aor--- 4.00m /dev/sdb(0)
Aquí hay varias cosas raras:
SyncAction
¿Es deciridle
, parece que el fregado ha terminado al instante?- Si termina de fregar,yla matriz aún necesita una actualización, ¿cómo puede el recuento de discrepancias seguir siendo 0? ¿La limpieza no debería detectar discrepancias y corregirlas (es decir, borrar el estado de "actualización necesaria") o aumentar el recuento de discrepancias a un valor distinto de cero?
dmesg dice:
[150695.091180] md: requested-resync of RAID array mdX
[150695.092285] md: mdX: requested-resync done.
También parece que el fregado realmente no hizo nada.
Preguntas
- ¿Cómo invoco la limpieza real?
- Suponiendo que la unidad no esté defectuosa, ¿cómo actualizo la matriz?
- Si la unidad estaba defectuosa (es decir, al actualizar se produjo un error inmediatamente), ¿cómo lo vería? ¿Supongo que dmesg debería mostrar algunos errores de E/S? (No veo ninguno de ellos...)
Información del sistema
Estoy ejecutando Armbian basado en Ubuntu 16.04.4 LTS. Versión LVM:
root@picard:~# lvm version
LVM version: 2.02.133(2) (2015-10-30)
Library version: 1.02.110 (2015-10-30)
Driver version: 4.37.0