PRIMECLUSTER Global File Services 説明書 4.2 (Solaris(TM) オペレーティング環境版)
目次 索引 前ページ次ページ

付録F リファレンスマニュアル> F.2 GFS 共用ファイルシステム専用管理コマンド

F.2.12 sfcmkbkup(1M), sfcmkrstr(1M) バックアップ用シェルスクリプトの生成

◆形式

sfcmkbkup [ -a ] [ -c ] [ -b n ] [ -o filename ] special | mount_point backup_dev

sfcmkbkup -e [ -c ] [ -b n ] special | mount_point

sfcmkrstr [ -a ] [ -c ] [ -b n ] [ -o filename ] special | mount_point backup_dev

◆機能説明

 sfcmkbkup は、代表パーティションの特殊ファイル名 special またはマウントポイント mount_point によって指定された GFS 共用ファイルシステムのバックアップを行うためのバックアップ・スクリプトとリストア・スクリプトを生成します。dd(1M) を使ってボリュームごとにバックアップを行うバックアップ・スクリプトと、sfcddr(1M) を使ってボリュームごとにリストアを行うリストア・スクリプトの 2 種類です。sfcmkrstr は、リスト・スクリプトだけを生成します。

 本コマンド、および本コマンドで生成されるスクリプトは、スーパーユーザ権限 (root) で実行する必要があります。

◆オプション

 以下のオプションが指定できます。

-a

 バックアップ時に1つの媒体に連結して出力するように指定します。このとき、 backup_dev として no-rewind のデバイスを指定する必要があります。

-c

 compress(1) によって、バックアップ時にデータ圧縮を行い、リストアするときには圧縮解除を行うスクリプトを生成します。

-b n

 バックアップ媒体のブロックサイズを n バイトに指定します。ここで指定した文字列はシェルスクリプトでそのまま dd(1M), sfcddr(1M) のバックアップ時の obs およびリストア時の ibs として指定されます。そのため、dd(1M) の ibs の指定と同じように、数値の後ろに kb を付けたり、x で乗算を表したりすることができます。デフォルトは 256k です。

-o filename

 生成するシェルスクリプトのファイル名を指定します。バックアップ・スクリプトとリストア・スクリプトは、ここで指定した名前 filename にそ れ ぞ れ、".bkup"、".rstr" というサフィックスを付けたパス名で生成されます。デフォルトは "sfcfs" です。

-e

 バックアップに必要な容量を表示します。シェルスクリプトは生成しません。
 -c を同時指定した場合、データ圧縮した際のファイルシステム容量を表示します。対象のファイルシステムの規模が大きい場合には、容量表示に時間を要することがあります。

◆オペランド

 以下のオペランドが指定できます。

special

 GFS 共用ファイルシステムの代表パーティションの特殊ファイル名を指定します。

mount_point

 GFS 共用ファイルシステムのマウントポイントを指定します。

backup_dev

 バックアップ先の特殊ファイル名を指定します。

◆使用例

 /dev/sfdsk/gfs/dsk/volume1 を代表パーティションとする GFS 共用ファイルシステムのバックアップをテープデバイスに取るときには、以下のコマンドを実行します。

# sfcmkbkup /dev/sfdsk/gfs/dsk/volume1 /dev/rmt/0

 これによって、次のようなバックアップ・スクリプト sfcfs.bkup が現在の作業用ディレクトリに生成されます。

#!/bin/sh
IBS=1024k
OBS=256k
TAPE=/dev/rmt/0
SPECS="/dev/sfdsk/gfs/rdsk/volume1 /dev/sfdsk/gfs/rdsk/volume2 /dev/sfdsk/gfs/rdsk/volume3"

n=`echo $SPECS | /usr/bin/wc -w` echo "It will need $n volume(s) to backup."

i=1 for s in $SPECS do echo "Backup $s" echo "Prepare volume #$i/$n for $TAPE and press RETURN:\c" read yes until /usr/bin/dd if=$s of=$TAPE ibs=$IBS obs=$OBS do echo "Press RETURN and retry:\c" read yes done i = `/usr/bin/expr $i + 1` done

echo "Backup done."


 リストア・スクリプト sfcfs.rstr は次のようになります。

#!/bin/sh
IBS=256k
OBS=1024k
TAPE=/dev/rmt/0
SPECS="/dev/sfdsk/gfs/rdsk/volume1 /dev/sfdsk/gfs/rdsk/volume2 /dev/sfdsk/gfs/rdsk/volume3"

n=`echo $SPECS | /usr/bin/wc -w` echo "It will need $n volume(s) to restore."

i=1 for s in $SPECS do if echo $s | /usr/bin/grep "^!"; then s=`echo $s | /usr/bin/cut -c2-` opt="-f" else opt="" fi echo "Restore $s" echo "Prepare volume #$i/$n for $TAPE and press RETURN:\c" read yes until /usr/lib/fs/sfcfs/sfcddr $opt if=$TAPE of=$s ibs=$IBS obs=$OBS do echo "Change to CORRECT volume #$i/$n and press RETURN:\c" read yes done i = `/usr/bin/expr $i + 1` done

echo "Restore done."


 複数のテープドライブを使ってバックアップ、リストアを行う場合には、次のように sfcmkbkup をテープドライブの数だけ実行します。その後で、シェルスクリプトの変数 SPECS の値を編集し、それぞれのシェルスクリプトにパーティションを分担させて実行します。

# sfcmkbkup -o ex1 /dev/sfdsk/gfs/dsk/volume1 /dev/rmt/0
# sfcmkbkup -o ex2 /dev/sfdsk/gfs/dsk/volume1 /dev/rmt/1

 いくつかのパーティションについて、バックアップ時とは異なるディスクにリストアを行いたい場合には、リストア・スクリプトの変数 SPECS の値を編集することによって行います。このとき、 編集した特殊ファイル名の直前に、ボリューム情報のチェックを行わないことを示す ! を置きます。

SPECS="/dev/sfdsk/gfs/rdsk/volume1 ! /dev/sfdsk/gfs/rdsk/volume2 /dev/sfdsk/gfs/rdsk/volume3"

◆関連項目

sfcadm(1M), sfcddr(1M).

"Solaris X Reference Manual Collection" の dd(1M), compress(1).

◆注意事項


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006