第17章 Red Hat Gluster Storage Gluster ワークロードの監視

ストレージボリュームの監視は、Red Hat Gluster Storage ボリュームで容量計画やパフォーマンスチューニングアクティビティーを実行する場合に役立ちます。Red Hat Gluster Storage ボリュームを異なるパラメーターで監視し、それらのシステム出力を使用して問題の特定とトラブルシューティングを行うことができます。
volume top および volume profile コマンドを使用して、重要なパフォーマンス情報を表示し、ボリュームの各ブリックのボトルネックを特定することができます。
ボリュームのブリックプロセスおよび NFS サーバープロセスの状態ダンプを実行することもできます。また、ボリュームのステータスとボリューム情報を表示することもできます。
注記
サーバープロセスを再起動すると、既存の profile および top 情報がリセットされます。

17.1. ボリュームのプロファイリング

17.1.1. volume profile を用いたサーバーサイドボリュームプロファイリング

volume profile コマンドは、ボリュームの各ファイル操作についてブリックまたは NFS サーバーの I/O 情報を取得するインターフェースを提供します。この情報は、ストレージシステム内のボトルネックを特定するのに役立ちます。
本セクションでは、volume profile コマンドを使用する方法を説明します。

17.1.1.1. プローブの開始

各ブリックのファイル操作情報を表示するには、profiling コマンドを実行します。
# gluster volume profile VOLNAME start
たとえば、test-volume でプロファイリングを開始するには、以下を実行します。
# gluster volume profile test-volume start
Starting volume profile on test has been successful
重要
profile コマンドを実行すると、プロファイル情報が収集される間にシステムのパフォーマンスに影響が出る可能性があります。Red Hat では、プロファイリングはデバッグにのみ使用することを推奨します。
ボリュームでプロファイリングを開始すると、volume info コマンドを使用すると、以下の追加オプションが表示されます。
diagnostics.count-fop-hits: on
diagnostics.latency-measurement: on

17.1.1.2. I/O 情報の表示

ボリューム上のブリックの I/O 情報を表示するには、以下のコマンドを使用します。
# gluster volume profile VOLNAME info
たとえば、test-volume の I/O 情報を表示するには、以下を実行します。
# gluster v profile glustervol info
Brick: rhsqaci-vm33.lab.eng.blr.redhat.com:/bricks/brick0/1
-----------------------------------------------------------
Cumulative Stats:
 %-latency   Avg-latency   Min-Latency   Max-Latency   No. of calls         Fop
 ---------   -----------   -----------   -----------   ------------        ----
      0.00       0.00 us       0.00 us       0.00 us             11     RELEASE
      0.00       0.00 us       0.00 us       0.00 us            238  RELEASEDIR
      0.35     380.05 us     380.05 us     380.05 us              1    SETXATTR
      0.40     107.73 us       5.50 us     413.31 us              4     OPENDIR
      0.62     167.65 us      91.33 us     339.28 us              4      STATFS
      0.86     187.42 us      28.50 us     534.96 us              5    GETXATTR
      2.16     106.54 us      32.16 us     383.58 us             22     ENTRYLK
      2.17     106.97 us      39.01 us     251.65 us             22       FLUSH
      2.92     263.57 us     189.06 us     495.05 us             12     SETATTR
      3.22     124.60 us      43.08 us     311.69 us             28     INODELK
      3.41     616.76 us     319.27 us    1028.72 us              6     READDIR
     10.11     997.03 us     413.73 us    3507.02 us             11      CREATE
     73.79     256.58 us      50.02 us     924.61 us            312      LOOKUP

    Duration: 46537 seconds
   Data Read: 0 bytes
Data Written: 0 bytes

Interval 1 Stats:
 %-latency   Avg-latency   Min-Latency   Max-Latency   No. of calls         Fop
 ---------   -----------   -----------   -----------   ------------        ----
      0.00       0.00 us       0.00 us       0.00 us             11     RELEASE
      0.00       0.00 us       0.00 us       0.00 us              4  RELEASEDIR
      0.35     380.05 us     380.05 us     380.05 us              1    SETXATTR
      0.40     107.73 us       5.50 us     413.31 us              4     OPENDIR
      0.62     167.65 us      91.33 us     339.28 us              4      STATFS
      0.86     187.42 us      28.50 us     534.96 us              5    GETXATTR
      2.16     106.54 us      32.16 us     383.58 us             22     ENTRYLK
      2.17     106.97 us      39.01 us     251.65 us             22       FLUSH
      2.92     263.57 us     189.06 us     495.05 us             12     SETATTR
      3.22     124.60 us      43.08 us     311.69 us             28     INODELK
      3.41     616.76 us     319.27 us    1028.72 us              6     READDIR
     10.11     997.03 us     413.73 us    3507.02 us             11      CREATE
     73.79     256.58 us      50.02 us     924.61 us            312      LOOKUP

    Duration: 347 seconds
   Data Read: 0 bytes
Data Written: 0 bytes

Brick: rhsqaci-vm33.lab.eng.blr.redhat.com:/bricks/brick1/1
-----------------------------------------------------------
Cumulative Stats:
 %-latency   Avg-latency   Min-Latency   Max-Latency   No. of calls         Fop
 ---------   -----------   -----------   -----------   ------------        ----
      0.00       0.00 us       0.00 us       0.00 us             12     RELEASE
      0.00       0.00 us       0.00 us       0.00 us            238  RELEASEDIR
      0.14     146.24 us     146.24 us     146.24 us              1        OPEN
      0.26     266.64 us     266.64 us     266.64 us              1    SETXATTR
      0.26      67.88 us       2.50 us     243.52 us              4     OPENDIR
      0.42     108.83 us      81.87 us     139.11 us              4      STATFS
      0.98     201.26 us      82.36 us     306.38 us              5    GETXATTR
      2.49     116.34 us      23.53 us     304.10 us             22     ENTRYLK
      2.75     236.13 us     124.73 us     358.80 us             12     SETATTR
      3.12     114.82 us      44.34 us     550.01 us             28     INODELK
      3.17     142.00 us      23.16 us     388.56 us             23       FLUSH
      4.37     748.73 us     324.70 us    1115.96 us              6     READDIR
      6.57     614.44 us     364.94 us     807.17 us             11      CREATE
     75.46     248.88 us      66.43 us     599.31 us            312      LOOKUP

    Duration: 46537 seconds
   Data Read: 0 bytes
Data Written: 0 bytes
指定したボリュームで NFS サーバーの I/O 情報を表示するには、次のコマンドを使用します。
# gluster volume profile VOLNAME info nfs
たとえば、test-volume で NFS サーバーの I/O 情報を表示するには、次のコマンドを実行します。
# gluster volume profile test-volume info nfs
NFS Server : localhost
----------------------
Cumulative Stats:
Block Size:              32768b+               65536b+
No. of Reads:                    0                     0
No. of Writes:                 1000                  1000
%-latency   Avg-latency   Min-Latency   Max-Latency   No. of calls         Fop
---------   -----------   -----------   -----------   ------------        ----
0.01     410.33 us     194.00 us     641.00 us              3      STATFS
0.60     465.44 us     346.00 us     867.00 us            147       FSTAT
1.63     187.21 us      67.00 us    6081.00 us           1000     SETATTR
1.94     221.40 us      58.00 us   55399.00 us           1002      ACCESS
2.55     301.39 us      52.00 us   75922.00 us            968        STAT
2.85     326.18 us      88.00 us   66184.00 us           1000    TRUNCATE
4.47     511.89 us      60.00 us  101282.00 us           1000       FLUSH
5.02    3907.40 us    1723.00 us   19508.00 us            147    READDIRP
25.42    2876.37 us     101.00 us  843209.00 us           1012      LOOKUP
55.52    3179.16 us     124.00 us  121158.00 us           2000       WRITE

Duration: 7074 seconds
Data Read: 0 bytes
Data Written: 102400000 bytes

Interval 1 Stats:
Block Size:              32768b+               65536b+
No. of Reads:                    0                     0
No. of Writes:                 1000                  1000
%-latency   Avg-latency   Min-Latency   Max-Latency   No. of calls         Fop
---------   -----------   -----------   -----------   ------------        ----
0.01     410.33 us     194.00 us     641.00 us              3      STATFS
0.60     465.44 us     346.00 us     867.00 us            147       FSTAT
1.63     187.21 us      67.00 us    6081.00 us           1000     SETATTR
1.94     221.40 us      58.00 us   55399.00 us           1002      ACCESS
2.55     301.39 us      52.00 us   75922.00 us            968        STAT
2.85     326.18 us      88.00 us   66184.00 us           1000    TRUNCATE
4.47     511.89 us      60.00 us  101282.00 us           1000       FLUSH
5.02    3907.40 us    1723.00 us   19508.00 us            147    READDIRP
25.41    2878.07 us     101.00 us  843209.00 us           1011      LOOKUP
55.53    3179.16 us     124.00 us  121158.00 us           2000       WRITE

Duration: 330 seconds
Data Read: 0 bytes
Data Written: 102400000 bytes

17.1.1.3. プローブの停止

ボリュームでのプロファイリングを停止するには、以下のコマンドを使用します。
# gluster volume profile VOLNAME stop
たとえば、test-volume のプロファイリングを停止するには、以下を実行します。
# gluster volume profile test-volume stop
Stopping volume profile on test has been successful

17.1.2. クライアント側のボリュームプロファイリング (FUSE のみ)

Red Hat Gluster Storage では、マウントポイントへのアクセス方法をプロファイルし、ストレージにアクセスするアプリケーションをインストルメント化できない場合でもレイテンシーの問題を調査できます。
io-stats トランスレーターは、FUSE マウントポイントを通過する Red Hat Gluster Storage ボリューム上の全ファイルシステムアクティビティーの統計を記録します。FUSE マウントパスから開いているファイルに関する情報、これらのファイルの読み取りおよび書き込みスループット、読み取りおよび書き込みのブロック数、および異なるファイル操作に対して確認されるレイテンシーを収集します。
以下のコマンドを実行して、指定したマウントポイントの記録された統計をすべて、指定された出力ファイルに出力します。
# setfattr -n trusted.io-stats-dump -v output_file_id mount_point
このコマンドにより、/var/run/gluster ディレクトリーに多数のファイルが生成されます。output_file_id はファイル名全体ではなく、生成されたファイル名の一部として使用されます。