ここEnableSysadminでの私の投稿をフォローしている場合は、私が以前にストレージサポートエンジニアとして働いていたことをご存知でしょう。その役割での私の多くのタスクの1つは、お客様が本番環境から専用のバックアップストレージアレイにバックアップを複製できるようにすることでした。多くの場合、本番環境からストレージへのデータ転送の速度について、お客様から連絡がありました。
さて、あなたがこれまでに支援に携わったことがあるなら、あなたは症状の多くの原因があり得ることを知っています。ただし、システムのスループットは、大量のデータ転送に大きな影響を与える可能性があります。すべてが順調である場合、私たちは何時間も話している、そうでない場合は...私は単一の複製ジョブが数ヶ月かかるのを見てきました。
Linuxには、あらゆる種類の問題に役立つツールが満載されていることを私たちは知っています。入出力の監視には、iostat
を使用します 指図。 iostat
sysstat
の一部です パッケージであり、デフォルトですべてのディストリビューションにロードされるわけではありません。
インストールとベースラン
ここではRedHatEnterprise Linux 8を使用しており、以下のインストール出力を含めています。
[Red Hat Enterprise Linuxを試してみませんか?今すぐ無料でダウンロードしてください。 ]
注 :コマンドはインストール後に自動的に実行されます。
[root@rhel ~]# iostat
bash: iostat: command not found...
Install package 'sysstat' to provide command 'iostat'? [N/y] y
* Waiting in queue...
The following packages have to be installed:
lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64 Lm_sensors core libraries
sysstat-11.7.3-2.el8.x86_64 Collection of performance monitoring tools for Linux
Proceed with changes? [N/y] y
* Waiting in queue...
* Waiting for authentication...
* Waiting in queue...
* Downloading packages...
* Requesting data...
* Testing changes...
* Installing packages...
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test) 06/17/2020 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
2.17 0.05 4.09 0.65 0.00 83.03
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 206.70 8014.01 1411.92 1224862 215798
sdc 0.69 20.39 0.00 3116 0
sdb 0.69 20.39 0.00 3116 0
dm-0 215.54 7917.78 1449.15 1210154 221488
dm-1 0.64 14.52 0.00 2220 0
オプションなしで基本コマンドを実行する場合は、iostat
CPU使用率情報を表示します。また、システム上の各パーティションのI/O統計も表示されます。出力には、合計と、読み取り操作と書き込み操作の両方の1秒あたりの値が含まれます。また、 tpsにも注意してください フィールドは、1秒あたりの転送数の総数です。 特定のデバイスに発行されます。
実際のアプリケーションは次のとおりです。使用されているハードウェアがわかっている場合は、そのハードウェアがどのパラメーター内で動作する必要があるかがわかります。この知識をiostat
の出力と組み合わせると 、それに応じてシステムに変更を加えることができます。
インターバル実行
トラブルシューティングまたはデータ収集フェーズで、特定の間隔でレポートを実行すると便利です。これを行うには、最後に間隔(秒単位)を指定してコマンドを実行します。
[root@rhel ~]# iostat -m 10
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test) 06/17/2020 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.94 0.05 0.35 0.04 0.00 98.62
Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 12.18 0.44 0.12 1212 323
sdc 0.04 0.00 0.00 3 0
sdb 0.04 0.00 0.00 3 0
dm-0 12.79 0.43 0.12 1197 329
dm-1 0.04 0.00 0.00 2 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.24 0.00 0.15 0.00 0.00 99.61
Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 0.00 0.00 0.00 0 0
sdc 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.20 0.00 0.18 0.00 0.00 99.62
Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 0.50 0.00 0.00 0 0
sdc 0.00 0.00 0.00 0 0
sdb 0.00 0.00 0.00 0 0
dm-0 0.50 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
上記の出力は30秒の実行からのものです。
Ctrl + Cを使用する必要があります 実行を終了します。
読みやすい
出力をクリーンアップして消化しやすくするには、次のオプションを使用します。
-m
出力をメガバイトに変更します。これは少し読みやすく、通常は顧客や管理者にとってより理解しやすいものです。
[root@rhel ~]# iostat -m
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test) 06/17/2020 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.51 0.09 0.55 0.07 0.00 97.77
Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 22.23 0.81 0.21 1211 322
sdc 0.07 0.00 0.00 3 0
sdb 0.07 0.00 0.00 3 0
dm-0 23.34 0.80 0.22 1197 328
dm-1 0.07 0.00 0.00 2 0
-p
フォーカスする特定のデバイスを指定できます。このオプションを-m
と組み合わせることができます 特にデバイスとそのパーティションに関する見栄えが良く、きちんと表示されます。
[root@rhel ~]# iostat -m -p sda
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test) 06/17/2020 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.19 0.07 0.45 0.06 0.00 98.24
Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 17.27 0.63 0.17 1211 322
sda2 16.83 0.62 0.17 1202 320
sda1 0.10 0.00 0.00 7 2
高度な統計
デフォルト値で必要な情報が得られない場合は、-x
を使用できます。 拡張統計を表示するためのフラグ:
[root@rhel ~]# iostat -m -p sda -x
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test) 06/17/2020 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.06 0.06 0.40 0.05 0.00 98.43
Device r/s w/s rMB/s wMB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
sda 12.20 2.83 0.54 0.14 0.02 0.92 0.16 24.64 0.55 0.50 0.00 45.58 52.37 0.46 0.69
sda2 12.10 2.54 0.54 0.14 0.02 0.92 0.16 26.64 0.55 0.47 0.00 45.60 57.88 0.47 0.68
sda1 0.08 0.01 0.00 0.00 0.00 0.00 0.00 23.53 0.44 1.00 0.00 43.00 161.08 0.57 0.00
ここで注意を払うべきオプションのいくつかは次のとおりです:
- avgqu-sz-デバイスに発行されたリクエストの平均キュー長
- 待機-デバイスに発行されたI/Oリクエストが処理されるまでの平均時間(ミリ秒)
- r_await-読み取りリクエストが処理される平均時間(ミリ秒)
- w_await-書き込みリクエストが処理される平均時間(ミリ秒)
他にも値がありますが、注意が必要な値です。
シャットダウン
この記事では、iostat
の使用を開始するために必要なほぼすべてについて説明します。 。他に質問がある場合、またはオプションの詳細な説明が必要な場合は、manページまたはお好みの検索エンジンを確認してください。その他のLinuxのヒントとコツについては、EnableSysadminに注目してください。
[無料のオンラインコース:Red HatEnterpriseLinuxの技術概要。 ]