. Sun & Solaris 廃品利用研究所 . dot 本サイトの利用条件 dot 更新履歴 dot テクノロジー dot .
DOT
dot ハードウェア dot ソフトウェア dot ネットワーク dot 写真館 dot LaTeX dot Download dot
. .
.
メニュー

. . Solaris
. . . パッケージ
. . . . 作成する
. . . パッチ
. . . . 推奨パッチ
. . . Solaris標準
. . . . NTP
. . . . 文字変換
. . . ファイルシステム
. . . . usfdump
. . . . usfrestore
. . . . CDイメージ活用
. . . SUN RAY
. . . . TIPS
. . . apache
. . . . apache+php
. . . Freeware
. . . . Solaris 8

ufsdump とは


 Solaris に標準で付属しているバックアップコマンドには ufsdump というものがあります.これは,スライス毎にバックアップを取ったり,差分バックアップを取ったりとなかなかに便利な機能です.
 この機能を利用してバックアップをしてみようと思います.

始めに取るべきもの


 まず,どのスライスにどのデータがかかれているかを確実にメモしておく必要があります.これを怠ると後で痛い目に遭います.
 どのスライスにどのデータが入っているのか.そして,スライスのサイズはどのくらい必要なのか.それらの基礎的データが分からないとせっかくのバックアップが必要なときに利用できないと言う緊急事態になりかねません.
 バックアップするからには,戻せる形で取っておかなければ意味がないですものね.

 と,言うわけで.まず,スライス情報を取得することにします.
 たとえば,とあるシステムで取得する場合,この様にやります.


# format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <Seagate Medalist 34342A cyl 8892 alt 2 hd 15 sec 63>
          /pci@1f,0/pci@1,1/ide@3/dad@0,0
Specify disk (enter its number): 0
selecting c0t0d0


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        repair     - repair a defective sector
        show       - translate a disk address
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit
format> p


PARTITION MENU:
        0      - change `0' partition
        1      - change `1' partition
        2      - change `2' partition
        3      - change `3' partition
        4      - change `4' partition
        5      - change `5' partition
        6      - change `6' partition
        7      - change `7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name   - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        !<cmd> - execute <cmd>, then return
        quit
partition> p
Current partition table (original):
Total disk cylinders available: 8892 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm       0 -  266      123.20MB    (267/0/0)   252315
  1        usr    wm     267 -  982      330.38MB    (716/0/0)   676620
  2     backup    wm       0 - 8891        4.01GB    (8892/0/0) 8402940
  3        var    wm     983 - 1308      150.42MB    (326/0/0)   308070
  4       swap    wu    1309 - 1628      147.66MB    (320/0/0)   302400
  5 unassigned    wm    1629 - 1954      150.42MB    (326/0/0)   308070
  6        usr    wm    1955 - 4122     1000.37MB    (2168/0/0) 2048760
  7       home    wm    4123 - 8890        2.15GB    (4768/0/0) 4505760

partition>

 この様にして,ディスクの情報を取得します.このデータはリストアする際に非常に役に立つ場合があります.紙に印刷してテープと一緒に保存することをお勧めします.
 特に,ハードディスクに致命的な欠陥が発生し交換するようなことがあった場合などあって良かったと思えるはずです.

テープにバックアップする


 テープにバックアップする際には,シングルモードにするのが良く言われる方法です.
 シングルモードにはinitというコマンドで移ることが出来ます.


# init S


こうして,シングルモードをにしてからufsdumpというコマンドでスライスごと吸い上げてしまいましょう.
 ufsdumpは使い方は難しくはないのですが,テープドライブがどのマシンにつながっているかによって使い方が面倒になってしまいます.
 まず,バックアップするマシンにドライブがついており,ついているマシンでバックアップするなら,

ufsdump [オプション] [テープのデバイス] [ダンプするディスク]

 等とします.ただ,違うマシンにつながれたテープドライブにネットワーク越しにバックアップする場合はちょっと手間がかかります.
 まず,テープ装置のついたマシンにrootでrsh出来るように設定します.
 rootのホームディレクトリに.rhostsを作り,その中にテープ装置を利用しようとするマシンのIPアドレス等を記述します.
 あと,忘れては行けないのはinetd.confでrshを有効にしてください.そうしないと相手のマシンにデータを送ることが出来ません.
 そうして,先ほどとはちょっと違う書式,

ufsdump [オプション] [テープマシンのIP/ホスト名]:[テープのデバイス] [ダンプするディスク]

でバックアップを開始します.

具体的なバックアップ方法


 では,具体的にバックアップを行ってみましょう.


#!/bin/sh
ufsdump -0cf /dev/rmt/0cn /dev/rdsk/c0t0d0s0
ufsdump -0cf /dev/rmt/0cn /dev/rdsk/c0t0d0s6
ufsdump -0cf /dev/rmt/0cn /dev/rdsk/c0t0d0s1
ufsdump -0cf /dev/rmt/0cn /dev/rdsk/c0t0d0s7
ufsdump -0cf /dev/rmt/0cn /dev/rdsk/c0t0d0s5
ufsdump -0cf /dev/rmt/0c /dev/rdsk/c0t0d0s4

 このようなスクリプトを製作してみました.このスクリプトのパラメータは自分の環境に合わせて変更してください.
 実際にこのスクリプトを動かしてみます.

 意味はわかりますよね?
 ちなみに,どこかリモートのマシンにバックアップするなら,

#!/bin/sh
ufsdump -0cf tape.SPARCstation.org:/dev/rmt/0cn /dev/rdsk/c0t0d0s0
ufsdump -0cf tape.SPARCstation.org:/dev/rmt/0cn /dev/rdsk/c0t0d0s6
ufsdump -0cf tape.SPARCstation.org:/dev/rmt/0cn /dev/rdsk/c0t0d0s1
ufsdump -0cf tape.SPARCstation.org:/dev/rmt/0cn /dev/rdsk/c0t0d0s7
ufsdump -0cf tape.SPARCstation.org:/dev/rmt/0cn /dev/rdsk/c0t0d0s5
ufsdump -0cf tape.SPARCstation.org:/dev/rmt/0c /dev/rdsk/c0t0d0s4

のようにすれば,tape.SPARCstation.org(実在しません)にバックアップできます.
     
  POWERED BY Visual Editor! Valid HTML 4.01! Valid CSS!
DOT LOGO
■作成日■ 2003.02.02 ■更新日■ 2003.02.02 ■作成者■ Shuntaro Tojo
本ページは,Netscape 7.0/InternetExplorer 6.0でのみ表示確認しています.
.