メモ/LAN/外向サーバ

宅内サーバのバックアップ


目的

  • HDDが不調な宅内サーバのフルバックアップ
  • HDDが本気でヤバめなので、できるだけHDDに負荷を掛けずに手元でどうにかする。

前提条件

どういう状態か

  • hdaとsdaどちらもまずい状態
    • たまにI/O errorで死ぬ
  • 特にhda1(/が置いてある)がよくコケる
    • よってシステムが死にやすい
    • reboot時に手動fsckを求められることがある
  • sdaには/varが置いてあるが、こちらもたまにinodeが変になってる模様
    • fsckが自動で動いてfixしたりしている

サーバのハードウェア構成

M/B
ASUS P/I-XP55T2P4 Rev. 3.00
CPU
AMD K6-233ANR (core 3.2V, I/O 3.3V)
Memory
128MB (32*2*2)
HDD1(hda)
IDE 8.4GB (Western Digital Caviar 84AA)
16383cyl, 16heads, 63sct
HDD2(sda)
SCSI 2.1GB (IBM DORS-32160)
CD-ROM
TEAC CD-56E (6x)
MO
OLYMPUS MOS33
SCSI I/F
Adaptec AHA2940AU
Network I/F
Planex FNW-9700-T
VIA VT86C100A

ソフトウェア関係

OS

  • Debian/GNU Linux 3.0r2 (woody)
    • bf2.4

ネットワーク

  • Bフレッツ
    • ニューファミリー
  • EditNet? 固定IP8
    • /29 netmask

要件

バックアップ条件

  • 今すぐやる
    • 一度rebootしたらHDDを認識しなかったので緊急事態
  • 電源断/投入の負荷は安全面から掛けたくない
    • HDDが完全に死んだらおしまいだから
  • 一部のファイルは読めないかもしれない
    • I/O errorが頻発したらシステムも動かなくなるので
  • ユーザのファイルだけでなく、全部バックアップ
    • 後で取り忘れがあったなんていうのはシャレにならないし
  • 手持ちのマシン(Win2k)のディスクに対してバックアップを取る
    • 電源断/投入を避けたいのと、手持ちの空きディスクがないことから

作業方針

前提

  • 単にファイルを持ってきただけではダメ
    • permissionやownerが保存されないので意味がない
  • tar.gzで固めてFTPは、サーバのHDDにファイルを置かなきゃいけないので却下
    • HDDにこれ以上負荷は掛けられない
    • 更にtar.gzで固めたものは一部が欠けても復旧不可になる

ではどうするか?

保存先は?

  • WindowsマシンのHDD
    • 普通にコピーするだけではowner/permissionが保存されないから
    • ファイル名の扱いも問題だし
    • sambaを使うとWindows側に合わせてしまう

ではどうするか?

  • SFUを使ってNFSサーバを立ち上げて、サーバ側からmountする
    • これならUNIXのファイルシステムと同様の扱いができる

作業内容

SFUのインストール・設定

バックアップ作業

df

Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda1              2885780    472876   2266316  18% /
/dev/hda3              4949344   3803232    894696  81% /home
/dev/sda1              2079284    441952   1531708  23% /var

mount

# mount -o sync,hard,intr,rw utsu:/NFS /mnt/utsu

backup

# find . | egrep -v '^\./proc/|^\./mnt/' | \
afio -o -v -Z -L /mnt/utsu/fullbackup041120.log /mnt/utsu/fullbackup041120.afz 2>&1 | \ 
tee /mnt/utsu/fullbackup041120.lis

I/O error対策

  • /dev/hda1 (/)のI/O error
    • LBAsect 341 sector 278が読めないようだ。
       
  • /dev/hda3 (/home)のI/O error
    • /home/BACKUP/usr/share/ をバックアップしているあたりでI/O errorで死ぬ。
      • つまりそのあたりにbad sectorがあるらしい。
      • LBAsect 10754691 sector 4890966あたりの模様。
         
  • /dev/hda1の方はどこにあるのかわからない。
    • 当たったら不運としか言いようがない。
    • errorで死んだらそこをpurgeする。
       
  • /dev/hda3の方は場所が分かってるので回避
     
  • というわけでI/O errorが出る場所をpurge.
     
    # find . | egrep -v '^\./proc/|^\./mnt/|^\./lost+found/|^\./home/BACKUP/usr/share/' | \
    afio -ovZ -L /mnt/utsu/fullbackup041120.log /mnt/utsu/fullbackup041120.afz 2>&1 | \ 
    tee /mnt/utsu/fullbackup041120.lis

それどころではない

結論

リンク集

ソフトウェア

Debian

その他


コメント

最新の10件を表示しています。 コメントページを参照

  • ddWNjtNRphnJTg -- chghip? 2008-03-09 05:06:56 (日)
    • CGibYajyyPZ -- sdghds? 2008-07-04 (金) 06:45:56
    • pwmCLYYVyWwiQcDsYs? -- ohppdbmqzgg? 2009-01-09 (金) 22:30:17
  • viMzInerzvXAdwsHXCf -- Bob? 2008-09-08 (月) 19:10:19
  • ZYxMeUeCPzrtxZKVIvU -- John? 2008-09-08 (月) 23:03:00
  • ZYxMeUeCPzrtxZKVIvU -- John? 2008-09-08 (月) 23:03:24
お名前:

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-11-29 (月) 21:20:54 (4503d)