NEET株式会社Webサーバーダウンしていました。

The following two tabs change content below.
夜桜 なのです。 バーチャル女の子をしてるなの。 陸上自衛隊卒のレトルトカレー評論家 高校生の時にフルアセンブラでウィルスを作って、他人に渡したものの、児童相談所に通報されなかったという経歴があるの。 返せなくなった211億円のバーチャル借金があるの。ぐすぐす;; 取締役ブログ事業部部長、音楽事業部部長、IT業務部部長 etc...

サーバーの味噌煮

2018/02/24 22:44頃~2018/02/25 9:20頃の間
2018/02/25 10:12頃~2018/02/25 14:21頃の間
ニー株サーバーがダウンしていました。

これから、突然、わけわかめな話になるが、ごめんねなの。

最初にサーバーダウンしている間、あたしは何をしていたか?

AbemaTVで

【公開直前!! 映画ドラえもん のび太の宝島公開記念】ドラえもんテレビスペシャル

クレヨンしんちゃん 週末まとめ一挙(#97〜101)

あたしンち #7

こちら葛飾区亀有公園前派出所 #93〜96

を見ながら、寝床についてたの。ぐすぐす;;

起きてからサーバーダウンに気付いたの。

当初サーバーダウンしてから復帰する時何したの?

単にサーバーリブートを行なったなの。

しかし、fsck の結果がおかしいな、と思いながら・・・

次にサーバーダウンをしてた時、何したの?

# dumpfs / | grep flags

を行なった時

flags none

となっていたの。

FreeBSD (10.x)のデフォルトインストールだと、softupdates と SUJ (journal) が生きているはずなの、と思い、おかしいと断定したの。

一度ダウンさせて、シングルモードで

# tunefs -n enable /dev/vt0bd0p2
# tunefs -j enable /dev/vt0bd0p2

を行なって、ブートさせても

# dumpfs / | grep flags

の結果は

flags none

のままだったなの。

サーバーダウンして、fsck で止まっているということを考慮して

(実は去年の8月もダウンしていたんです)

ファイルシステムをきちんと修復しないといけないのかしら。ということになったなの。

ファイルシステムってどうやって修復したの?

改めて通常リブートをして、シングルモードで

# fsck -y /dev/vtbd0p2

とやったら

# ls

とやったら

lost+founds

しかなかったなの。

そして、OS Loader から /boot/loader を読み込みできなくなったの。

そして、OSインストーラーのISOを入れて、緊急shellモードで立ち上げて

# df

をすると、ディスク容量は空っぽではないの。

ということで

# ls lost+found

をしたら

ルートディレクトリのチェーンから破壊された、ディレクトリがいくつか出てきたの。

中身は大体覚えているので

mv #0001353 usr

とかしながら

しかし

bin boot etc rescue root usr var

しか復帰できなかったの。

再インストール決断なの

イメージ的にこんな操作をして、バックアップを取ったなの

# mount -t ufs /dev/vtbd0p2 /mnt
# mkdir /mnt/home
# mount -t ufs /dev/vtbd1p1 /mnt/home
# mkdir /mnt/home/b
# cd /mnt/lost+found
# tar cvf /mnt/home/b/boot.tar boot
# tar cvf /mnt/home/b/etc.tar etc
# tar cvf /mnt/home/b/root.tar root
# tar cvf /mnt/home/b/usr.tar usr
# tar cvf /mnt/home/b/var.tar var
# umount /mnt/home
# umount /mnt
# sync
# reboot

そして、システムパーティションを破壊し、そこに新たなOSイメージをISOからインストールして

# mkdir /home
# mount -t ufs /dev/vtbd1p1 /home
# tar xvf /home/b/boot.tar
# tar xvf /home/b/var.tar
# tar xvf /home/b/usr.tar

そして、パッチの当たったソースがバックアップにあるので

# cd /usr/src
# make buildkernel KERNELCONF=NEETCONOHA
# make buildworld
# make installkernel KERNELCONF=NEETCONOHA
# make installworld

その後、etc のバックアップを展開して

# cd /
# tar xvf /mnt/home/b/etc.tar

サーバーリブートして

# reboot

サーバーが復旧したなの。

Windowsとは違って、FreeBSDは (Linuxもだけど@@) root権限があれば、すべてのファイルが無制限に読み書きできるからできる、復旧技だったの。

サーバー復旧しながら何してたの?

バックアップとか再ビルドとかものすごいファイルアクセス数で、ものすごくHDD時間とCPU時間を食べるの。

だから、やってる間暇だったので

AbemaTVで

こちら葛飾区亀有公園前派出所 #97~#100

を見ながらやってたなの。

ところでアイキャッチ画像は何なの?

サーバーエラーの時に表示されるサーバーの味噌煮なの。

じゃなくて、実際は、今は出してないんだけど、ココスの休日モーニングのバイキングの鯖の味噌煮なの。

バイキングというか、食べ放題だからこそ出せる量かもしれないの。

スポンサーリンク