여유 공간이 부족하여 Thin LVM 풀이 정지되었습니다. 어떻게 해야 합니까?

여유 공간이 부족하여 Thin LVM 풀이 정지되었습니다. 어떻게 해야 합니까?

내 씬 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해당 메시지에 대해 이메일을 보내거나 셸 명령을 실행하도록 구성할 수 있습니다.

관련 정보