Oracle Cloud Infrastructureドキュメント

トラブルシューティング

このトピックでは、「データ転送」サービスに関連する様々なトラブルシューティングの問題について説明します。

アプライアンスのトラブルシューティング

アプライアンスに関する問題のトラブルシューティングを行うためのパフォーマンス情報は、ホスト・マシン上のターミナル・エミュレータから生成できます。 「シリアル・コンソール構成メニュー」から「アプライアンス診断情報の収集」を選択します。 診断ツールでは、転送ジョブの実行中にシステム、ネットワーク、ストレージおよびパフォーマンスのデータが生成されます。 次に、そのデータをアプライアンス・シリアル・コンソールに転送します。 ここで、端末をスクロールして表示できます。

シリアル・ポート・エミュレータのログ取得機能を使用して、出力を取得することもできます。 シリアル・ポート・エミュレータでは、多くの場合、セッションをファイルにコピーする機能がサポートされています。 手順については、シリアル・ポート・エミュレーション・パッケージのドキュメントを参照してください。 ログ・ファイルへのコピーは、Oracleからサポートが必要な場合や、エミュレーション・セッションでスクロールしてもすべての出力を表示できない場合に便利です。

各操作について、表示には、実行されたコマンドとすべてのオプションが正確に表示されます。

診断出力の例を次に示します:

--------------------------------------------------------------------------------
- systemctl -l --type service --state=active                                   -
--------------------------------------------------------------------------------
UNIT LOAD ACTIVE SUB DESCRIPTION
auditd.service loaded active running Security Auditing Service
blk-availability.service loaded active exited Availability of block devices
chronyd.service loaded active running NTP client/server
console-diags@39-3147-1001.service loaded active running Diagnostic Collection Server for the XA (PID 3147/UID 1001)
crond.service loaded active running Command Scheduler
data-transfer-appliance.service loaded active running Data Transfer Appliance
data-transfer-console.service loaded active running Data Transfer Serial Console

診断データ収集に関する問題は、コンソール出力でサービスのログ・ファイルに書き込まれることになります。 コマンドに失敗すると、深刻な問題が示されます。アプライアンスが戻る必要があります。 ログの例を次に示します:

Mar 6 17:55:33 localhost console-diags: {"Module": "main", "Type": "Info", "Message": "Received message {\"cmd\": \"collect\"}"}
Mar 6 17:55:33 localhost console-diags: {"Module": "main", "Type": "Info", "Message": "Setting up output file. First to remove all /tmp/xa-diags-results"}
Mar 6 17:55:33 localhost console-diags: {"Module": "main", "Type": "Info", "Message": "Removing /tmp/xa-diags-results.2019-03-06T17:54:56.000471"}

IPアドレスの問題によるアプライアンスの初期化に失敗

不正なIPアドレスを使用したため、アプライアンスの初期化に失敗する可能性があります。 initialize-authのIPアドレスは、pingまたはssl接続の実行時に取得したIPアドレスとは異なることがあります。 初期化に失敗した場合、アプライアンスに正しいIPアドレスを使用していることを確認し、初期化を再試行してください。

データセット・シール処理が失敗します

データセット内に特殊なファイルがあるため、データセットのシール処理は失敗する場合があります:

dts nfs-dataset seal-status --name nfs-ds-1

Seal Status :
success           : false
failureReason :
Number of special files : 5
startTime : 2019/03/26 11:52:37 PDT
endTime : 2019/03/26 11:52:39 PDT
numFilesToProcess : 0
numFilesProcessed : 0
bytesToProcess : 0.00 KB
bytesProcessed : 0.00 KB
bytesToProcess : 0.00 KB

ホストでコマンド・プロンプトが表示されたら、NFSデータセットを再アクティブ化してください。

oci dts nfs-dataset activate --name <dataset_name>

次にfindを実行して、すべての特殊ファイルの完全なリストと各ファイルの特定のタイプを取得します。

find <mountpoint> \! -type f \! -type d | xargs file

例えば:

$ find /mnt/nfs-ds-1 \! -type f \! -type d | xargs file
/mnt/nfs-ds-1/myfile1: symbolic link to `/home/user1/myfile1'
/mnt/nfs-ds-1/myfile2: symbolic link to `/home/user1/myfile2'

次に、リストを確認し、NFSマウント・ポイントからすべての特殊ファイルを削除します。

find <mountpoint> \! -type f \! -type d | xargs rm

NFSデータセットを非アクティブにします。

oci dts nfs-dataset deactivate --name <dataset_name>

最後に、データセットを再作成します。

oci dts nfs-dataset seal --name <dataset_name>[--wait]

シールの進捗をモニターします。 正常に完了するまで待機し、後続のステップを続行します。

認証の初期化が、"接続が拒否された"または"接続がタイムアウトしました"で失敗します

アプライアンス・シリアル・コンソールを使用してネットワークを構成しようとしたが、"接続の拒否"または"接続がタイムアウトしました"のメッセージで失敗した場合は、次のトラブルシューティング・ステップに従います。

ホストのコマンド・プロンプトで、次のコマンドを実行します:

ping <appliance_ip>

失敗が発生した場合、次のコマンドを実行して、アプライアンスIPおよびアプライアンスのパスを確認します。

ping -I <local_interface> <appliance_ip>

予期したインタフェースを確認するには、ip routeまたは同等のコマンドを実行します。 ルーティング表が正常であることを確認します。 アプライアンスIPへのネットワーク・パスがわからない場合は、tracerouteの実行を試してください。

次のコマンドを実行します。

curl -k https://<appliance_ip>

レスポンスが見つからない場合。 この障害は、IPアドレスが間違っている可能性があることを示している可能性があります。 たとえば、何もポート443をリスニングしていません。失敗メッセージを受信した場合は、次のコマンドを実行します:

openssl s_client -showcerts -connect <appliance_ip>:443

"Oracle Cloud Infrastructure" / "データ転送アプライアンスに発行された証明書が表示されます。

このコマンドはcurlと類似していますが、HTTPSを使用しないため、プロキシが影響を受けることはありません。 このコマンドが正しく動作し、curlが失敗した場合は、プロキシ環境変数が存在しないことを確認します。

「データ転送ユーティリティ」が"無効な構成ファイル"で失敗します

「データ転送」コマンドを実行しようとしたときに、エラー・メッセージ無効な構成ファイルが表示された場合は、次のファイルがホストに存在し、正しく設定されていることを確認してください:

  • ~/.oci/configおよび
  • ~/.oci/config_upload_user

どちらのファイルにも、最初の行が[DEFAULT]である必要があります。 パスに"~"文字を使用することは、ファイルの内容では無効です。

Oracle Cloud Infrastructureとの通信中、「データ転送ユーティリティ」が"例外の処理中..."で失敗します

環境にインターネットのプロキシがあるかどうかを確認します。 その場合は、それらを最新バージョンに更新してhttps_proxyを設定します。 アプライアンスを使用している場合は、"no_proxy"環境変数を設定します。 プロキシの詳細は、「前提条件」を参照してください。

ディスクへの排他アクセスが不足しているため「データ転送ユーティリティ」が失敗

「データ転送ユーティリティ」では、ディスクへの排他的アクセスが必要です。 すでにディスクへの排他アクセスを要求しているドライバがある場合、「データ転送ユーティリティ」は失敗します。 たとえば、すべてのディスク・デバイスに対してデバイス・マッパー・マルチパス・ドライバを使用する場合は、最初に、マルチパス・ドライバによって管理されるデバイスのリストから、データ転送に使用されるディスクを削除する必要があります。

ディスクへのアクセスは、デバイス・マッパーやボリューム・マネージャを介して実行しないでください。 データ転送中、ファイル・システムがRawデバイスで作成されることが期待されます。 中間ドライバまたは抽象レイヤーを介してレイヤー化またはマッピングすると、転送サイトにディスクをアップロードできなくなります。 これらの障害の原因としては、マルチパス、md、ストライプ化、論理ボリューム・マネージャなどのドライバを使用できます。

データ転送に使用するディスクのフォーマットを手動で試行することで、「データ転送ユーティリティ」が排他的アクセスを持っていることを確認できます。 「データ転送ユーティリティ」では、cryptsetup ユーティリティを使用して暗号化されたデバイスを作成します。 cryptsetupはコマンドラインから実行できます(ルート権限が必要です):

cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 --iter-time 2000 --use random /dev/<sdXX>

<sdXX>は、データ転送に使用されるディスクの名前です。

プロンプトが表示されたら、デバイスを暗号化することをお勧めします。 パスフレーズを指定する必要があります。 cryptsetupユーティリティは何も問題なく繰り返しディスクで実行できるため、パスフレーズはどれでも使用できます。

コマンドが成功すると、「データ転送ユーティリティ」はデータ転送に必要な実行のためにディスクの排他的所有権を取得できます。