Forum Linux.général RESOLU : LVM sur un disque dur USB (en fait c'est du Raid logiciel et pas du LVM !)

Posté par  .
1
11
nov.
2011

Bonjour,

j'ai sorti un HDD Sata de mon NAS Sinology pour faire un test de récupération des données avant de transférer toute ma vie numérique dessus.

$fdisk /dev/sdb

Device Boot Start End Blocks Id System
/dev/sdb1 63 39070079 19535008+ 83 Linux
/dev/sdb2 39070080 976768064 468848992+ 8e Linux LVM

Donc je veux monter ce LVM

$sudo lvm lvscan
No volume groups found

J'essaye un petit

$sudo vgchange -ay
No volume groups found

C'est quoi cette bouteille de lait ?

J'ai dû raté un truc quelque part...

  • # vgscan ?

    Posté par  (site web personnel) . Évalué à 2.

    Essaie la commande vgscan -v pour rechercher les Volume Groups :

    vgscan --help
    vgscan: Search for all volume groups

    vgscan  [-d|--debug]
        [-h|--help]
        [--ignorelockingfailure]
        [--mknodes]
        [-P|--partial] 
        [-v|--verbose]
        [--version]
    
    

    Quand tu utilises lvscan, tu va recherché les Logical Volumes des Volume Groups déjà connus, comme tu rajoute un nouveau disque ( = Physical Volume), tu dois demander à LVM de rechercher les Volume Groups (commande vgscan) ou les Physical Volumes (commande pvscan) avant d'utiliser vgchange

    • [^] # Re: vgscan ?

      Posté par  . Évalué à 1.

      Bonjour Honor,

      merci pour ton conseil.
      Malheureusement, ça ne fonctionne pas

      $ sudo vgscan -v
      Wiping cache of LVM-capable devices
      Wiping internal VG cache
      Reading all physical volumes. This may take a while...
      Finding all volume groups
      No volume groups found

      Le "LVM-capable devices" m'intrigue. Le fait d'être sur le bus USB pourrait bloquer LVM ?

      C'est bête que je n'ai pas de Tour pour tester en bus SATA, je n'ai que des Laptop.

      • [^] # Re: vgscan ?

        Posté par  (site web personnel) . Évalué à 0.

        Salut,

        Le "LVM-capable devices" m'intrigue. Le fait d'être sur le bus USB
        pourrait bloquer LVM ?

        je dirais que non, comme le dis plus bas fcartegnie, il y a le fichier lvm.conf, mais tu nous dis qu'il est bon, donc je sèche un peu.
        A tout hasard essaie la commande pvck /dev/sdb2, elle devrait permettre de voir si la partition /dev/sdb2 est bien un Physical Volume correct. Chez moi, cela donne ça :

        pvck /dev/mapper/cpv_system 
        Found label on /dev/mapper/cpv_system, sector 1, type=LVM2 001
        Found text metadata area: offset=4096, size=192512
        
        
        • [^] # Re: vgscan ?

          Posté par  . Évalué à 1.

          Bonjour,

          A priori, il ne trouve pas de label :

          sudo pvck /dev/sdb2
          Could not find LVM label on /dev/sdb2

          • [^] # Re: vgscan ?

            Posté par  (site web personnel) . Évalué à 2.

            Salut

            sudo pvck /dev/sdb2
            Could not find LVM label on /dev/sdb2

            Voila pourquoi LVM ne trouve rien, comme il n'y a pas de label sur la partition

            Tu nous dis que tu l'as sortis d'un NAS, cela veut dire que ce NAS n'utilise pas LVM. Est ce que tu as accès à une console en root sur ce NAS pour avoir sa configuration, il fait peut être du RAID logiciel ?

            • [^] # Re: vgscan ?

              Posté par  . Évalué à 2.

              Merci Honor,

              that was the point !

              DiskStation01> df -h
              Filesystem Size Used Available Use% Mounted on
              /dev/md0 2.3G 496.4M 1.8G 22% /
              /tmp 121.8M 524.0K 121.3M 0% /tmp
              /dev/md2 68.9G 14.4G 54.4G 21% /volume1

              Du coup, sur mon PC

              mdadm --examine --scan /dev/sdb3
              ARRAY /dev/md/2 metadata=1.2 UUID=38fe85f3:1c6be787:d08baf14:7a8839bd name=DiskStation:2

              Modif du mdadm.conf

              sudo vi /etc/mdadm/mdadm.conf
              DEVICE /dev/sdb3
              ARRAY /dev/md2 metadata=1.2 UUID=38fe85f3:1c6be787:d08baf14:7a8839bd name=DiskStation:2 devices=/dev/sdb3,missing

              Démarrage du RAID 1 (même avec un seul HDD)

              sudo mdadm -A -s -R

              Un petit montage

              sudo mount /dev/md2 /mnt/

              Et je peux récupérer mes données.

              Bon j'ai plus qu'à recommencer avec 2 gros disques et tout balancer sur le NAS, maintenant que je suis sûr de pouvoir récupérer les data.

              Merci encore :)

  • # lvm.conf

    Posté par  . Évalué à 4.

    Tout comme multipath, lvm ne scanne que ce qu'on lui autorise ->
    http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/lvm_filters.html

    • [^] # Re: lvm.conf

      Posté par  . Évalué à 1.

      Bonjour fcartegnie,

      d'après ce que j'en comprends, mon lvm.conf englobe tout :

      # By default we accept every block device:
      filter = [ "a/.*/" ]

      en revanche, je ne suis pas sûr d'avoir bien compris la partie sur udev :

      # If set, the cache of block device nodes with all associated symlinks
      # will be constructed out of the existing udev database content.
      # This avoids using and opening any inapplicable non-block devices or
      # subdirectories found in the device directory. This setting is applied
      # to udev-managed device directory only, other directories will be scanned
      # fully. LVM2 needs to be compiled with udev support for this setting to
      # take effect. N.B. Any device node or symlink not managed by udev in
      # udev directory will be ignored with this setting on.
      obtain_device_list_from_udev = 1

      • [^] # Re: lvm.conf

        Posté par  . Évalué à 2.

        En mettant
        obtain_device_list_from_udev = 0
        lvm scanne toutes les entrées créées dans le /dev, que le device existe ou pas.
        Dans le cas contraire, ce sont uniquement les entrées créées/retournées par udev.

        Tu peux tester donc.

        • [^] # Re: lvm.conf

          Posté par  . Évalué à 1.

          Pas mieux...

          raaggghh !!!! Au rage, au désespoir...

          • [^] # Re: lvm.conf

            Posté par  . Évalué à 2.

            Après tu peux vérifier par toi même ce qu'il cherche:
            strace -f vgscan 2>&1 | grep open(

            • [^] # Re: lvm.conf

              Posté par  . Évalué à 2.

              y'a un antislash à ( de open( mais ça passe pas ici.

              • [^] # Re: lvm.conf

                Posté par  . Évalué à 1.

                Bon, j'ai rajouté un petit "grep sdb" pour filtrer un peu le retour.

                $sudo strace -f vgscan 2>&1 | grep open( |grep sdb
                open("/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.0/host4/target4:0:0/4:0:0:0/block/sdb/uevent", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4
                open("/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb1/uevent", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4
                open("/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.0/host4/target4:0:0/4:0:0:0/block/sdb/sdb2/uevent", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4
                open("/sys/class/block/sdb/dev", O_RDONLY|O_LARGEFILE) = 6
                open("/sys/class/block/sdb1/dev", O_RDONLY|O_LARGEFILE) = 6
                open("/sys/class/block/sdb2/dev", O_RDONLY|O_LARGEFILE) = 6
                open("/dev/sdb", O_RDONLY|O_DIRECT|O_LARGEFILE|O_NOATIME) = 4
                open("/dev/sdb", O_RDONLY|O_LARGEFILE) = 6
                open("/dev/sdb1", O_RDONLY|O_DIRECT|O_LARGEFILE|O_NOATIME) = 4
                open("/dev/sdb1", O_RDONLY|O_LARGEFILE) = 6
                open("/dev/sdb1", O_RDONLY|O_LARGEFILE) = 4
                open("/dev/sdb1", O_RDONLY|O_DIRECT|O_LARGEFILE|O_NOATIME) = 4
                open("/dev/sdb1", O_RDONLY|O_DIRECT|O_LARGEFILE|O_NOATIME) = 4
                open("/dev/sdb2", O_RDONLY|O_DIRECT|O_LARGEFILE|O_NOATIME) = 4
                open("/dev/sdb2", O_RDONLY|O_LARGEFILE) = 6
                open("/dev/sdb2", O_RDONLY|O_LARGEFILE) = 4
                open("/dev/sdb2", O_RDONLY|O_DIRECT|O_LARGEFILE|O_NOATIME) = 4
                open("/dev/sdb2", O_RDONLY|O_DIRECT|O_LARGEFILE|O_NOATIME) = 4

                Donc, de ce que j'en comprends, il essaye bien de l'ouvrir, non ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.