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)
出力から、ログ表示が必要な場合は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:チェックサム検証方法を指定する
オブジェクトストレージを宛先として使用する場合、-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'