ページの先頭行へ戻る
ETERNUS SF Storage Cruiser 14.2 ユーザーズガイド仮想ストレージ管理編

6.2.2 構成情報の退避


6.2.2.1 [Solaris OS版/Linux OS版]構成情報の退避

構成情報の退避は、コミットスクリプト(Commit Script)で実行されます。コミットスクリプトは、構成情報に変更が生じた場合に、VSCマネージャーが自動的に実行します。コミットスクリプトは、/etc/opt/FJSVssmgr/current/VscCommitScript に作成します。コミットスクリプトの見本は、/opt/FJSVssmgr/lib/sample/vsc/VscCommitScript.sample にあります。

また、必要に応じて、コミットスクリプトを起動して、構成情報を退避することができます。

VSCマネージャーの構成情報は、/var/opt/FJSVssmgr/current/vsccompose ディレクトリにあります。このディレクトリ配下のすべてのディレクトリとファイルを退避します。この時、復元時に/var/opt/FJSVssmgr/current/vsccompose ディレクトリ配下のディレクトリ構成、ファイル構成が退避時と同じになるように退避してください。

コミットスクリプトの例

#!/bin/sh
#
# All Rights Reserved, Copyright (c) Fujitsu Ltd. 2004
#
# Storage Software Virtual Storage Conductor
#
# CommitScript Sample
#
########################################################

ROOT_DIR=$PWD
BKUP_DIR=/var/opt/FJSVssmgr/current/vsclog/VSCCOMPOSE_BAK
BKUP_TMP_DIR=/var/opt/FJSVssmgr/current/vsclog/VSCCOMPOSE_BAK/tmp
COMPOSE_DIR=/var/opt/FJSVssmgr/current/vsccompose

if [ ! -d $BKUP_DIR ]; then
        mkdir -p $BKUP_DIR
fi
if [ ! -d $BKUP_TMP_DIR ]; then
        mkdir -p $BKUP_TMP_DIR
fi

cp -p $COMPOSE_DIR/* $BKUP_TMP_DIR

if [ $? -eq 0 ]; then
        cd $BKUP_DIR
        tar cf compose.BAK.tar ./tmp
        if [ $? -eq 0 ]; then
                echo "Backup Complete."
                rm -rf $BKUP_TMP_DIR
                cd $ROOT_DIR
                exit 0
        fi
fi
echo "Backup failed."
exit 1

注意

コミットスクリプトは、仮想ストレージのリソース状態に変更が生じた際、常に動作します。スクリプトの内容によっては、VSCマネージャーの処理時間遅延を引き起こす要因となることに注意してください。


6.2.2.2 [Windows版]構成情報の退避

構成情報の退避は、コミットスクリプト(Commit Script)で実行されます。コミットスクリプトは、構成情報に変更が生じた場合に、VSCマネージャーが自動的に実行します。コミットスクリプトは、$ENV_DIR\Manager\etc\opt\FJSVssmgr\current\VscCommitScript.bat に作成します。

コミットスクリプトの見本は、$INS_DIR\Manager\opt\FJSVssmgr\lib\sample\vsc\VscCommitScript.bat.sample にあります。

また、必要に応じて、コミットスクリプトを起動して、構成情報を退避することができます。

VSCマネージャーの構成情報は、$TMP_DIR\Manager\var\opt\FJSVssmgr\current\vsccompose ディレクトリにあります。
このディレクトリ配下のすべてのディレクトリとファイルを退避します。この時、復元時に $TMP_DIR\Manager\var\opt\FJSVssmgr\current\vsccompose ディレクトリ配下のディレクトリ構成、ファイル構成が退避時と同じになるように退避してください。

コミットスクリプトの例

@echo off
rem #
rem # All Rights Reserved, Copyright (c) Fujitsu Ltd. 2006-2010
rem #
rem # Storage Software Virtual Storage Conductor
rem #
rem # CommitScript Sample
rem #
rem ########################################################
setlocal

set VARDIR=$TMP_DIR\Manager
if not exist "%VARDIR%" goto fail
set CURRENT_DIR=%VARDIR%\var\opt\FJSVssmgr\current
set BKUP_DIR=vsclog\VSCCOMPOSE_BAK
set COMPOSE_DIR=vsccompose

set /a listflag=0
set /a delflag=0
set /a copyflag=0

cd "%CURRENT_DIR%"

:: backup check
if not exist "%BKUP_DIR%" mkdir "%BKUP_DIR%"
if errorlevel 1 goto fail

if not exist "%BKUP_DIR%\*.repository" goto allbackup

:: commitlist check
set COMMITLIST_DIR=commitlist
set INSERT_UPDATE_FILE=%COMMITLIST_DIR%\addlist.vsc
set DELETE_FILE=%COMMITLIST_DIR%\deletelist.vsc

if not exist "%COMMITLIST_DIR%" goto allbackup
if not exist "%COMMITLIST_DIR%\*.vsc" goto allbackup

if exist "%INSERT_UPDATE_FILE%" (for %%F in ( %INSERT_UPDATE_FILE% ) do if not %%~zF==0 set /a listflag =  1 && set /a copyflag = 1)
if exist "%DELETE_FILE%" (for %%F in ( %DELETE_FILE% ) do if not %%~zF==0 set /a listflag = 1 && set /a delflag = 1)

if %listflag% == 0 (goto allbackup) else goto diffbackup

:allbackup
if exist "%BKUP_DIR%\*.repository" del "%BKUP_DIR%\*.repository"
copy /y "%COMPOSE_DIR%\*.repository" "%BKUP_DIR%" > nul
if errorlevel 1 goto fail
if errorlevel 0 goto success

:diffbackup
if %delflag% == 1 (for /f "tokens=* delims=" %%F in ( %DELETE_FILE% ) do ((del "%BKUP_DIR%\%%F") & (if exist "%BKUP_DIR%\%%F" goto allbackup)))
if %copyflag% == 1 (for /f "tokens=* delims=" %%F in ( %INSERT_UPDATE_FILE%  ) do ((copy /y "%COMPOSE_DIR%\%%F" "%BKUP_DIR%" > nul) & (if errorlevel 1 goto allbackup)))

:success
if exist "%INSERT_UPDATE_FILE%" (del "%INSERT_UPDATE_FILE%")
if exist "%DELETE_FILE%" (del "%DELETE_FILE%")
echo "Backup Complete."
exit 0

:fail
echo "Backup failed."
exit 1

注意

コミットスクリプトは、仮想ストレージのリソース状態に変更が生じた際、常に動作します。スクリプトの内容によっては、VSCマネージャーの処理時間遅延を引き起こす要因となることに注意してください。

参考

  • $INS_DIR は、マネージャーをインストールした時の「プログラムディレクトリ」です。

  • $ENV_DIR は、マネージャーをインストールした時の「環境設定ディレクトリ」です。

  • $TMP_DIR は、マネージャーをインストールした時の「作業用ディレクトリ」です。