Translated message

A translation of this page exists in English.

Docker のフルシンプールに接続すると、dmeventd の CPU 使用量が高くなるのはなぜですか?

Solution Verified - Updated -

Issue

シンプールの現在の割り当てがボリュームグループで利用できる領域の合計に近づくと、プールを拡張する試みがそれぞれ失敗し、/var/log/messages に以下のようなメッセージが出力されます。

  Thin docker--storage-docker--pool is now 99% full.
  Insufficient free space:510 extents needed, but only 6 available
  Failed to extend thin docker--storage-docker--pool.

シンプールの割り当てが dmeventd によって監視され、dmeventd が 10 秒ごとに lvextend コマンドをエミュレートすることでプールを拡張しようとします (dmeventd は、個別のプロセスをフォークまたは実行しません)。たとえば、以下をエミュレートします。

  lvextend --use-policies docker-storage/docker-pool

lvextend のオペレーションを試行または失敗するたびに、/etc/lvm/archive ディレクトリに追加ファイルが作成されます。したがって、システム管理者がシンプールに追加領域を提供しないと、長期的には /etc/lvm/archive のファイル数が大幅に増え続けます (10 秒に 1 つのファイルが追加されると、1 日あたり 8640 ファイルになります)。/etc/lvm/archive ディレクトリに大量のファイルが作成されると、dmeventd の CPU 使用量が高くなります。

Environment

  • シンプールの devicemapper を使用する Docker
  • lvm2-2.02.166-1.el7 より前の lvm2

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content