Eu recentemente reinstalei meu servidor Ubuntu com o 10.04 e estou tendo problemas para reativar a partição do LVM que armazena todos os meus dados não críticos. /dev/sda
, /dev/sdb
, /dev/sdc
e /dev/sdd
são todos reunidos em uma matriz Raid-5 /dev/md0
, na qual fica um único VG media
com LG part1
(eu acho; eu costumava poder montá-lo manualmente com vgchange -ay media && mount /dev/mapper/media-part1
). Meu problema é atualmente, não consigo fazer o sistema detectar o VG e ativá-lo. Não 20 minutos atrás, eu tinha trabalhado muito bem (eu tinha encontrado este problema na inicialização anterior, mas não consegui anotar quais as etapas que eu tomei para realmente obter o VG ativado quando eu finalmente inicializei o sistema).
O ataque monta muito bem e está limpo, mas não consigo fazer o VG aparecer ou montar. pvck /dev/md0
exibe:
Device /dev/md0 not found (or ignored by filtering).
O filtro no meu /etc/lvm/lvm.conf
é filter = [ "a/.*/" ]
pvck /dev/md0p1
exibe:% Could not find LVM label on /dev/md0p1
pvdisplay
produz a seguinte saída:
Setting global/locking_type to 1
Setting global/wait_for_locks to 1
File-based locking selected.
Setting global/locking_dir to /var/lock/lvm
Locking /var/lock/lvm/P_global RB
Scanning for physical volume names
/dev/ram0: No label detected
/dev/md0p1: Label for sector 1 found at sector 0 - ignoring
/dev/md0p1: No label detected
/dev/ram1: No label detected
/dev/sda1: Label for sector 1 found at sector 0 - ignoring
/dev/sda1: No label detected
/dev/ram2: No label detected
/dev/ram3: No label detected
/dev/ram4: No label detected
/dev/ram5: No label detected
/dev/ram6: No label detected
/dev/ram7: No label detected
/dev/ram8: No label detected
/dev/ram9: No label detected
/dev/ram10: No label detected
/dev/ram11: No label detected
/dev/ram12: No label detected
/dev/ram13: No label detected
/dev/ram14: No label detected
/dev/ram15: No label detected
/dev/sdb1: No label detected
/dev/sde1: No label detected
/dev/sdf1: No label detected
/dev/sdg1: No label detected
/dev/sdh1: No label detected
/dev/sdi1: No label detected
/dev/root: No label detected
/dev/sdj3: No label detected
/dev/sdj4: No label detected
/dev/sdj5: No label detected
/dev/sdj6: No label detected
Unlocking /var/lock/lvm/P_global
/dev/m0p1
é onde o PV deve ser armazenado, mas não está aparecendo. Infelizmente, eu não tenho meu diretório /etc/lvm/backup
da minha instalação anterior.
Tenho certeza de que os dados estão todos lá, só preciso saber
a) Como posso forçar o lvm a pesquisar o dispositivo /dev/md0
do grupo de volume, e
b) Como posso corrigir isso para que o sistema detecte e ative o grupo de volume na inicialização (o array RAID já monta na inicialização).
Não tenho certeza se entendi exatamente como o LVM está nos dispositivos físicos, portanto, se eu parecer confuso em minha terminologia, corrija-o. (PVs são dispositivos físicos, um VG fica no topo de um ou mais PVs, e há um ou mais LV em um VG, algo como partições em um disco rígido convencional?)
Meu lvm.conf atual (conforme fornecido por lvm dumpconf
) é:
devices {
dir="/dev"
scan="/dev/disk"
preferred_names=[]
filter="a/.*/"
cache_dir="/etc/lvm/cache"
cache_file_prefix=""
write_cache_state=1
sysfs_scan=1
md_component_detection=1
md_chunk_alignment=1
data_alignment_detection=1
data_alignment=0
data_alignment_offset_detection=1
ignore_suspended_devices=0
}
dmeventd {
mirror_library="libdevmapper-event-lvm2mirror.so"
snapshot_library="libdevmapper-event-lvm2snapshot.so"
}
activation {
udev_sync=1
missing_stripe_filler="error"
reserved_stack=256
reserved_memory=8192
process_priority=-18
mirror_region_size=512
readahead="auto"
mirror_log_fault_policy="allocate"
mirror_device_fault_policy="remove"
}
global {
umask=63
test=0
units="h"
si_unit_consistency=1
activation=1
proc="/proc"
locking_type=1
wait_for_locks=1
fallback_to_clustered_locking=1
fallback_to_local_locking=1
locking_dir="/var/lock/lvm"
prioritise_write_locks=1
}
shell {
history_size=100
}
backup {
backup=1
backup_dir="/etc/lvm/backup"
archive=1
archive_dir="/etc/lvm/archive"
retain_min=10
retain_days=30
}
log {
verbose=0
syslog=1
overwrite=0
level=0
indent=1
command_names=0
prefix=" "
}
EDITAR:
Parece que o LVM se recusa a escanear os dispositivos MD.
dandroid@tinuvael:/etc/lvm$ sudo vgcfgrestore --test --verbose media
Test mode: Metadata will NOT be updated.
Wiping cache of LVM-capable devices
Couldn't find device with uuid 'iTmyql-LYQv-N1GD-6aM0-BHco-uHEe-taHhBI'.
Cannot restore Volume Group media with 1 PVs marked as missing.
Restore failed.
Test mode: Wiping internal cache
Wiping internal VG cache
dandroid@tinuvael:/etc/lvm$ sudo blkid
/dev/md0: UUID="iTmyql-LYQv-N1GD-6aM0-BHco-uHEe-taHhBI" TYPE="LVM2_member"
/dev/sdc: UUID="b81c877f-6542-d03b-4e08-ceb6032f5cfe" TYPE="linux_raid_member"
/dev/sdd: UUID="b81c877f-6542-d03b-4e08-ceb6032f5cfe" TYPE="linux_raid_member"
Eu recortei várias linhas irrelevantes, mas as mostradas acima mostram que a matriz raid está montada e tem o UUID que o LVM está procurando, mas ainda continua a ignorar o dispositivo depois de adicionar types = [ "md", 16 ]
à minha configuração.