-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
zfs and zpool commands hangs when znapzend runs backups and influence for the cluster #7331
Comments
Depending on how "znapzend backups" work under the hood this could be a duplicate of #3104. |
@arturpzol let's start by seeing if we can determine exactly where it's waiting. I would have expected to see |
@behlendorf below logs from stack:
after a few seconds/minutes (depends on the load) when
When system load is low I have tried to use ZFS Channel Programs but suspension can be also noticed:
|
@arturpzol do you happen to have a reliable reproducer? I'd like to look into this. |
I tried to reproduce this on my own by doing a vdev attach while running
The Can you rerun We ran into a similar problem back in February, where were we had a dying disk that was holding up up ZFS. That caused our |
For the Pacemaker case it wouldn't be unreasonable to add a |
Hello, I have similar issue in my environment. Environment:
Scenario: Behaviour:
I think it may be related. |
@marcinkuk I tried to reproduce your zfs send hang between two VMs with:
However, I didn't see the sending VM hang when I paused the receiving VM. This was with 0.7.9. Can you give me some more details on your dataset, and which ZoL version you're running? |
I setup a test where I continuously wrote to a mirrored pool, while simultaneously offlining/onlining disks in the pool. While doing that, I would run
In
I narrowed it down further, and saw that it was the |
1. Add a proc entry to display the pool's health: $ cat /proc/spl/kstat/zfs/tank/health ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331 Requires-spl: refs/pull/705/head
1. Add a proc entry to display the pool's health: $ cat /proc/spl/kstat/zfs/tank/health ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331 Requires-spl: refs/pull/705/head
1. Add a proc entry to display the pool's health: $ cat /proc/spl/kstat/zfs/tank/health ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331 Requires-spl: refs/pull/705/head
1. Add a proc entry to display the pool's health: $ cat /proc/spl/kstat/zfs/tank/health ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331 Requires-spl: refs/pull/705/head
1. Add a proc entry to display the pool's health: $ cat /proc/spl/kstat/zfs/tank/health ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331 Requires-spl: refs/pull/705/head
1. Add a proc entry to display the pool's health: $ cat /proc/spl/kstat/zfs/tank/health ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331 Requires-spl: refs/pull/705/head
1. Add a proc entry to display the pool's health: $ cat /proc/spl/kstat/zfs/tank/health ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331
1. Add a proc entry to display the pool's health: $ cat /proc/spl/kstat/zfs/tank/health ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331
1. Add a proc entry to display the pool's health: $ cat /proc/spl/kstat/zfs/tank/health ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331
1. Add a proc entry to display the pool's health: $ cat /proc/spl/kstat/zfs/tank/health ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331
1. Add a proc entry to display the pool's health: $ cat /proc/spl/kstat/zfs/tank/health ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331
1. Add a proc entry to display the pool's health: $ cat /proc/spl/kstat/zfs/tank/health ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331
1. Add a proc entry to display the pool's state: $ cat /proc/spl/kstat/zfs/tank/state ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331
1. Add a proc entry to display the pool's state: $ cat /proc/spl/kstat/zfs/tank/state ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Reviewed-by: Olaf Faaland <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Reviewed by: Richard Elling <[email protected]> Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331 Closes openzfs#7563
1. Add a proc entry to display the pool's state: $ cat /proc/spl/kstat/zfs/tank/state ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Reviewed-by: Olaf Faaland <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Reviewed by: Richard Elling <[email protected]> Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331 Closes openzfs#7563
1. Add a proc entry to display the pool's state: $ cat /proc/spl/kstat/zfs/tank/state ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Reviewed-by: Olaf Faaland <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Reviewed by: Richard Elling <[email protected]> Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331 Closes openzfs#7563
1. Add a proc entry to display the pool's state: $ cat /proc/spl/kstat/zfs/tank/state ONLINE This is done without using the spa config locks, so it will never hang. 2. Fix 'zpool status' and 'zpool list -o health' output to print "SUSPENDED" instead of "ONLINE" for suspended pools. Reviewed-by: Olaf Faaland <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Reviewed by: Richard Elling <[email protected]> Signed-off-by: Tony Hutter <[email protected]> Closes openzfs#7331 Closes openzfs#7563
JFYI PR with |
System information
Describe the problem you're observing
When znapzend runs some backups in the same time sometimes zfs and zpool commands hangs for a few seconds/minutes depending on the system load. This behaviour causes failover in cluster enviroment.
For example:
In ZFS OCF RA Pacemaker resource monitor checks health of the pool every 5 seconds:
<action name="monitor" depth="0" timeout="30s" interval="5s" />
zpool_monitor function:
When zpool list -H -o health will hang for a 30 seconds failover is performing.
It looks like txg_sync need to finish work before unblock commands:
strace shows that commands are waiting for open /dev/zfs:
Is there possible to run
zpool list
orzpool status
in async mode or any other possibility to get status of the pool? or if the only solution is to increase the timeout?The text was updated successfully, but these errors were encountered: