Мой рабочий сервер имеет плохие блоки, и что теперь?

Мой сервер потерпел крах в N-й раз за пару месяцев, поэтому я решил сделать badblocks тестовое задание. я использовал fsck обнаружить и пометить badblocksи он действительно обнаружил некоторые. Если я прав, это означает, что файловая система больше не будет использовать эти блоки для хранения данных.

Но что происходит с данными, которые уже были там? Это было перемещено? Вероятно, он изначально был поврежден, поэтому, возможно, файлы, которые использовали эти блоки, повреждены. Теперь у меня есть несколько открытых вопросов:

  1. я могу определить, какие файлы были затронуты?
  2. как я могу проверить, повреждены ли эти файлы или нет после fsck?
  3. есть ли способ сказать моему дистрибутиву (Ubuntu 14.04) "переустановить все пакеты, так как они кэшируются в системе"? (то есть никаких обновлений, просто переустановка текущих версий без перезаписи файлов конфигурации)

Примечание: для полноты я вставляю сюда результат fsck:

root@rescue:~# fsck -vcck /dev/sda2
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
Checking for bad blocks (non-destructive read-write test)
Testing with random pattern: done                                                 
/dev/sda2: Updating bad block inode.
Pass 1: Checking inodes, blocks, and sizes

Running additional passes to resolve blocks claimed by more than one inode...
Pass 1B: Rescanning for multiply-claimed blocks
Multiply-claimed block(s) in inode 8: 119060233 119060234 119060592 119060615 119060616 119060617 119060618 119060619 119060620 119060621 119060623 119060624 119060625 119060626 119060632 119060633 119060635 119060636 119060637 119060638 119060639 119061755
Pass 1C: Scanning directories for inodes with multiply-claimed blocks
Pass 1D: Reconciling multiply-claimed blocks
(There are 0 inodes containing multiply-claimed blocks.)

File <The journal inode> (inode #8, mod time Mon May  5 14:17:18 2014) 
  has 22 multiply-claimed block(s), shared with 1 file(s):
        <The bad blocks inode> (inode #1, mod time Thu Aug  7 19:11:37 2014)
Clone multiply-claimed blocks<y>? yes
Error reading block 119060233 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060234 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060592 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060615 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060616 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060617 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060618 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060619 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060620 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060621 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060623 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060624 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060625 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060626 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060632 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060633 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060635 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060636 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060637 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060638 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119060639 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Error reading block 119061755 (Attempt to read block from filesystem resulted in short read).  Ignore error<y>? yes
Force rewrite<y>? yes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #0 (23499, counted=23477).
Fix<y>? yes
Free blocks count wrong for group #2016 (23956, counted=23961).
Fix<y>? yes
Free blocks count wrong for group #3633 (65514, counted=0).
Fix<y>? yes
Free blocks count wrong (231534163, counted=231534168).
Fix<y>? yes

/dev/sda2: ***** FILE SYSTEM WAS MODIFIED *****

      154609 inodes used (0.26%, out of 59736064)
          47 non-contiguous files (0.0%)
           9 non-contiguous directories (0.0%)
             # of inodes with ind/dind/tind blocks: 0/0/0
             Extent depth histogram: 154209/10
     7404456 blocks used (3.10%, out of 238938624)
          99 bad blocks
           2 large files

      126167 regular files
       27996 directories
           0 character device files
           0 block device files
           0 fifos
           0 links
         437 symbolic links (382 fast symbolic links)
           0 sockets
------------
      154600 files

1 ответ

Во-первых, взгляните на Bad Block HOWTO для smartmontools:

http://smartmontools.sourceforge.net/badblockhowto.html

Во-вторых, если у вас его еще нет, пора реализовать работающую стратегию резервного копирования.

Если вам нужна определенная доступность вашего сервера, вы также можете рассмотреть возможность реализации RAID-1, зеркалирование.

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

Другие вопросы по тегам