2年半経ってようやく初めてHDDが故障したサーバーの話

今更ストレージサーバーをFreeBSDとZFSで組んだ話 - kuenishi's blogで作ったサーバーがチマチマとアップデートを繰り返しつつ FreeBSD 11.1 までアップデートされていた。

%> freebsd-version 
11.1-RELEASE-p3
(v)kuenishi@kushana:~
%> uname -a
FreeBSD kushana 11.1-RELEASE-p1 FreeBSD 11.1-RELEASE-p1 #0: Wed Aug  9 11:55:48 UTC 2017     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64

2年半何事もなく普通に動いていて、「HDDそろそろ壊れないと障害対応の方法忘れてしまいそう」などと思っていた…ところ、ようやく来た。今日ひさしぶりにアクセスしようとしたら(Macにマウントしようとしたら)返事しなくなっていた。とりあえず "zpool status" と打ち込むもものすごく返事が遅い。なので "/var/log/messages" をみると ata1 がおかしそうなので、もうちょっと調査する。

%> sudo smartctl -a /dev/ada1

これをやると「なんかオカシイ」みたいな文字が出る(保存してなかったのでなくなりました)。一方壊れてなさそうなディスクでやってみると

%> sudo smartctl -a /dev/ada2 | grep "No Errors"
No Errors Logged

となるので、どうもやっぱりディスクがおかしいということが確定する。ちなみに smartctl のコマンドは "pkg install smartmontools" でインストールできる。

仕方ないので物理的に交換する。実はこれはメインのデータ用ディスクじゃなくて控えのディスクをそのままSATAに挿して遊び場に使っていたディスクだったので、重要なデータに特に問題は起きていない。とりあえず挿してからZFSプールを作るところまでサクッとやっちゃう。gpart create のオプションはいろいろあるのだが、まあ賢いと信じて任せる。

%> sudo gpart show ada1
Password:
gpart: No such geom: ada1.
%> sudo gpart create -s GPT ada1
ada1 created
%> sudo gpart show ada1
=>        40  5860533088  ada1  GPT  (2.7T)
          40  5860533088        - free -  (2.7T)

%> sudo gpart add -t freebsd-zfs ada1
ada1p1 added
%> sudo zpool create attic ada1
%> zpool status attic                           
  pool: attic
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        attic       ONLINE       0     0     0
          ada1p1    ONLINE       0     0     0

errors: No known data errors

とまあサクッとできたので、いちおうデータ用のZFSプール (data/user) のスナップショットを注入しておく。

% sudo zfs snapshot data/user@snapshot20171120
# zfs send data/user@snapshot20171120 | zfs recv -F attic     

これでシコシコとスナップショットを送り始めるので、まあ一通りの作業は終了。そういえば何となく心配になってきたのでscrubも回しておくことにする。

% sudo zpool scrub data

なお特にオチはない。