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以降のバージョンに適用されます。
前提条件
テストを開始する前に、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)
出力から、ログを確認する必要がある場合は OB_ADMIN_LOG_DIR 環境変数を設定するよう示唆する [NOTICE] メッセージが1つあることがわかります。この環境変数を設定しない場合、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'