Corrupt Linux sda3 var drive - precisa de alguns arquivos

2

São três horas da manhã e minha empresa de hospedagem diz que ocorreu um "problema de rede" e, em resumo, eles podem substituir o disco rígido que desenvolveu uma "falha", mas não me ajudarão a recuperar meus dados.

Eu preciso acessar e baixar o conteúdo de uma única pasta de uma unidade (CentOS) sda3, uma que perdi em meus backups, ou seja, var/www/vhosts/mydomain.com/httpdocs/images/ .

O que posso experimentar agora?

Eu fiz o login e tentei:

rescue:~# fdisk -l

Disk /dev/sda: 1500.3 GB, 1500311977984 bytes
64 heads, 32 sectors/track, 1430809 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        3816     3907568   83  Linux
/dev/sda2            3817        5724     1953792   82  Linux swap / Solaris
/dev/sda3            5725     1430809  1459287040   8e  Linux LVM

rescue:~# mount /dev/sda1 /mnt

rescue:~# mount
/dev/ram0 on / type ext2 (rw,errors=remount-ro)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /mnt type ext3 (rw)

rescue:~# cat /mnt/etc/fstab
/dev/sda1       /               ext3    defaults        1 1
/dev/sda2       none            swap    sw
/dev/vg00/usr   /usr            xfs     defaults        0 2
/dev/vg00/var   /var            xfs     defaults,usrquota       0 2
/dev/vg00/home  /home           xfs     defaults,usrquota       0 2
devpts          /dev/pts        devpts  gid=5,mode=620  0 0
none            /proc           proc    defaults        0 0
none            /tmp    tmpfs   defaults        0 0

rescue:~# fsck /mnt/var
fsck 1.37 (21-Mar-2005)
e2fsck 1.37 (21-Mar-2005)
fsck.ext2: Is a directory while trying to open /mnt/var
The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

rescue:~# fsck /dev/sda3
fsck 1.37 (21-Mar-2005)
e2fsck 1.37 (21-Mar-2005)
Couldn't find ext2 superblock, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sda3
The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

Atualizar

Desde que segui o brilhante conselho dado abaixo, consegui montar a unidade, mas não consigo ver o diretório do meu site. Isso parece muito ruim agora, e extremamente estranho. Existe mais alguma coisa que eu possa fazer por favor? O tamanho da unidade ainda reflete que meus arquivos devem estar lá ..

rescue:~# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               vg00
  PV Size               1.36 TB / not usable 0
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              356271
  Free PE               353199
  Allocated PE          3072
  PV UUID               YeULc0-E3XN-aF29-6Odh-JWFZ-U9qY-4KvGvl

rescue:~# vgchange -a y
  3 logical volume(s) in volume group "vg00" now active

rescue:~# fsck /dev/vg00/var
fsck 1.37 (21-Mar-2005)

rescue:~# mount /dev/vg00/var /mnt/var

Então, quando olho para o espaço:

rescue:/# cd /mnt/var/www/vhosts/
rescue:/mnt/var/www/vhosts# ll
total 0
drwxr-xr-x  10 root root 88 Jul 24 16:19 chroot
drwxr-xr-x   5 root root 49 Jul 24 16:16 default

A pasta do meu site não está listada.

Atualizar

rescue:/mnt/var/www/vhosts# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/ram0             252M  219M   33M  88% /
tmpfs                 7.9G  4.0K  7.9G   1% /dev/shm
/dev/sda1             3.7G  319M  3.4G   9% /mnt
/dev/mapper/vg00-var  4.0G  104M  3.9G   3% /mnt/var

Isso parece tão ruim quanto possível. Estou com uma perda total?

    
por Donna 25.07.2011 / 04:15

3 respostas

2

Você não poderá fsck /dev/sda3 diretamente. Do seu exemplo, /dev/sda3 não tem um sistema de arquivos, ele tem um LVM "físico volume ":

rescue:~# fdisk -l
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        3816     3907568   83  Linux
/dev/sda2            3817        5724     1953792   82  Linux swap / Solaris
/dev/sda3            5725     1430809  1459287040   8e  Linux LVM

Esse volume físico provavelmente tem (pelo menos) um "grupo de volumes", que por sua vez pode ter vários "volumes lógicos":

rescue:~# cat /mnt/etc/fstab
[...]
/dev/vg00/usr   /usr            xfs     defaults        0 2
/dev/vg00/var   /var            xfs     defaults,usrquota       0 2
/dev/vg00/home  /home           xfs     defaults,usrquota       0 2

Esses volumes lógicos são onde os sistemas de arquivos vivem e que você precisa montar.

Para continuar, você precisará fazer com que o sistema reconheça /dev/sda3 como um volume físico. Execute pvdisplay para ver se o volume é detectado; Se tiver sorte, é, e você pode usar vgchange -a y para ativar o grupo de volume em /dev/vg00 . Isso tornará o /dev/vg00/var disponível para ser fsck'ed e montado como um sistema de arquivos padrão.

    
por 25.07.2011 / 07:12
1

Parece que você estava usando o LVM nessa unidade; então parece haver um grupo de volume vg00 , que contém vários volumes lógicos (por exemplo, var ). Eu não tenho uma cópia do CentOS aqui, então eu não posso tentar isso sozinho, mas você precisa ativar o grupo de volume antes de poder fazer qualquer coisa com ele (por exemplo, o fsck que você provavelmente precisa fazer).

Tente:

mount /dev/sda1 /mnt
vgchange -a y
fsck /dev/vg00/var
mount /dev/vg00/var /mnt/var
    
por 25.07.2011 / 07:07
0

Donna: Eu tenho acompanhado essa questão triste e espero que isso já esteja feliz. Como não é, estou dando uma tentativa desesperada para você: você já tentou navegar / home e / usr?

Às vezes, links simbólicos e / ou montagens de bind podem efetivamente esconder o caminho real de você - talvez seu / var / www / vhosts tenha sido fisicamente armazenado em / dev / vg00 / usr ou / dev / vg00 / home e apenas linkado para lá.

Tente também montar /dev/vg00/usr e /dev/vg00/home em algum lugar e ver se o conteúdo já foi armazenado lá - às vezes, links simbólicos e / ou montagens de bind podem efetivamente ocultar o caminho real de você. O / etc / fstab não parece promissor, mas como você está desesperado neste momento, você precisa tentar todos os métodos possíveis, não importa o quanto você se sinta desesperado ...

Se isso não ajudar em nada, você pode tentar usar ferramentas como PhotoRec nessa partição e ver se ela é encontra qualquer coisa. Se isso não acontecer, entre em contato com o seu ISP mais uma vez e seja extremamente exigente e irritado.

    
por 26.07.2011 / 13:10