[Backup] リストア大作戦

技術のお話し

引っ越しの時、こんなものが出てきました。

886c33f1_640これ、画像にも書かれている通り2004年の外部向けサーバのバックアップテープです。

当時はFreeBSDで外部向けサーバを構築・運用してたわけですが、テープバックアップを勉強すべく、見よう見まねでdump/restoreコマンドを使ってバックアップ/リストアのテストをしてみた所、バックアップは出来たのだけどリストアが出来ないと言う不具合に見舞われ・・・・人柱として使ったのがなんと本番サーバだったと・・・・・Orz

原因は/etc/fstabの記述がまずく、ブートデバイスへのアクセスがうまくいかない事が原因だったわけですが、無知な当時はそんな事に気づくはずもなく・・・・復旧できずにテープはポイっとそこら辺に捨てたわけでございますのよ(うわーん)。。。その後、引っ越しのどさくさにまぎれてテープも行方不明になってたわけなんですが、この度何と、押し入れの隅から発見されましたと。

実はそれで全てのWebサーバデータが吹っ飛んだもんだから、やけくそになって数ヶ月後、BLOGに切り替えた・・・・というのが正直な所だったりします。実に2000年頃~2004年までのデータがこの中に詰まっており、これの損失はかなり痛かったです。で、忘れた頃にこんなものが出てきたと。当時はなんの知見もなくやっててハマったわけですが、今はLinuxのお仕事を通じて、dump/restoreコマンドに関しても完全に理解する事が出来てます。そんな訳で早速このデータのリストアに取り掛かりました。

まず、dump/restoreコマンドですが、LinuxとFreeBSDとではファイルシステムがext3(Linux)、UFS(FreeBSD)と異なることから、Linuxのdump/restoreコマンドは使用できないと判断。何となくufsdumpとかあれば行けそうな気もしますが・・・・FreeBSDのサーバをテンポラリに作る方向としました。

今頃物理サーバ単独でFreeBSDのサーバを構築するのも難しいことから、既存のVMware ESXiサーバであるこのサーバ

438abb89_640を使おうと言う事に。メモリの残量が少ないですが、まぁまぁ当時の外部サーバのメモリなんて128MBだったので。十分空きリソースもあります。

ただ、このケースだと増設カードが一切とりつけられないと言うわなが・・・・・・・・・Orzというわけで、ケースを買いに行く事にしました^^;せっかくの休みだ、秋葉原へレッツゴー。5980円のミニタワーケースを購入しました。

caa33b58_640あと、リストアするにはテープドライブが必要と言う事で、実は引っ越し前にオークションで落札して入札しております、DAT72ドライブを設置しました。で、ミニタワーケースに乗せ換えたこのサーバに、AdaptecのSCSI-HBAを取り付けると。VHDCI⇔WIDE68pinのケーブルを接続して完成ー・・・・・・と。

これでVMwareを起動し、FreeBSDサーバを構成しますと。バージョンはメジャーだけでも合わせた方が良いかと言う事で、4.11-RELEASEをチョイス。ただ、あまりにも古すぎるバージョンであるため(多分、4年以上前のOSなので・・)、通常のFTPサイトではダウンロードできない事が発覚^^;以下のURLにアクセスする必要があるようです。

FreeBSD-4.11-RELEASEの場合

ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/4.11-RELEASE/

これは、kern.flpやmfsroot.flpをダウンロードするだけでなく、インストーラの中で指定するFTPサイト設定も、これを指定する必要があります。もう、2.x~5.xはftp.freebsd.orgにはおいてないようです^^;

さて、インストールはちょっと時間がかかったけど無事に完了。カーネルも何とか立ちあがってくれました。

freebsdさて、テープをテープドライブに挿入する。ACTランプが点滅し、停止した所で以下のコマンドをドキドキしながら入力。

kuki# mt -f /dev/sa0 status
Mode      Density              Blocksize      bpi      Compression
Current:  0x25:DDS-3           variable       97000    DCLZ
———available modes———
0:        0x25:DDS-3           variable       97000    DCLZ
1:        0x25:DDS-3           variable       97000    DCLZ
2:        0x25:DDS-3           variable       97000    DCLZ
3:        0x25:DDS-3           variable       97000    DCLZ
———————————
Current Driver State: at rest.
———————————
File Number: 0  Record Number: 0        Residual Count 0
kuki#

おおおおおおお!どうやら読めそう!

続いて以下のコマンドを入力する。

kuki# mt -f /dev/nsa0 fsf 3

kuki# mt -f /dev/nsa0 status
Mode      Density              Blocksize      bpi      Compression
Current:  0x25:DDS-3           variable       97000    DCLZ
———available modes———
0:        0x25:DDS-3           variable       97000    DCLZ
1:        0x25:DDS-3           variable       97000    DCLZ
2:        0x25:DDS-3           variable       97000    DCLZ
3:        0x25:DDS-3           variable       97000    DCLZ
———————————
Current Driver State: at rest.
———————————
File Number: 3  Record Number: 0        Residual Count 0
kuki#

で、以下コマンドを実行する。

kuki# mkdir /home/tmp
kuki# cd /home/tmp
kuki# restore -rf /dev/nsa0

プロンプトが返ってきたら処理は終了。ドキドキしながらlsコマンドを実行してみると・・・・・あった!4年分のデータが!

あとは、このデータのユーザと同一名のユーザを別途作成し、mvコマンドを使用して移動。FTPサイトを公開し、ファイルサーバ上のInternet Explorerを経由してダウンロードするだけ!

てな訳で、現在鋭意ダウンロード中の状態でございます。当時、大抵のパッケージをTARBALLでインストールしており、そのソースのファイル数が多くて結構時間かかってますが・・・そろそろ終わるだろうと。さて、復旧したデータからこんなデータを拾い出してみました。

oldweb_2004うわーうわー、超懐かしいね。そして、当時のウェブサイトは結構真面目に作ってたんだなぁという事も理解しました。さらに言うと、自分のホームページ開設日が2000年2月26日であることも、この画面を見て思いだしました(大笑)。ちょっと、過去の遺産を整理してあれこれ画像を拾いたいと思います・・(他にも、当BLOGの前身の前身、ちょっとした語りとかも完全な形で残ってました。ちょっと読み返してみよう。未熟な小生を)

Tags:

No responses yet

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

PAGE TOP