У меня есть KVM-сервер CentOS 6.5 x86-64 с кучей гостевых виртуальных машин разных типов, в основном EL5 и EL6. Однако один и только один из них продолжает давать сбой каждые пару дней:
pthread_create failed: Resource temporarily unavailable
Вот полный журнал /var/log/libvirt/qemu/vws3-pp.log
:
2014-07-24 21:27:27.451+0000: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none
/usr/libexec/qemu-kvm -name vws3-pp,process=qemu:vws3-pp -S -M rhel6.5.0
-enable-kvm -m 1536 -redhat-disable-KSM -realtime mlock=on
-smp 1,sockets=1,cores=1,threads=1 -uuid d11de823-8bab-4e8d-8457-61ef7ab877a7
-nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/vws3-pp.monitor,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown
-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2
-drive file=/vm/prod/vws3-pp-disk1.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=writethrough
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
-netdev tap,fd=22,id=hostnet0,vhost=on,vhostfd=32
-device virtio-net-pci,netdev=hostnet0,id=net0,bus=pci.0,addr=0x3
-chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0
-vnc 127.0.0.1:9,password -vga cirrus
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
char device redirected to /dev/pts/5
pthread_create failed: Resource temporarily unavailable <==== ### HERE ####
2014-07-29 15:29:52.063+0000: shutting down
В коробке есть 8 других виртуальных машин, и все они успешно работают в течение нескольких месяцев, только одна выдает сбой каждые несколько дней. В этой виртуальной машине нет ничего особенного - довольно стандартная LAMP, не перегруженная - я не могу придумать какой-либо существенной разницы между этой и другими виртуальными машинами, которые не вызывают проблем. Некоторые из них очень заняты, но все еще стабильны.
Где-то в сети нашел предложение установить max_processes = 4096
в /etc/libvirt/qemu.conf
и перезапустите коробку - сделал это, но это не помогло. Этим утром виртуальная машина снова разбилась без уважительной причины.
НОВАЯ ИНФОРМАЦИЯ:
Как оказалось, виртуальная машина всегда умирает, пока rdiff-backup
выполняется с удаленного сервера резервного копирования, и в большинстве случаев последний журнал в rdiff-backup-data / backup.log (на удаленной стороне, т.е. не затронутый сбоем):
Processing changed file tmp
Incrementing mirror file /extpool/backup/vws3-pp/tmp
Даже если /tmp/**
исключен из резервной копии. Это действительно могло быть ошибкой /usr
который является следующим по алфавиту в /
, кто знает...
Резервное копирование выполняется каждую ночь, но сбой виртуальной машины происходит примерно раз в неделю.
Что значит rdiff-backup
сделать так странно, что заставляет угадывание KVM умирать с pthread_create failed: Resource temporarily unavailable
?
Любые идеи?
Проверьте
cat /proc/`pidof qemu-kvm`/limits
чтобы увидеть, действительно ли установлены ограничения после перезапуска.