私のシンLVMプールがいっぱいになり、一部のプログラムが中断されます。
device-mapper: thin: 253:4: reached low water mark, sending event.
device-mapper: thin: 253:4: no free space available.
INFO: task jbd2/dm-6-8:742 blocked for more than 120 seconds.
...
INFO: task java:19262 blocked for more than 120 seconds.
空き領域を確保するためにいくつかのシンスナップショットを削除しましたが、プログラムは回復されませんでした。
プログラム/ファイルシステム/ボリュームのロックを解除するコマンドはありますか?
答え1
ただ
lvresize -L +100g oktestlb1/pool
またはより一般的に:
lvresize -L +100g volgroup/poolname
イベントベースの自動サイズ変更を無効にすることを選択した場合は、ボリュームの固定をすぐに解除する必要があります。もちろん、これにはPVにスペースが必要です。
答え2
パニック状態で再起動しないと解決できないようです。
reboot --force
再起動するのは難しいです。私には効果がありませんでしたが、このスクリプトは次のようになります。
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger
パニックを防ぐために、一部の監視ツールは古いスナップショットや呼び出し、またはその両方をfsfreeze
自動的に削除できますが、少なくともrhel 6.5にはそのようなツールはありません。
サービスlvm2-monitor
はシステムログにのみ警告を印刷できます。
Apr 28 18:06:16 oktest-prod-lb1 lvm[789]: Thin vg_oktestlb1-pool-tpool is now 80% full.
Apr 28 18:07:26 oktest-prod-lb1 lvm[789]: Thin vg_oktestlb1-pool-tpool is now 85% full.
バラよりlvm.conf
:
# thin_library is the library used when monitoring a thin device.
#
# "libdevmapper-event-lvm2thin.so" monitors the filling of
# pool and emits a warning through syslog when the use of
# the pool exceeds 80%. The warning is repeated when 85%, 90% and
# 95% of the pool is filled.
thin_library = "libdevmapper-event-lvm2thin.so"
rsyslog
そのメッセージに対して電子メールを送信するか、シェルコマンドを実行するように設定できます。