I have an EC2 instance running CentOS 5.6 86_64. I use xfs_freeze to freeze/thaw a file system before taking a snapshot. Normally this works great, but today it stopped working - the freeze operation never finished. I checked the process list and found a handful of xfs_io
processes running that seem to be stuck:
337 pts/0 D 0:00 /usr/sbin/xfs_io -r -p xfs_freeze -x -c freeze /var/lib/pgsql
32138 pts/0 D 0:00 /usr/sbin/xfs_io -r -p xfs_freeze -x -c freeze /var/lib/pgsql
32228 pts/0 D 0:00 /usr/sbin/xfs_io -r -p xfs_freeze -x -c freeze /var/lib/pgsql
32261 pts/0 D 0:00 /usr/sbin/xfs_io -r -p xfs_freeze -x -c freeze /var/lib/pgsql
32305 ? D 0:00 /usr/sbin/xfs_io -r -p xfs_freeze -x -c freeze /var/lib/pgsql
kill -TERM
and kill -9
don't seem to kill these processes off. I really don't want to reboot the machine, because it happens to be a primary database server.
Any suggestions?
If kill -9 doesn't work, it's likely the thread is in a kernel call and the kernel is blocking the SIGINT. You can't kill threads/processes in that state. This answer and this answer explain why.
Essentially, you most likely need to reboot.