test_io_device コマンドは、バックアップメディアが提供するI/Oインターフェースと現在のI/O権限がバックアップ・リストアの要件を満たしているかどうかを検証するために使用されます。
説明
本記事は、4.2.1シリーズのV4.2.1_BP10_HF1以降のバージョン、4.2.5シリーズのV4.2.5_BP1以降のバージョン、およびV4.3.5以降のバージョンに適用されます。その他のバージョンでの使用方法については、test_io_device を参照してください。
前提条件
テストを実行する前に、ossutilやaws-cliなどのツールを使用して、ターゲットに正常にアクセスできることを確認してください。
コマンドの概要
使用方法は以下のとおりです:
./ob_admin test_io_device -d'<file_path>' -s'<verify_info>'
ここで、-dはバックアップの仮想パスを指定するために使用され、このパスは空のディレクトリである必要があります。-sはオブジェクトストレージの検証情報を指定するために使用されます。オブジェクトストレージを設定する場合は、-dと-sの両方のパラメータを設定する必要があります。NFSストレージを設定する場合は、-dパラメータのみを設定する必要があります。
例
test_io_deviceコマンドの簡単な例を以下に示します。
例1:-dのみを設定する場合
./ob_admin test_io_device -d'file:///data/nfs'
出力は以下のとおりです。テストに合格した場合、モジュールごとにOKと実行時間が出力されます。
[NOTICE] If specific log is required, you need to set the environment variable OB_ADMIN_LOG_DIR.
for example: export OB_ADMIN_LOG_DIR=~/.ob_admin_log
please notice that log files should not be outputted to OceanBase's clog directory.
succ to open, filename=/dev/null, fd=5, wf_fd=2
succ to open, filename=/dev/null, fd=6, wf_fd=2
[RUN TEST1] Backup dest connectivity
[ OK] Backup dest connectivity (485 ms)
[RUN TEST2] archive log
[ OK] archive log (8638 ms)
[RUN TEST3] backup data
[ OK] backup data (1093 ms)
[RUN TEST4] consume clog file
[ OK] consume clog file (1242 ms)
[RUN TEST5] clean backup file
[ OK] clean backup file (169 ms)
[RUN TEST6] test_object_storage_interface
[ OK] test_object_storage_interface (10903 ms)
[RUN TEST7] test_list_before_complete_multipart_write
[ OK] test_list_before_complete_multipart_write (2077 ms)
出力から、[NOTICE]というメッセージが1つ表示されていることがわかります。これは、ログを確認する必要がある場合は、OB_ADMIN_LOG_DIR環境変数を設定する必要があることを示唆しています。この環境変数を設定しない場合、ob_adminのログは /dev/null に出力されます。後の例では、このヒントメッセージは省略されています。
例2:-dとsの両方を設定する場合
./ob_admin test_io_device -d'oss://home/admin/backup_info' -s'host=http://oss-cn-hangzhou.aliyuncs.com&access_id=111&access_key=222'
出力は以下のとおりです。テストに合格した場合、モジュールごとにOKと実行時間が出力されます。
[RUN TEST1] Backup dest connectivity
[ OK] Backup dest connectivity (485 ms)
[RUN TEST2] archive log
[ OK] archive log (8638 ms)
[RUN TEST3] backup data
[ OK] backup data (1093 ms)
[RUN TEST4] consume clog file
[ OK] consume clog file (1242 ms)
[RUN TEST5] clean backup file
[ OK] clean backup file (169 ms)
[RUN TEST6] test_object_storage_interface
[ OK] test_object_storage_interface (10903 ms)
[RUN TEST7] test_list_before_complete_multipart_write
[ OK] test_list_before_complete_multipart_write (2077 ms)
テストに失敗した場合、エラーメッセージ、エラーコード、エラーコード名が出力されます。
パスへのアクセス権限が不足している場合のエラー
[RUN TEST1] Backup dest connectivity ERROR INFO: The path is inaccessible, please check the path and the storage info parameter ERROR CODE: -9071 OB_BACKUP_PERMISSION_DENIED [ FAILED! ] Backup dest connectivity (62 ms)パスエラーによるエラー報告
[RUN TEST1] Backup dest connectivity ERROR INFO: The path is inaccessible, please check the path and the storage info parameter ERROR CODE: -9118 OB_INVALID_OBJECT_STORAGE_ENDPOINT [ FAILED! ] Backup dest connectivity (50 ms)
例3:checksum検証方法の指定
オブジェクトストレージをターゲットとして使用する場合、-s パラメータを使用して checksum_type の検証方式を指定できます。コマンドは以下のとおりです:
md5を検証方式として指定
./ob_admin test_io_device \ -d 'oss://oss-bucket/your/test/dir' \ -s 'host=xxx&access_id=xxx&access_key=xxx&checksum_type=md5'検証なしを指定
./ob_admin test_io_device \ -d 'oss://oss-bucket/your/test/dir' \ -s 'host=xxx&access_id=xxx&access_key=xxx&checksum_type=no_checksum'