device mapper nimmt falsche Partition?

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
dadadom
Beiträge: 1
Registriert: 19.02.2010 08:13:41

device mapper nimmt falsche Partition?

Beitrag von dadadom » 19.02.2010 08:28:14

Guten Morgen,

ich habe ein kleines Problem mit folgendem RAID (Debian stable, Linux kermit 2.6.26-2-686 #1 SMP Sat Dec 26 09:01:51 UTC 2009 i686 GNU/Linux)

Code: Alles auswählen

kermit:/var/log# lvdisplay /dev/systemlvm/var
  --- Logical volume ---
  LV Name                /dev/systemlvm/var
  VG Name                systemlvm
  LV UUID                25N7CR-ZpUM-zR18-NfS6-zeSe-AVnV-T98LuU
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                96.00 GB
  Current LE             768
  Segments               7
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3
   
kermit:/var/log# vgdisplay systemlvm 
  --- Volume group ---
  VG Name               systemlvm
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  19
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                4
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               144.75 GB
  PE Size               128.00 MB
  Total PE              1158
  Alloc PE / Size       952 / 119.00 GB
  Free  PE / Size       206 / 25.75 GB
  VG UUID               rL8Oq2-dA7o-eRYe-u1or-JA7U-fnb1-kjOyvr
   
kermit:/var/log# pvdisplay /dev/md2 
  --- Physical volume ---
  PV Name               /dev/md2
  VG Name               systemlvm
  PV Size               144.77 GB / not usable 16.31 MB
  Allocatable           yes 
  PE Size (KByte)       131072
  Total PE              1158
  Free PE               206
  Allocated PE          952
  PV UUID               ZSAzP5-iBvr-L7jy-wB8T-AiWz-0g3m-HLK66Y

kermit:/var/log# mdadm --detail /dev/md2
mdadm: metadata format 00.90 unknown, ignored.
mdadm: metadata format 00.90 unknown, ignored.
mdadm: metadata format 00.90 unknown, ignored.
/dev/md2:
        Version : 00.90
  Creation Time : Mon Aug 28 06:25:32 2006
     Raid Level : raid1
     Array Size : 151798080 (144.77 GiB 155.44 GB)
  Used Dev Size : 151798080 (144.77 GiB 155.44 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 2
    Persistence : Superblock is persistent

    Update Time : Fri Feb 19 08:17:43 2010
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           UUID : 601d4642:39dc80d7:96e8bbac:649924ba
         Events : 0.54941558

    Number   Major   Minor   RaidDevice State
       0       8        6        0      active sync   /dev/sda6
       1       8       22        1      active sync   /dev/sdb6

kermit:~# cat /etc/mdadm/mdadm.conf 
DEVICE partitions
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=00.90 UUID=11e9dc6c:1da99f3f:b3088ca6:c6fe60e9
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=00.90 UUID=92ed1e4b:897361d3:070682b3:3baa4fa1
ARRAY /dev/md2 level=raid1 num-devices=2 metadata=00.90 UUID=601d4642:39dc80d7:96e8bbac:649924ba

kermit:~# dmsetup deps systemlvm-var
1 dependencies	: (9, 2)
Auf md2 liegt also ein LVM. Starte ich den Rechner nun neu, werden md[01] problemlos eingebunden. Nur zu md2 steht folgende Meldung in der dmesg:

Code: Alles auswählen

[...]
[  191.616977] md: md2 stopped.
[  191.696006] md: bind<sda6>
[  191.762810] raid1: raid set md2 active with 1 out of 2 mirrors
[...]
Trotzdem sehen direkt nach dem Start die Eckdaten aus wie oben, nur ist die sdb6 nicht im md2 eingebunden. Stattdessen bekomme ich folgende Ausgabe (aus dem Kopf zusammengesucht):

Code: Alles auswählen

kermit:~# dmsetup deps systemlvm-var
3 dependencies	: (8, 22)
Der Device Mapper versucht also, die einzelne Partition des Raids einzubinden, weswegen der mdadm vermutlich sagt "Nö, die nehm ich nicht, die ist schon benutzt" woraufhin alles schiefgeht. Ich kann die LV dann manuell deaktivieren (lvchange -an ...), die sdb6 dann wieder ins Array reinbringen (mdadm --add) und dann (und das ist der nervige Teil) ein reiserfsck laufen lassen, da irgendwas immer kaputt ist.

Daher die Frage:
Wie kann ich den Device Mapper/LVM daran hindern, die sdb6 als einzelne Partition zu erkennen?


Hier noch die /etc/lvm/lvm.conf:

Code: Alles auswählen

kermit:/etc/lvm# grep -v ^$ lvm.conf | grep -v \#
devices {
    dir = "/dev"
    scan = [ "/dev" ]
    preferred_names = [ ]
    filter = [ "a/.*/" ]
    cache_dir = "/etc/lvm/cache"
    cache_file_prefix = ""
    write_cache_state = 1
    sysfs_scan = 1	
    md_component_detection = 0
    ignore_suspended_devices = 0
}
log {
    verbose = 0
    syslog = 1
    overwrite = 0
    level = 0
    
    indent = 1
    command_names = 0
    prefix = "  "
}
backup {
    backup = 1
    backup_dir = "/etc/lvm/backup"
    archive = 1
    archive_dir = "/etc/lvm/archive"
    
    retain_min = 10
    retain_days = 30
}
shell {
    history_size = 100
}
global {
    
    umask = 077
    test = 0
    units = "h"
    activation = 1
    proc = "/proc"
    locking_type = 1
    fallback_to_clustered_locking = 1
    fallback_to_local_locking = 1
    locking_dir = "/lib/init/rw"
}
activation {
    missing_stripe_filler = "/dev/ioerror"
    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"
}
Die fstab (die LVM-Partitionen sind explizit auskommentiert damit sie nicht automatisch starten):

Code: Alles auswählen

kermit:/etc/lvm# grep -v ^$ ../fstab | grep -v \#
proc /proc proc defaults 0 0
/dev/md0 /boot ext3 defaults 0 2
/dev/md1 / ext3 defaults,errors=remount-ro 0 1
/dev/sda5 none swap defaults,pri=1 0 0
/dev/sdb5 none swap defaults,pri=1 0 0
[update] Kleines Update: dmsetup zeigt mir im korrekten Fall an:

Code: Alles auswählen

kermit:/usr/share/doc/dmsetup# dmsetup table systemlvm-var
0 10485760 linear 9:2 10486144
10485760 6291456 linear 9:2 4194688
16777216 4194304 linear 9:2 44040576
20971520 10485760 linear 9:2 31457664
31457280 20971520 linear 9:2 48234880
52428800 33554432 linear 9:2 85983616
85983232 115343360 linear 9:2 127926656
Im Fehlerfall steht dort entsprechend als device 8:22, also sdb6. Natürlich ist das falsch ...

Antworten