5.2 ホームサーバ移動ツール「SFdatacp」について

このコマンドは,マルチサーバ環境で,ユーザのホームサーバを移動するコマンドです。このコマンドを使用すると,管理データ上のホームサーバの変更とスケジュールデータの転送を自動に実行できます。ホームサーバを移動するユーザは移動者一覧ファイルで指定できます。Assist連携を使用している場合は,Assist連携で作成された移動者一覧ファイルをそのまま利用してください。Assist連携を使用していない場合でも,移動者一覧ファイルを手動で作成することでこのコマンドを利用してホームサーバ移動を実現できます。

<この節の構成>
(1) 前提条件
(2) 使用条件
(3) 設定事項
(4) バックアップの取得
(5) ユーザのホームサーバ変更方法
(6) 確認事項
(7) エラー発生時の対処

(1) 前提条件

(2) 使用条件

(3) 設定事項

(a) 移動者一覧ファイル

ホームサーバを移動するユーザの一覧を作成します。

ファイル名

任意に指定可

フォーマット

ユーザID<スペース又はタブ>移動後のホスト名<スペース又はタブ>移動前のホスト名<改行>

移動者一覧ファイル作成時の注意事項

(b) ホームサーバ一覧ファイル

SFdatacpコマンドを実行する場合,ホームサーバ一覧を作成する必要があります。Assist連携を使用している場合は,管理ツールを用いて作成します。その手順は,「4.5(2) Assist連携用ホームサーバ一覧作成」を参照してください。Assist連携を使用していない場合は,以下のフォーマット及び注意事項に従って作成してください。

ファイル名

<インストールディレクトリ>/log/agent/Schehost.tbl

フォーマット

ホスト名<改行>

ホームサーバ一覧ファイル作成時の注意事項

(4) バックアップの取得

このコマンドを実行する前に必ずシステム内のすべてのサーバで以下のデータのバックアップを取得してください。エラー発生時のリカバリに使用します。

<スケジュール格納ディレクトリ>以下すべて

(5) ユーザのホームサーバ変更方法

(3) 設定事項」と「(4) バックアップの取得」の内容をすべて設定した後,ユーザのホームサーバ移動をするために以下のコマンドを実行してください。

コマンドの書式

/usr/GroupAppo/bin/SFdatacp [/m filename] [/f logfile_name]

引数

注意事項
SFdatacp.logは詳細ログの出力先として使用されるため,SFdatacp.log以外のファイル名を指定してください。

リターンコード

0…正常終了

1…異常終了

(6) 確認事項

SFdatacpコマンド実行後は,以下のファイルの内容を参照して実行結果を確認してください。

(a) 詳細ログファイル

SFdatacpコマンドの詳細ログは以下のファイルに出力されます。格納先は,実行するたびに変更しますので御注意ください。ログファイルに出力されたエラーメッセージの解説ついては,「付録H Assist連携時と「SFdatacp」実行時のエラーメッセージ」を参照してください。

(b) ホームサーバ移動結果ファイル

SFdatacpコマンドを使ったホームサーバ移動の処理結果をユーザ単位で確認できるファイルです。

ホームサーバ移動結果ファイルのフォーマット

移動ユーザID <スペース> 移動後のホスト名 <スペース> 移動前のホスト名 <スペース> 処理結果 <スペース> 詳細エラー<改行>

ホームサーバ移動結果ファイルの例

USER001 HOSTA HOSTB ○<改行>
USER002 HOSTB HOSTA ○<改行>
          :
          :
USER009 HOSTA HOSTC × 21<改行>

<詳細エラー一覧>

20:移動後サーバとの通信エラーが発生しました

21:移動前サーバとの通信エラーが発生しました

22:移動後サーバでバイトオーダ変換に失敗しました

23:移動前サーバのスケジュールデータの受信処理に失敗しました

24:移動前サーバでスケジュールデータバックアップに失敗しました

31:ホームサーバの更新処理に失敗しました

255:その他のエラー

(7) エラー発生時の対処

(6) 確認事項」に従って詳細ログファイルに出力されているメッセージを確認し,エラーが発生している場合は,エラーの要因を除去した上で以下の手順に従って再実行してください。メッセージに応じて回復方法が異なる場合がありますので,「付録H Assist連携時と「SFdatacp」実行時のエラーメッセージ」を参照して正しく回復してください。基本的には,以下の方法で回復できます。

(a) すべて再実行する方法
  1. すべてのサーバで以下のデータをバックアップからリカバリしてください。
    <スケジュール格納ディレクトリ>以下すべて
  2. 親サーバの<スケジュール格納ディレクトリ>/log/agent/[処理ID]/MVorg.tblを<スケジュール格納ディレクトリ>/etc/MV.tblとしてコピーしてください。
    処理IDは,14桁の数字で,実行時間(「西暦年+月+日+時+分+秒」)を表しています。
  3. SFdatacp [/f logfile_name] を実行してください。
(b) エラーとなったユーザだけ再実行する方法

この方法は,親サーバで以下の1から3の条件が整っているときだけ実行できます。

条件

  1. ホームサーバ移動結果ファイル(<スケジュール格納ディレクトリ>/log/agent/[処理ID]/MVresult.tbl)が作成されていること。
    処理IDは,14桁の数字で,実行時間(「西暦年+月+日+時+分+秒」)を表しています。
  2. 実行前に作成した移動者一覧ファイルが更新され,ホームサーバ移動結果ファイルで"×"が付いたユーザだけがエントリされている状態になっていること。
  3. エラーとなったユーザの移動前サーバの<スケジュール格納ディレクトリ>以下にスケジュールデータ(ユーザID名のディレクトリ)があること。
    スケジュールデータがない場合,取得しておいたバックアップからリカバリしてください。

手順

  1. 親サーバで<スケジュール格納ディレクトリ>/log/agent/[処理ID]/MVresult.tblを参照してエラーが発生したユーザを確認してください。エラーが発生したユーザには,"×"が付いています。詳細は,「5.2(6)(b) ホームサーバ移動結果ファイル」を参照してください。MVresult.tblが存在しない場合は,「付録H Assist連携時と「SFdatacp」実行時のエラーメッセージ」を参照して対処してください。
    処理IDは,14桁の数字で,実行時間(「西暦年+月+日+時+分+秒」)を表しています。
  2. 使用した移動者一覧ファイルが更新されて,1でエラーが発生したユーザだけがエントリされていることを確認してください。
  3. エラーが発生したユーザの移動前のサーバにスケジュールデータが残っていることを確認してください。残っていない場合,取得したバックアップから戻してください。
  4. SFdatacpを再実行してください。

エラー発生時の注意事項

(c) SFdatacp実行時に通信エラーが発生した場合

スケジュールデータのデータ量が多い環境でSFdatacpを実行した場合,ホームサーバ移動処理処理中にタイムアウトによる通信エラーが発生する場合があります。タイムアウトが発生した場合,SFdatacpの実行ログ(<スケジュール格納ディレクトリ>/log/agent/<処理ID>/SFdatacp.log)に次のメッセージが出力されます。

ユーザ[<ユーザID>]のホームサーバ移動処理で移動元サーバ[<ホスト名>]との通信エラーが発生しました

この場合,/usr/GroupAppo/bin/AppoSV.iniファイルに記述を追加して,タイムアウト時間を長くしてください。なお,AppoSV.iniファイルを作成又は変更した場合は,管理ツールサーバ(AppoMan,RoomMan)を必ず再起動してください。

AppoSV.iniファイルに追加する記述,及び記述例を次に示します。

[Sockets]
TimeOutMan=タイムアウト時間(秒)<改行>
TimeOutRMMan=タイムアウト時間(秒)<改行>
記述例

[Sockets]
TimeOutMan=60
TimeOutRMMan=60

この例では,タイムアウト時間が60秒となります。

なお,この記述がない場合又はAppoSV.iniファイルがない場合は,「TimeOutMan=30」,「TimeOutRMMan=30」として扱い,タイムアウト時間は30秒となります。