Linux sda3 var 驱动器损坏 - 需要一些文件

Linux sda3 var 驱动器损坏 - 需要一些文件

现在是凌晨 3 点,我的托管公司说发生了“网络问题”,总之,他们可以更换出现“故障”的硬盘,但不会帮助我从中恢复数据。

我需要从(CentOS)sda3 驱动器访问并下载单个文件夹的内容,这是我在备份中遗漏的文件夹,即var/www/vhosts/mydomain.com/httpdocs/images/

下一步我可以尝试什么?

我已经登录并尝试过:

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>

更新

自从遵循下面给出的出色建议后,我设法安装了驱动器,但我看不到我的网站目录。现在看起来很糟糕,而且非常奇怪。我还能做什么吗?驱动器大小仍然反映出我的文件应该在那里。

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

然后当我看着空间时:

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

我的网站文件夹未列出。

更新

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

这看上去糟糕透了。我是不是彻底迷失了?

答案1

您将无法/dev/sda3直接进行 fsck。从您的示例来看,/dev/sda3它上面没有文件系统,它有一个逻辑卷管理器“物理卷”:

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

该物理卷很可能有(至少)一个“卷组”,而该卷组又可以有多个“逻辑卷”:

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

这些逻辑卷是您需要挂载的文件系统所在的位置。

要继续,您需要让系统将其识别/dev/sda3为物理卷。运行pvdisplay以查看是否检测到该卷;如果幸运的话,可以检测到,然后您可以使用将vgchange -a y卷组激活到/dev/vg00。这样就可以/dev/vg00/var进行 fsck 并将其挂载为标准文件系统。

答案2

看起来你正在该驱动器上使用 LVM;因此似乎有一个卷组 vg00,它本身包含几个逻辑卷(例如var)。我这里没有 CentOS 的副本,所以我自己无法尝试,但是您需要先激活卷组,然后才能对其进行任何操作(例如您fsck可能需要执行的操作)。

尝试:

mount /dev/sda1 /mnt
vgchange -a y
fsck /dev/vg00/var
mount /dev/vg00/var /mnt/var

答案3

Donna:我一直在关注这个令人悲伤的问题,并希望现在一切都能圆满结束。既然还没有,我只能向您提出一个绝望的尝试:您是否尝试过浏览 /home 和 /usr?

有时符号链接和/或绑定挂载可以有效地向您隐藏真实的实际路径 - 也许您的 /var/www/vhosts 之前物理存储在 /dev/vg00/usr 或 /dev/vg00/home 上,并且只是符号链接到那里。

还可以尝试挂载/dev/vg00/usr/dev/vg00/home某个地方,看看内容是否以前确实存储在那里 - 有时符号链接和/或绑定挂载可以有效地隐藏真实路径。 /etc/fstab 看起来不太有希望,但既然你现在很绝望,你需要尝试所有可能的方法,不管你觉得它们有多绝望……

如果这没有任何帮助,你可以尝试使用以下工具相簿针对该分区,看看是否能找到任何东西。如果没有,请再次联系您的 ISP,并表现出极大的要求和愤怒。

相关内容