ページの先頭行へ戻る
Site Recovery for Red Hat(R) OpenStack Platform V1.0 運用ガイド
FUJITSU Software

付録G トラブルシューティング

エラーが発生した場合は、以下の項目について確認してください。

切替え

権限委譲していないユーザーがいる場合

事象

権限委譲していないユーザーの確認」を参照し、権限委譲していないユーザーを確認した結果、権限委譲していないユーザーが存在する。

メッセージ

ありません。

対処

以降の手順は、以下の条件で実施してください。

  • 手順実施サイト : 本番サイト
  • 手順実施サーバ : メイン作業用コントロールノード
  • 手順実施ユーザー : インフラ管理者
  • 手順実施回数 : 1回

権限委譲していないユーザーの確認」を参照し、権限委譲していないユーザーを確認してください。

admin権限を持つOpenStackユーザーのクレデンシャルファイル(ここではopenrcとします)を読み込みます。 クレデンシャルファイルについては「OpenStackコマンドの実行について」を参照してください。

source openrc

以降の手順は、以下の条件で実施してください。

  • 手順実施サイト : 本番サイト
  • 手順実施サーバ : メイン作業用コントロールノード
  • 手順実施ユーザー : インフラ管理者
  • 手順実施回数 : 権限委譲していないユーザー数分

以下のコマンドを実行し、権限委譲していないユーザーに新しいパスワードを設定してください。

openstack user set <user_id> --password <new_password>

SRユーザーへの権限委譲【サイト:本番サイト】」を参照し、SRユーザーへ権限を委譲してください。 ユーザーに新規パスワードを通知してください。

リストア前のNovaインスタンスidを控え忘れた場合

事象

インスタンスのリストア」実行時に指定するinstance_id(リストア前のNovaインスタンスid)控え忘れた。

メッセージ

ありません。

対処

バックアップ時にインスタンスidを控えていない場合、リストア前のNovaインスタンスのidをバックアップデータから確認します。

本手順は、以下の条件で実施してください。

  • 手順実施サイト : 災対サイト
  • 手順実施サーバ : メイン作業用コントロールノード
  • 手順実施ユーザー : インフラ管理者
  • 手順実施回数 : 1回

以下のコマンドを実行しリストア前のNovaインスタンスのidを確認します。

jq -r '.[] | .id+" "+.name' /var/opt/FJSVrcxsr/mnt/backup/*/instance_list.json

<instance_id> <instance_name>の形式で1行につき1つのNovaインスタンスの情報が表示されます。

# jq -r '.[] | .id+" "+.name' /var/opt/FJSVrcxsr/mnt/backup/*/instance_list.json
ac8e1585-f983-4955-bbe2-a22d2423acb8 rcxsr_test_server02
d39696df-4eeb-41f0-8d5f-ed2f9bc4e56c rcxsr_test_server01

OpenStack管理対象からボリュームの除外

事象

rcx_srosp_restore volumeコマンド実行時に、番号61174のメッセージが出力されます。

メッセージ

ERROR:61174: Volume <volume_id> has entered invalid status: error.

<volume_id>を持つボリュームの状態が「error」であることを示しています。

対処

本手順は、以下の条件で実施してください。

  • 手順実施サイト : 災対サイト
  • 手順実施サーバ : メイン作業用コントロールノード
  • 手順実施ユーザー : インフラ管理者

admin権限を持つOpenStackユーザーのクレデンシャルファイル(ここではopenrcとします)を読み込みます。 クレデンシャルファイルについては「OpenStackコマンドの実行について」を参照してください。

source openrc

以下のコマンドを実行し、処理途中のボリューム譲渡要求が存在するかを確認してください。

cinder transfer-list --all-tenant

存在する場合は、以下のような内容が出力されます:

# cinder transfer-list --all-tenant
+--------------------------------------+--------------------------------------+------+
| ID                                   | Volume ID                            | Name |
+--------------------------------------+--------------------------------------+------+
| a27d05d6-06a0-4173-a11c-97b41a8bbeec | 0dd20673-434a-48ca-aae8-ad940fc161c2 | -    |
+--------------------------------------+--------------------------------------+------+

以下のコマンドを実行し、処理途中のボリューム譲渡要求を削除してください。

cinder transfer-delete <transfer-request-id>

<transfer-request-id>にこの前の手順で出力されたID欄の値を指定してください。 ボリューム譲渡要求が複数存在する場合、1つずつ削除してください。

以下のコマンドを実行し、処理途中のボリューム譲渡要求がすべて削除されたことを確認してください。

cinder transfer-list --all-tenant

ボリューム譲渡要求がすべて削除された場合は、上記コマンドが何も出力しません。出力がある場合、 再度削除を実施してください。

以下のコマンドを実行し、ボリュームの状態を確認してください。

cinder show <volume_id> | awk '$2=="status"{print $4}'

61174番のメッセージ対処の場合は、<volume_id>にエラーメッセージに出力された<volume_id>を指定してください。

61174番メッセージの対処ではない場合、上記cinder transfer-listコマンドが出力された「Volume ID」の値を指定してください。

以下のようにボリュームの状態が出力されます:

available

ボリュームの状態が「available」以外の場合、以下のコマンドを実行し、ボリュームの状態をリセットしてください。

cinder reset-state --state available <volume_id>

<volume_id>にエラーメッセージに出力された<volume_id>を指定してください。61174番メッセージの対処ではない場合、上記cinder transfer-listコマンドが出力された「Volume ID」の値を指定してください。

以下のコマンドを実行し、ボリュームの状態が「available」にリセットされたことを確認してください。

cinder show <volume_id> | awk '$2=="status"{print $4}'

<volume_id>にエラーメッセージに出力された<volume_id>を指定してください。61174番メッセージの対処ではない場合、上記cinder transfer-listコマンドが出力された「Volume ID」の値を指定してください。

以下のようにボリュームの状態が出力されます。出力された内容は「available」であることを確認してください:

available

以下のコマンドを実行し、ボリュームをOpenStackの管理対象から除外してください。

cinder unmanage <volume_id>

<volume_id>にエラーメッセージに出力された<volume_id>を指定してください。61174番メッセージの対処ではない場合、上記cinder transfer-listコマンドが出力された「Volume ID」の値を指定してください。

以下のコマンドを実行し、該当ボリュームが除外されたことを確認してください。

cinder show <volume_id>

<volume_id>にエラーメッセージに出力された<volume_id>を指定してください。61174番メッセージの対処ではない場合、上記cinder transfer-listコマンドが出力された「Volume ID」の値を指定してください。

以下の内容が出力されることを確認してください:

ERROR: No volume with a name or ID of <volume_id> exists.

残存ポートの削除

事象

rcx_srosp_restore instanceコマンド、rcx_srosp_stash pop instanceコマンドが異常終了する場合、またはリストア済みのインスタンスを削除した場合、Neutronのポート情報が一部残存する可能性があります。ポート情報が残存する場合、rcx_srosp_restore instanceコマンド、rcx_srosp_stash pop instanceコマンドが失敗する可能性があります。

メッセージ

FJSVrcxsr:ERROR:61018:Error occured during making neutron API call: Unable to complete operation for network <network_id>. The mac address <mac_address> is in use.
  • <network_id>はリストア対象インスタンスがつながるNeutronネットワークのIDです。
  • <mac_address>はリストア対象インスタンスのポートのMACアドレスです。

対処

ポート情報が残存しているかを確認し、残存のポートを削除します。

  • 手順実施サイト : 災対サイト
  • 手順実施サーバ : メイン作業用コントロールノード
  • 手順実施ユーザー : インフラ管理者
  • 手順実施回数 : 1回

admin権限を持つOpenStackユーザーのクレデンシャルファイル(ここではopenrcとします)を読み込みます。 クレデンシャルファイルについては「OpenStackコマンドの実行について」を参照してください。

source openrc

以下のコマンドを実行し、ポートが残存するかどうかを確認してください。出力結果が「0」の場合は、ポートが残存していないため、 これ以降の手順は実施不要です。出力結果が「0」以外の場合は、ポートが残存しているため、次の手順で残存ポート削除します。

neutron port-list -c id -c binding:vif_type | grep 'unbound' | wc -l

以下のコマンドを実行し、残存しているポートを削除してください。

neutron port-list -c id -c binding:vif_type | grep 'unbound' | cut -d'|' -f 2 | xargs -I{} neutron port-delete {}

以下のコマンドを実行し、残存しているポートが削除されたことを確認します。出力結果が「0」であることを確認してください。

neutron port-list -c id -c binding:vif_type | grep 'unbound' | wc -l

環境変数によるコマンド実行失敗

事象

OpenStackのコマンドを実行するための環境変数が設定されている場合、同じコンソールで本製品のコマンドを実行すると、失敗する可能性があります。

メッセージ

FJSVrcxsr:ERROR:61016:Error occured during making keystone API call:Cannot authorize API client.

対処

OpenStackの環境変数が設定されていないコンソールでコマンドを実行してください。

以下のコマンドを実行し、OpenStackの環境変数が設定されているかを確認してください。

本手順は、以下の条件で実施してください。

  • 手順実施サイト : 災対サイト
  • 手順実施サーバ : メイン作業用コントロールノード
  • 手順実施ユーザー : インフラ管理者
  • 手順実施回数 : 1回
env | grep ^OS_ | wc -l

出力結果が「0」の場合は、対処不要です。 出力結果が「0」以外の場合は、新しいコンソールを別途起動して、本製品のコマンドを実行してください。

rcx_srosp_restore volumeコマンド実施時に本メッセージが出力される場合、下記の対処を実施してください:

OpenStack管理対象からボリュームの除外

コピーペア登録漏れの確認と対処方法

事象

コピーペアの登録が実施されてないボリュームは、rcx_srosp_restore volumeコマンドによってリストアされません。 そのため、該当ボリュームを使用するインスタンスをリストアする際にエラーが発生します。

メッセージ

FJSVrcxsr:ERROR:61161:Failed to restore instance: volumes for instance not exist.

対処

以下の手順に従い、ボリュームのバックアップを使用してインスタンスをリストアしてください。

本手順は、以下の条件で実施してください。

  • 手順実施サイト : 災対サイト
  • 手順実施サーバ : メイン作業用コントロールノード
  • 手順実施ユーザー : インフラ管理者

OpenStackコマンド実行するためのクレデンシャルファイルについては「OpenStackコマンドの実行について」を参照してください。

(1) 以下のコマンドを実行し、インスタンスが使用していたボリュームのIDを取得してください。

ls /var/opt/FJSVrcxsr/mnt/backup/*/instance-<instance_id> | grep ^volume | sed -e 's/^volume-//'

<instance_id>にはリストア対象インスタンスのIDを指定してください。

以下のように、インスタンスにアタッチされていたボリュームのIDは1行ずつ出力されます:

8650406a-1da2-40f7-acaf-e10fe0b8fd72
9f40dc6b-4934-49ff-8cc5-02cb19e3de00

(2) 以下のコマンドを実行し、バックアップされたボリュームの管理情報(ストレージ上の名前と16進数のボリュームNo.)を取得してください。 本手順は、手順(1)で出力されたすべてのボリュームに対して1回ずつ実施してください。

jq -r '.[] | .id+" "+.metadata.FJ_Volume_Name+" "+.metadata.FJ_Volume_No' /var/opt/FJSVrcxsr/mnt/backup/*/volume_list.json | awk '$1=="<volume-id>"{print $2}'

<volume-id>には手順(1)で出力されたボリュームのIDを指定してください。

以下のように、バックアップされたボリュームの管理情報が出力されます。 空白区切りで1つ目はストレージ上の名前であり、2つ目は16進数のボリュームNo.となります:

Ken_SROSP_032 0x00E8

(3) 以下のコマンドを実行し、コピーペアファイル名を取得してください。

find /var/opt/FJSVrcxsr/mnt/backup/* -type f -name recinfo_copy_pair* | head -n 1

以下のように、コピーペアファイルのフルパスが出力されます:

/var/opt/FJSVrcxsr/mnt/backup/backup_saitai/recinfo_copy_pair_copyGroup9

(4) 以下のコマンドを実行し、コピーペアに登録されていないボリュームが存在するかを確認してください。 本手順は、手順(2)で出力されたすべての管理番号に対して1回ずつ実施してください。

grep "<management_id>" <copy_pair_file_path>

<management_id>には手順(2)で取得された16進数のボリュームNo.を指定してください。 <copy_pair_file_path>は手順(3)で取得されたコピーペアファイルのフルパスを指定してください。

コピーペアに登録されている場合、以下のように、コピーペアのレコードが出力されます。

DX200S3#4/0x01AE:DX200S3#3/0x0105

コピーペアに登録されていない場合、何も出力されません。 手順(1)で取得されたボリュームのうち、コピーペアに登録されていないボリュームが1つ以上存在する場合、次の手順に進めてください。 コピーペアに登録されていないボリュームが存在しない場合、コピーペアの登録漏れに該当しないため、手順の実施を終了してください。

(5) 以下のコマンドを実行し、インスタンスにアタッチしていたボリュームのサイズを取得してください。 本手順は、手順(1)で出力されたすべてのボリュームに対して1回ずつ実施してください。

jq -r '.[] | .id+" "+(.size|tostring)' /var/opt/FJSVrcxsr/mnt/backup/*/volume_list.json | awk '$1=="<volume-id>"{print $2}'

<volume-id>には手順(1)で出力されたボリュームのIDを指定してください。

以下のように、指定されたボリュームのサイズはGB単位で出力されます:

40

(6) 手順(2)で出力された名前と手順(5)で出力されたサイズを使用し、災対サイトのETERNUSでボリュームを作成してください。 ETERNUSにおける操作方法についてETERNUS製品のマニュアルを参照してください。 ETERNUSでボリュームを作成する際に、手順(2)で出力された名前以外の文字列でも使用可能です。ETERNUS製品のマニュアルを参照したうえで設定してください。

切戻しを実施する場合、 本番サイトのETERNUSでボリュームを作成してください。

作成したボリュームのボリュームNo.(10進数)は以下の規則に従い、16進数形式に変換してください:

  • 「0x」で始まる16進数であること
  • 桁数が4未満の場合は、左から0を足して4桁にすること
  • 英文字は全部大文字であること

ボリュームNo.の指定例:

  • 正しい例:0x0009、 0x001A
  • 間違った例:10(十進数)、 0x009(桁数が足りない) 、 0x000a(英小文字が存在)

(7) 以下のコマンドを実行し、コピーペアファイルにレコードを追加してください。

tail -n 1 <copy_pair_file_path> | sed -e 's/\/0x[0-9A-F]\+:/\/<management_id1>:/' | sed 's/0x[0-9A-F]\+$/<management_id2>/' >> <copy_pair_file_path>

<management_id1>には手順(6)で取得された16進数のボリュームNo.を指定してください。 <management_id2>には手順(2)で取得された16進数のボリュームNo.を指定してください。 <copy_pair_file_path>は手順(3)で取得されたコピーペアファイルのフルパスを指定してください。

(8) 以下のコマンドを実行し、コピーペアファイルにレコードが追加されてことを確認してください。

tail -n 1 <copy_pair_file_path>

<copy_pair_file_path>は手順(3)で取得されたコピーペアファイルのフルパスを指定してください。

以下のように、コピーペアファイルの最後1行のレコードが出力されます:

DX200S3#4/<management_id1>:DX200S3#3/<management_id2>

<management_id1>には手順(6)で取得された16進数のボリュームNo.であることを確認してください。 <management_id2>には手順(2)で取得された管理番号であることを確認してください。

(9) 以下の手順を参照し、rcx_srosp_restore volumeコマンドを実行してください。

ボリュームのリストア

切戻し

権限委譲していないユーザーがいる場合

事象

権限委譲していないユーザーの確認」を参照し、権限委譲していないユーザーを確認した結果、権限委譲していないユーザーが存在する。

メッセージ

ありません。

対処

以降の手順は、以下の条件で実施してください。

  • 手順実施サイト : 災対サイト
  • 手順実施サーバ : メイン作業用コントロールノード
  • 手順実施ユーザー : インフラ管理者
  • 手順実施回数 : 1回

権限委譲していないユーザーの確認」を参照し、権限委譲していないユーザーを確認してください。

admin権限を持つOpenStackユーザーのクレデンシャルファイル(ここではopenrcとします)を読み込みます。 クレデンシャルファイルについては「OpenStackコマンドの実行について」を参照してください。

source openrc

以降の手順は、以下の条件で実施してください。

  • 手順実施サイト : 災対サイト
  • 手順実施サーバ : メイン作業用コントロールノード
  • 手順実施ユーザー : インフラ管理者
  • 手順実施回数 : 権限委譲していないユーザー数分

以下のコマンドを実行し、権限委譲していないユーザーに新しいパスワードを設定してください。

openstack user set <user_id> --password <new_password>

SRユーザーへの権限委譲【サイト:災対サイト】」を参照し、SRユーザーへ権限を委譲してください。 ユーザーに新規パスワードを通知してください。

運用

バックアップ資産を手動で削除する場合

事象

本製品のバックアップ資産を手動で削除したい。

メッセージ

ありません。

対処

本手順は、以下の条件で実施してください。

  • 手順実施サイト : 本番サイト、災対サイト
  • 手順実施サーバ : メイン作業用コントロールノード
  • 手順実施ユーザー : インフラ管理者
  • 手順実施回数 : サイトごとに1回

本製品で取得したバックアップ資産は、通常rcx_srosp_backupコマンド内で自動的に削除されるため、手動で削除する必要はありません。

何らかの理由で手動で削除したい場合、以下の手順を実施してください。 一度削除した資産からは復旧が行えません。削除する場合は十分に注意して削除してください。

以下のコマンドを実行し、本製品で取得したバックアップ資産を削除します。

rm -rf /var/opt/FJSVrcxsr/mnt/backup/

全般

調査資料採取方法

当社技術員に調査を依頼する場合の調査資料の採取方法を説明します。

本手順は、以下の条件で実施してください。

  • 手順実施サイト : 本番サイト、災対サイト
  • 手順実施サーバ : すべてのコントロールノード
  • 手順実施ユーザー : インフラ管理者
  • 手順実施回数 : コントロールノードごとに1回

以下のコマンドを実行し、調査資料を採取してください。

env > /var/opt/FJSVrcxsr/log/env && tar -C / -zcf /var/tmp/FJSVrcxsr-`hostname`-`date +"%Y%m%d%H%M%S"`.tar.gz --exclude dump.sql etc/opt/FJSVrcxsr/ var/opt/FJSVrcxsr/ && \rm /var/opt/FJSVrcxsr/log/env

/var/tmp/FJSVrcxsr-hostname-date +"%Y%m%d%H%M%S".tar.gzは出力先ディレクトリおよびファイル名です。 /var/tmpディレクトリにファイル名FJSVrcxsr-<ホスト名>-<採取日時>.tar.gzの調査資料が作成されます。 出力先ディレクトリとファイル名は必要に応じて変更してください。

調査資料は最大50MB程度の容量になります。出力先ディレクトリの空き容量を事前に確認してください。

注意

資料採取中は本製品のコマンドは実行しないでください。