Имею выделенный сервер (Hetzner EX4). Однажды я перезагрузил сервер, но он не запускался. Служба поддержки клиентов сообщила мне, что один из жестких дисков неисправен, и активировала систему восстановления (Linux). На моем сервере 2 жестких диска по 3 ТБ на Raid1 (почти уверен в этом!)
Итак, я предполагаю, что по крайней мере один из дисков может быть использован, но я понятия не имею, как получить данные с моего сервера. Я провел небольшое исследование и попытался использовать partimage (и partimage server), но, поскольку я не понимаю, как диски и разделы работают в Linux, я не знаю, как получить данные с сервера.
Я даже не знаю, что я вижу, это диски, разделы или что-то еще!
Не уверен, но думаю, это может быть полезно:
root@rescue /dev # cd dev/
-bash: cd: dev/: No such file or directory
root@rescue /dev # dir
1-1 cpu full loop4 mouse1 ptyp2 ptype ram4 sda3 stderr tty16 tty27 tty38 tty49 tty6 ttyp4 ttyS0 vcs2 vga_arbiter
2-1 cpu_dma_latency fuse loop5 net ptyp3 ptypf ram5 sda4 stdin tty17 tty28 tty39 tty5 tty60 ttyp5 ttyS1 vcs3 vhost-net
2-1.4 disk hpet loop6 network_latency ptyp4 ram0 ram6 sda5 stdout tty18 tty29 tty4 tty50 tty61 ttyp6 ttyS2 vcs4 watchdog
2-1.6 event0 input loop7 network_throughput ptyp5 ram1 ram7 sdb tty tty19 tty3 tty40 tty51 tty62 ttyp7 ttyS3 vcs5 watchdog0
autofs event1 kmem loop-control null ptyp6 ram10 ram8 sdb1 tty0 tty2 tty30 tty41 tty52 tty63 ttyp8 urandom vcs6 xconsole
block event2 kmsg MAKEDEV port ptyp7 ram11 ram9 sdb2 tty1 tty20 tty31 tty42 tty53 tty7 ttyp9 usbmon0 vcsa zero
bsg event3 kvm mapper ppp ptyp8 ram12 random sdb3 tty10 tty21 tty32 tty43 tty54 tty8 ttypa usbmon1 vcsa1
btrfs-control event4 log md psaux ptyp9 ram13 rtc sdb4 tty11 tty22 tty33 tty44 tty55 tty9 ttypb usbmon2 vcsa2
bus event5 loop0 mem ptmx ptypa ram14 rtc0 sdb5 tty12 tty23 tty34 tty45 tty56 ttyp0 ttypc usbmon3 vcsa3
char event6 loop1 mice pts ptypb ram15 sda sg0 tty13 tty24 tty35 tty46 tty57 ttyp1 ttypd usbmon4 vcsa4
console fb0 loop2 microcode ptyp0 ptypc ram2 sda1 sg1 tty14 tty25 tty36 tty47 tty58 ttyp2 ttype vcs vcsa5
core fd loop3 mouse0 ptyp1 ptypd ram3 sda2 shm tty15 tty26 tty37 tty48 tty59 ttyp3 ttypf vcs1 vcsa6
root@rescue /dev # fdisk -l
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes
256 heads, 63 sectors/track, 363376 cylinders, total 5860533168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x8ab49420
Device Boot Start End Blocks Id System
/dev/sdb1 1 4294967295 2147483647+ ee GPT
Partition 1 does not start on physical sector boundary.
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sda: 3000.6 GB, 3000592982016 bytes
256 heads, 63 sectors/track, 363376 cylinders, total 5860533168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sda1 1 4294967295 2147483647+ ee GPT
Partition 1 does not start on physical sector boundary.
root@rescue /dev #
Может ли кто-нибудь дать мне совет или указать правильное направление для решения моей проблемы? Может быть, я все делаю неправильно, и мне следует применить другой подход, а может быть, это вообще невозможно: /
ОБНОВЛЕНИЕ 1 Во-первых, позвольте мне поблагодарить вас за все ваши предложения. Я пробовал несколько вещей, но не уверен, что означают результаты.
Во-первых, вы уже видели результат fdisk -l
(Я не уверен, что / dev / sda имеет идентификатор диска: 0x00000000, это подсказка ..
Я пытался установить /dev/sda1
и это сработало. Однако, если я перейду в этот каталог, я смогу увидеть только папку EFI. Это нормально?
Кроме того, если я попытаюсь установить /dev/sdb1
, Я получаю «монтирование: необходимо указать тип файловой системы».
Если я сбегу cat /proc/mdstat
Я получаю это:
Personalities : [raid1]
unused devices: <none>
ОБНОВЛЕНИЕ 2 Следуя совету Кристиана Чупиту, я запустил smartctl на обоих дисках, и вот результаты:
sdb:
root@rescue / # smartctl -l error /dev/sdb
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.10.36] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
ATA Error Count: 242 (device log contains only the most recent five errors)
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.
Error 242 occurred at disk power-on lifetime: 20101 hours (837 days + 13 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 00 8c fe a2 0b Error: UNC at LBA = 0x0ba2fe8c = 195231372
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
60 00 01 8c fe a2 4b 00 7d+19:32:38.593 READ FPDMA QUEUED
ef 10 02 00 00 00 a0 00 7d+19:32:38.559 SET FEATURES [Reserved for Serial ATA]
27 00 00 00 00 00 e0 00 7d+19:32:38.559 READ NATIVE MAX ADDRESS EXT
ec 00 00 00 00 00 a0 00 7d+19:32:38.559 IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00 7d+19:32:38.559 SET FEATURES [Set transfer mode]
Error 241 occurred at disk power-on lifetime: 20101 hours (837 days + 13 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 00 8b fe a2 0b Error: UNC at LBA = 0x0ba2fe8b = 195231371
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
60 00 01 8c fe a2 4b 00 7d+19:32:35.600 READ FPDMA QUEUED
60 00 01 8b fe a2 4b 00 7d+19:32:35.600 READ FPDMA QUEUED
ef 10 02 00 00 00 a0 00 7d+19:32:35.567 SET FEATURES [Reserved for Serial ATA]
27 00 00 00 00 00 e0 00 7d+19:32:35.567 READ NATIVE MAX ADDRESS EXT
ec 00 00 00 00 00 a0 00 7d+19:32:35.566 IDENTIFY DEVICE
Error 240 occurred at disk power-on lifetime: 20101 hours (837 days + 13 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 00 8d fe a2 0b Error: UNC at LBA = 0x0ba2fe8d = 195231373
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
60 00 01 8b fe a2 4b 00 7d+19:32:32.607 READ FPDMA QUEUED
60 00 01 8c fe a2 4b 00 7d+19:32:32.606 READ FPDMA QUEUED
60 00 01 8d fe a2 4b 00 7d+19:32:32.606 READ FPDMA QUEUED
ef 10 02 00 00 00 a0 00 7d+19:32:32.574 SET FEATURES [Reserved for Serial ATA]
27 00 00 00 00 00 e0 00 7d+19:32:32.573 READ NATIVE MAX ADDRESS EXT
Error 239 occurred at disk power-on lifetime: 20101 hours (837 days + 13 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 00 8a fe a2 0b Error: UNC at LBA = 0x0ba2fe8a = 195231370
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
60 00 01 8d fe a2 4b 00 7d+19:32:29.563 READ FPDMA QUEUED
60 00 01 8c fe a2 4b 00 7d+19:32:29.563 READ FPDMA QUEUED
60 00 01 8b fe a2 4b 00 7d+19:32:29.563 READ FPDMA QUEUED
60 00 01 8a fe a2 4b 00 7d+19:32:29.563 READ FPDMA QUEUED
ef 10 02 00 00 00 a0 00 7d+19:32:29.531 SET FEATURES [Reserved for Serial ATA]
Error 238 occurred at disk power-on lifetime: 20101 hours (837 days + 13 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
40 51 00 8e fe a2 0b Error: UNC at LBA = 0x0ba2fe8e = 195231374
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
60 00 01 8a fe a2 4b 00 7d+19:32:26.521 READ FPDMA QUEUED
60 00 01 8b fe a2 4b 00 7d+19:32:26.521 READ FPDMA QUEUED
60 00 01 8c fe a2 4b 00 7d+19:32:26.521 READ FPDMA QUEUED
60 00 01 8d fe a2 4b 00 7d+19:32:26.521 READ FPDMA QUEUED
60 00 01 8e fe a2 4b 00 7d+19:32:26.520 READ FPDMA QUEUED
sda:
root@rescue / # smartctl -t short /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.10.36] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
Short INQUIRY response, skip product id
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.
ОБНОВЛЕНИЕ 3 Я сделал lsblk, чтобы узнать, в каких разделах есть данные:
root@rescue / # lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 2.7T 0 disk
├─sda1 8:1 0 200M 0 part
├─sda2 8:2 0 1M 0 part
├─sda3 8:3 0 127M 0 part
├─sda4 8:4 0 2.7T 0 part /mnt
└─sda5 8:5 0 455.5K 0 part
sdb 8:16 0 2.7T 0 disk
├─sdb1 8:17 0 1M 0 part
├─sdb2 8:18 0 127M 0 part
├─sdb3 8:19 0 200M 0 part
├─sdb4 8:20 0 2.7T 0 part
└─sdb5 8:21 0 455.5K 0 part
loop0 7:0 0 1.5G 1 loop
Затем я установил sda4. Я могу видеть файловую систему (модуль C в Windows), но когда я захожу внутрь каталога (скажем, «Program Files») и пытаюсь перечислить все файлы, я получаю ошибку ввода-вывода:
dir: reading directory .: Input/output error
Я все равно попытался отправить всю файловую систему через ftp с помощью ncftpput, и большинство файлов выдало исключение ввода-вывода.
Если я попытаюсь смонтировать sdb4, я получу такую ошибку:
root@rescue / # mount /dev/sdb4 /mnt
ntfs_attr_pread_i: ntfs_pread failed: Input/output error
Failed to read vcn 0x28: Input/output error
Failed to mount '/dev/sdb4': Input/output error
NTFS is either inconsistent, or there is a hardware fault, or it's a
SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows twice. The usage of the /f parameter is very
important! If the device is a SoftRAID/FakeRAID then first activate
it and mount a different device under the /dev/mapper/ directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation
for more details.
ОБНОВЛЕНИЕ 4
Я безуспешно пробовал ntfsfix:
root@rescue / # ntfsfix /dev/sdb4
Mounting volume... ntfs_attr_pread_i: ntfs_pread failed: Input/output error
Failed to read vcn 0x28: Input/output error
FAILED
Attempting to correct errors...
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
ntfs_attr_pread_i: ntfs_pread failed: Input/output error
Failed to read vcn 0x28: Input/output error
Remount failed: Input/output error
Вам нужно заменить диск. Сейчас.
В Linux ваш массив будет отображаться как отдельный диск, если он не разбит на разделы или не разделен контроллером на разные виртуальные диски. Вы должны иметь возможность использовать последовательную консоль (если она предоставляется хостом) для загрузки в контроллер вашего сервера и посмотреть, как он настроен.
Но замените диск или извинитесь. В зависимости от возраста ваших дисков время выхода из строя второго может приближаться, и вы действительно хотите завершить восстановление. перед это не удается.
Сначала проверьте свои резервные копии. Если все пойдет хорошо, они вам не понадобятся, но это очень поможет (эмоционально), когда вы знаете, что ваши данные в безопасности и что вы можете рисковать, не понимая их полностью.
Затем выясните, какой RAID вы использовали. Это может быть аппаратный RAID, но также может быть программный RAID, такой как mdadm. Если вы не помните, что оплата за HW RAID mdadmn вероятна. Подтвердите это и прочтите справочные страницы mdadm.
Затем выясните, какой диск сломан, а какой все еще в порядке.
Смонтируйте диск, и это нормально, чтобы получить ухудшенный RAID1. К этой проверке cat /proc/mdstat
. Если вам повезет, вы получите примерно такой результат:
cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10] md0 : active raid1 sda1[0] sdb1[2](F) 24418688 blocks [2/1] [U_]
В этом примере mdadm загружается и распознает, что второй диск вышел из строя. Если вы не получаете этот вывод, проверьте, поддерживает ли ваше ядро mdadm или загружен ли нужный модуль. При желании создайте новое устройство md. По памяти команда для этого mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb2
. (Проверьте это! И поймите, что это предполагает сбой второго диска. Если это была первая запись, создайте один с отсутствующим sda!).
Как только вы получите работающее устройство / dev / mdX, скопируйте все свои данные в свободное место. Возможно, вам это не понадобится, но вы хотите быть уверены, что ваши резервные копии полностью обновлены. Только после этого попросите своего провайдера заменить сломанный диск на новый и добавить новый диск в массив RAID.
предостережения:
У вас должна быть возможность смонтировать жесткий диск, который все еще подключен к сети.
Попробуйте команду mount /dev/sda1 /mnt
Если эта команда работает, она смонтирует файловую систему под /mnt
. Перейдите в эту папку, и вы сможете увидеть файлы и папки. Просто сделайте резервную копию нужной информации и следуйте совету Джонатана.
Вы можете заменить неисправный жесткий диск на хороший, и он должен отремонтировать сам себя. Возможно, ваша реализация RAID отличается, и вам может потребоваться обратиться к документации вашего поставщика для получения дополнительных рекомендаций. Однако, если файловая система была повреждена программным обеспечением, а не плохим жестким диском, RAID не защищает от этого (например, плохая запись происходит на обоих жестких дисках).