PRIMECLUSTER Global File Services 説明書 4.1 (Solaris(TM) オペレーティング環境版) |
目次
索引
![]() ![]() |
付録B リファレンスマニュアル | > B.2 GFSローカルファイルシステム専用コマンド |
sfxmkbkup [ -a ] [ -c ] [ -b n ] [ -o filename ] special | mount_point backup_dev
sfxmkbkup -e [ -c ] [ -b n ] special | mount_point
sfxmkrstr [ -a ] [ -c ] [ -b n ] [ -o filename ] special | mount_point backup_dev
代表デバイス名 special またはマウントポイント mount_point によって指定された GFS ローカルファイルシステムのバックアップを取るためのシェルスクリプトを生成します。sfxmkbkup は dd(1M) を使ってボリュームごとにバックアップを取るバックアップ・スクリプトと、sfxddr(1M) を使ってボリュームごとにリストアを行うリストア・スクリプトの2種類を生成します。sfxmkrstr は、リストア・スクリプトだけを生成します。
本コマンドおよび、本コマンドで生成されるスクリプトは、スーパーユーザ権限 (root) で実行する必要があります。
以下のオプションが指定できます。
-a
バックアップ時に1つの媒体に連結して出力するように指定します。このとき、backup_dev として no-rewind のデバイスを指定しなければなりません。
-c
compress(1) によって、バックアップ時にデータ圧縮を行い、リストア時には圧縮解除を行うスクリプトを生成します。
-b n
バックアップ媒体のブロックサイズを n バイトに指定します。ここで指定した文字列はシェルスクリプトでそのまま dd(1M), sfxddr(1M) のバックアップ時の obs リストア時の ibs として指定されるので、dd(1M) の ibs の指定と同じように、数値の後ろに k や b をつけたり、x で乗算を表したりすることができます。デフォルトは 256 キロバイトです。
-o filename
生成するシェルスクリプトのファイル名を指定します。バックアップ・スクリプトとリストア・スクリプトは、ここで指定した名前にそれぞれ、".bkup"、".rstr" というサフィックスをつけたパス名で生成されます。デフォルトは "sfxfs" です。
-e
バックアップに必要な容量を表示します。シェルスクリプトは生成しません。
special
GFS ローカルファイルシステムの代表パーティションの特殊ファイル名を指定します。
mount_point
GFS ローカルファイルシステムのマウントポイントを指定します。
backup_dev
バックアップ先のデバイスを指定します。
特殊ファイル /dev/sfdsk/gfs/dsk/vol1301 を代表パーティションとする GFS ローカルファイルシステムのバックアップをテープデバイスに取るときには、以下のコマンドを実行します。
# sfxmkbkup /dev/sfdsk/gfs/dsk/vol1301 /dev/rmt/0
これによって、次のようなバックアップ・スクリプト sfxfs.bkup が現在の作業用ディレクトリに生成されます。
#!/bin/sh IBS=1024k OBS=256k TAPE=/dev/rmt/0 SPECS="/dev/sfdsk/gfs/rdsk/vol1301 /dev/sfdsk/gfs/rdsk/vol1401 /dev/sfdsk/gfs/rdsk/vol1501" 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."
リストア・スクリプト sfxfs.rstr は次のようになります。
#!/bin/sh IBS=256k OBS=1024k TAPE=/dev/rmt/0 SPECS="/dev/sfdsk/gfs/rdsk/vol1301 /dev/sfdsk/gfs/rdsk/vol1401 /dev/sfdsk/gfs/rdsk/vol1501" 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/sfxfs/sfxddr $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."
複数のテープドライブを使ってバックアップ、リストアを行う場合には、次のように sfxmkbkup をテープドライブの数だけ実行した後で、シェルスクリプトの変数 SPECS の値を編集し、それぞれのシェルスクリプトにパーティションを分担させて実行します。
# sfxmkbkup -o ex1 /dev/sfdsk/gfs/dsk/vol1301 /dev/rmt/0 # sfxmkbkup -o ex2 /dev/sfdsk/gfs/dsk/vol1301 /dev/rmt/1
いくつかのパーティションについて、バックアップ時とは異なるディスクにリストアを行いたい場合には、リストア・スクリプトの変数 SPECS の値を編集することによって行います。このとき、編集した特殊ファイル名の直前に、ボリューム情報のチェックを行わないことを示す ! を置きます。
SPECS="/dev/sfdsk/gfs/rdsk/vol1301 !/dev/sfdsk/gfs/rdsk/vol2101 /dev/sfdsk/gfs/rdsk/vol1501"
バックアップ元とは異なったディスクにリストアを行う場合、リストア先のディスクが、バックアップ元と同じ構成である必要があります。
また、ディスクの先頭シリンダを含むパーティションを、それ以外のパーティションからのリストア先として指定しないでください。誤って、この操作を行うと、ディスクの構成情報を破壊し、ディスクを現在の構成で使用できなくなります。
バックアップ元とは異なったディスクにリストアを行った場合、sfxadm(1M) によってパーティション情報を変更する必要があります。GFS ローカルファイルシステムを構成するすべてのパーティションを指定して、sfxadm(1M) を実行してください。
目次
索引
![]() ![]() |