Recuperação Linux Mdadm + LVM

3

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.

    
por Darth Android 02.10.2010 / 22:10

1 resposta

3

Acontece que as unidades tinham tabelas de partições adicionadas a elas (provavelmente quando eu estava mexendo e tentando fazer com que a BIOS inicializasse a unidade certa na inicialização), e o LVM absolutamente se recusava a olhar para um dispositivo que contém uma partição mesa. Após preencher a tabela de partições com fdisk , o LVM detectou o grupo de volumes perfeitamente bem.

    
por 04.10.2010 / 06:07