LINUX.ORG.RU
ФорумAdmin

Исчезло большое количество файлов


0

1

Есть файловый Samba-сервер, раздающий интернет, Debian Linux 5.0. Включен круглосуточно. На нем 2 диска в программном raid1 (mdadm).

Позавчера вечером отключили свет, а утром оказалось, что сервер не включается. Сгорел блок питания - заменили. После очень долгой загрузки windows-пользователи заметили, что отсутствуют все папки и файлы, начиная с 2011 года. После входа по ssh выяснилось еще, что сбились дата и время (села батарейка на материнке). Также показалось странным, что дата последнего входа 30 декабря 2010 г. (только в марте было, как минимум, 3 входа по ssh). Далее оказалось, что, кроме всего, сдох один из дисков в raid.

Стал разбираться. Файлов действительно нет. R-studio тоже не нашел их среди удаленных. В системных логах последние записи от 10 января 2011 года...

Чудес ведь не бывает? Есть идеи, что произошло и куда подевались файлы?

# /etc/fstab: static file system information.                                                                                                                                                                                                                                      
#                                                                                                                                                                                                                                                                                  
# <file system> <mount point>   <type>  <options>       <dump>  <pass>                                                                                                                                                                                                             
proc            /proc           proc    defaults        0       0                                                                                                                                                                                                                  
/dev/md0        /               ext3    errors=remount-ro 0       1                                                                                                                                                                                                                
/dev/md5        /home           ext3    defaults        0       2                                                                                                                                                                                                                  
/dev/md4        /tmp            ext3    defaults        0       2                                                                                                                                                                                                                  
/dev/md1        /usr            ext3    defaults        0       2                                                                                                                                                                                                                  
/dev/md2        /var            ext3    defaults        0       2                                                                                                                                                                                                                  
/dev/md3        none            swap    sw              0       0                                                                                                                                                                                                                  
/dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0       0                                                                                                                                                                                                              
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0                      
# cat /proc/mdstat 
Personalities : [raid1] 
md5 : active raid1 hda9[0]
      146223488 blocks [2/1] [U_]
      
md4 : active raid1 hda8[0]
      393472 blocks [2/1] [U_]
      
md3 : active raid1 hda7[0]
      1509952 blocks [2/1] [U_]
      
md2 : active raid1 hda6[0]
      2931712 blocks [2/1] [U_]
      
md1 : active raid1 hda5[0]
      4883648 blocks [2/1] [U_]
      
md0 : active raid1 hda1[0]
      345280 blocks [2/1] [U_]
      
unused devices: <none>

Последние сохранившиеся записи syslog и первая загрузка после замены блока питания (к сожалению, весь лог загрузки не вмещается, полностью скачать можно здесь):

Jan 10 11:39:01 server /USR/SBIN/CRON[23049]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm)
Jan 10 11:57:19 server smartd[3906]: Device: /dev/hdb, SMART Usage Attribute: 194 Temperature_Celsius changed from 103 to 104
Jan 10 12:00:01 server /USR/SBIN/CRON[23067]: (root) CMD (sarg)
Jan 10 12:09:01 server /USR/SBIN/CRON[23082]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm)
Jan 10 12:17:01 server /USR/SBIN/CRON[23092]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan 10 12:27:19 server smartd[3906]: Device: /dev/hda, SMART Usage Attribute: 194 Temperature_Celsius changed from 104 to 103
Jan 10 12:39:01 server /USR/SBIN/CRON[23102]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm)
Jan  1 03:54:47 server kernel: imklog 3.18.6, log source = /proc/kmsg started.
Jan  1 03:54:47 server kernel: [    0.000000] Initializing cgroup subsys cpuset
Jan  1 03:54:47 server kernel: [    0.000000] Initializing cgroup subsys cpu
Jan  1 03:54:47 server kernel: [    0.000000] Linux version 2.6.26-1-686 (Debian 2.6.26-13lenny2) (dannf@debian.org) (gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-25)) #1 SMP Fri Mar 13 18:08:45 UTC 2009
Jan  1 03:54:47 server kernel: [    0.000000] BIOS-provided physical RAM map:
Jan  1 03:54:47 server kernel: [    0.000000]  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
Jan  1 03:54:47 server kernel: [    0.000000]  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
Jan  1 03:54:47 server kernel: [    0.000000]  BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
Jan  1 03:54:47 server kernel: [    0.000000]  BIOS-e820: 0000000000100000 - 000000001ffb0000 (usable)
Jan  1 03:54:47 server kernel: [    0.000000]  BIOS-e820: 000000001ffb0000 - 000000001ffc0000 (ACPI data)
Jan  1 03:54:47 server kernel: [    0.000000]  BIOS-e820: 000000001ffc0000 - 000000001fff0000 (ACPI NVS)

Ответ на: комментарий от unanimous

Допустим, кто-то все удалил. Но почему syslog обрывается Jan 10 12:39:01?

debianuser ()

Ничего нового для себя не открыл. Думал будет что-то интересное, а тут ext*. Потерял файлы, welcome to the club

vertexua ★★★★★ ()
Ответ на: комментарий от debianuser

У этого накопителя на новый год отошёл шлейф. Поэтому принявший ислам БП не смог пригласить его с собой. При перетряхивании доткнул разъём.

sin_a ★★★★★ ()
Ответ на: комментарий от debianuser

Нет, все глюки в багзилле. Другое дело то что слишком много людей говорят что у них эксты полетели. У меня когда полетели, то пришлось переустанавливать. Точнее не у меня, а у подруги. Я ext уже много лет не юзаю, никакой

vertexua ★★★★★ ()
Ответ на: комментарий от sin_a

Когда рейд деградирует, он, в нормальном случае, начинает писать письма мелким почерком.

sin_a ★★★★★ ()
Ответ на: комментарий от debianuser

Так гипотезу я выше написал: у этого накопителя отвалился шлейф, он встал и всё ехало на втором, а второй преставился за компанию с блоком питания, итого в сухом остатке вовремя отвалившийся бекап. Проверить эту гипотезу можно только почтой с криками о деградации.

sin_a ★★★★★ ()

В свое время на работе наткнулись на забавную ситуацию: на далеком-далеком объекте в RAID1 «отвалился» один из дисков (шлейфик отошел). Поскольку объект был далеко, да еще и с сервером под Windows, об этом никто не знал. Потом после случайной встряски шлейфик встал на место, и драйвер не долго думая сделал sync... Причем сделал в полном соответствии с законами Мерфи, то есть переписал новые данные старыми.

Как то больно похоже на ваш расклад.

Nastishka ★★★★★ ()
Ответ на: комментарий от Nastishka

Ну, так, когда один винчестер со свежими данными накрывается, а другой винчестер ВНЕЗАПНО обнаруживается системой после подтыкания его шлейфа, тут уж никакие законы Мэрфи не действуют. Всё чётко по законам физики Ломоносова: если где-то что-то убыло, то такое-же что-то в другом месте прибудет. Хотя не факт, что прибывшее будет тем же самым — прошло прилично времени, чтобы данные на отключенном винте успели устареть. ;)

iZEN ★★★★★ ()
Ответ на: комментарий от iZEN

Не аксиома.

Аксиома: зеркало RAID-1 не является бэкапом.

Это не аксиома, потому что вытекает из того, что зеркалирование не спасает от ошибок пользователя.

Camel ★★★★★ ()
Ответ на: комментарий от debianuser

А кто за состоянием RAID следил то? RAID он на то, чтобы при выходе из строя одного из НЖМД оперативно заменить его, а не ждать ещё новых сбоев.

mky ★★★★★ ()

Налицо рассинхронизация raid1 давно-давно, а запустились вы с той копией данных, которая была несинхронизированна.

zgen ★★★★★ ()
Ответ на: комментарий от vertexua

Думал будет что-то интересное, а тут ext*. Потерял файлы

думай головой сначала. Причем тут ext*

zgen ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.