コンパクト フラッシュを使用する Linux システムで、sysbench ディスク テストを継続的に実行しています。以下に示すように、出力にいくつかのエラーが表示されています。これらのエラーは正確には何を意味しますか? 一部のディスク読み取りが失敗したことを意味しますか? 部品自体は産業グレードの部品で、SMART をサポートしており、SMART は回復不可能な ECC 障害を報告しませんでした。
テストを実行するために使用したコマンドは次のとおりです。
true の場合、sysbench --num-threads=16 --test=fileio --file-total-size=3500M --file-test-mode=rndrw を実行して準備します。sysbench --num-threads=16 --test=fileio --file-total-size=500M --file-test-mode=rndrw を実行して同期します。sysbench --num-threads=16 --test=fileio --file-total-size=3500M --file-test-mode=rndrw を実行してクリーンアップします。完了
サンプル出力:
sysbench 0.4.12: マルチスレッドシステム評価ベンチマーク 128 ファイル、各 28000 KB、合計 3500 MB テスト用のファイルを作成しています... 致命的: ファイルの書き込みに失敗しました! errno = 28 (¦?¦) sysbench 0.4.12: マルチスレッドシステム評価ベンチマーク 次のオプションでテストを実行します。 スレッド数: 16 追加ファイルオープンフラグ: 0 128 ファイル、各 3.9062 MB 合計ファイルサイズ 500MB ブロックサイズ 16Kb ランダムIOのランダムリクエスト数: 10000 複合ランダムIOテストの読み取り/書き込み比: 1.50 定期的な FSYNC が有効になっており、100 リクエストごとに fsync() を呼び出します。 テスト終了時に fsync() を呼び出します。有効です。 同期I/Oモードの使用 ランダム読み取り/書き込みテストを実行 スレッドが始まりました! 致命的: ファイルの読み取りに失敗しました! ファイル: 127 位置: 2965504 エラー番号 = 0 () 致命的: ファイルの読み取りに失敗しました! ファイル: 127 位置: 540672 エラー番号 = 0 () 致命的: ファイルの読み取りに失敗しました! ファイル: 130 位置: 655360 エラー番号 = 0 () 致命的: ファイルの読み取りに失敗しました! ファイル: 129 位置: 2441216 エラー番号 = 0 () 致命的: ファイルの読み取りに失敗しました! ファイル: 129 位置: 475136 エラー番号 = 0 () 致命的: ファイルの読み取りに失敗しました! ファイル: 128 位置: 2588672 エラー番号 = 0 () 致命的: ファイルの読み取りに失敗しました! ファイル: 126 位置: 2588672 エラー番号 = 0 () 致命的: ファイルの読み取りに失敗しました! ファイル: 127 位置: 2899968 エラー番号 = 0 () 致命的: ファイルの読み取りに失敗しました! ファイル: 125 位置: 3309568 エラー番号 = 0 (T¦v¦) 致命的: ファイルの読み取りに失敗しました。ファイル: 126 位置: 49152 エラー番号 = 0 (¦v¦0R0¦¦¦v¦R0¦¦u¦¦Q0¦T¦Q0¦T¦v¦) 致命的: ファイルの読み取りに失敗しました! ファイル: 125 位置: 1097728 エラー番号 = 0 () 致命的: ファイルの読み取りに失敗しました! ファイル: 126 位置: 606208 エラー番号 = 0 () 致命的: ファイルの書き込みに失敗しました! ファイル: 125 位置: 3440640 エラー番号 = 28 () 致命的: wrisysbench 0.4.12: マルチスレッド システム評価ベンチマークに失敗しました
答え1
sysbench のバグかもしれません。ここで似たようなタイトルのバグを見つけました:--file-extra-flags=direct を指定してファイル入出力テストで 'prepare' を実行すると失敗する。
抜粋
./sysbench --test=fileio --file-total-size=1G --file-test-mode=rndrw --max-time=18000 --max-requests=0 --num-threads=4 --rand-init=on --file-num=2 --file-fsync-freq=0 --file-block-size=16384 --report-interval=10 --file-extra-flags=direct prepare
sysbench 0.5: multi-threaded system evaluation benchmark
2 files, 524288Kb each, 1024Mb total
Creating files for the test...
Extra file open flags: 3
Creating file test_file.0
FATAL: Failed to write file! errno = 9 (Bad file descriptor)
SysBench プロジェクトにバグを報告します。こちらから報告できます:
具体的には、バグ報告用のサイド(右)のリンク。