PRIMECLUSTER Global File Services 説明書 4.2 (Solaris(TM) オペレーティング環境版) |
目次
索引
![]() ![]() |
付録F リファレンスマニュアル | > F.2 GFS 共用ファイルシステム専用管理コマンド |
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 の指定と同じように、数値の後ろに k や b を付けたり、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"
"Solaris X Reference Manual Collection" の dd(1M), compress(1).
目次
索引
![]() ![]() |