You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Distribution Name | Fedora
Distribution Version | 25 (Minimal)
Linux Kernel | 4.12.13-200.fc25.x86_64
Architecture | x86_64
ZFS Version | 0.7.2-1.fc25 (DKMS)
SPL Version | 0.7.2-1.fc25 (DKMS)
System Specifications:
Xeon E5-2620v3 (6-core)
32GB ECC Registered RAM
Supermicro X8SRH Motherboard
SSD to boot Fedora from, unrelated
6 * HGST 4K7000 7200RPM Harddisks in RAIDZ2
Disks are attached to local SATA ports (not the onboard SAS ports)
Scrub has been done fairly recent (~40 days ago)
Describe the problem you're observing
Extreme load, unresponsive system (regarding IO).
I wrote a (sub)filesystem to 0b free doing a dd-backup of a large USB attached harddisk. The pool had >1.2T free, and the disk was ~500G, so I thought it shouldn't be a problem, because I also piped it through gzip.
Unfortunately the filesystem became full anyway. To free up some space I tried deleting the target file, which took quite a long time (multiple minutes, for ~275G).
During that time, the system load increased to > 60 and was barely responsive regarding IO. (the pool is not the root pool, my OS is on a separate SSD). The main pool consists of 6 * 4TB HGST 7200RPM harddrives configured in RAIDZ2.
I noticed the sluggishness because I was installing an RPM in the meantime, which took quite some more time (10's of seconds instead of a few seconds for a 51MB rpm). When I started top, I noticed the load. After a few minutes the extreme load subsided, but the delete job has been running for more than 20 minutes now.
I double checked the free space, because this is the third time I've written this pool to 0b free (stupid me, I know). The weird thing is, that the zpool had > 1.2T free. But the filesystem only could write < 300g ( I understand that the zpool space is without parity calculations, but the difference is much more).
Some caveats: The pool is 'rather' old, and has undergone some migrations.
And, it's 49% fragmented, since is rather heavily used :-)
Compression (LZ4) is enabled for all filesystems, dedup only for some specific filesystems. It IS enabled, for the target filesystem that was being written to.
The text was updated successfully, but these errors were encountered:
Compression (LZ4) is enabled for all filesystems, dedup only for some specific filesystems. It IS enabled, for the target filesystem that was being written to.
You're seeing the delete penalty of dedup, the DDT have to be updated for every block that is free'd - which will take a while when:
having to release ~275G
running with the effective IOPS of one single disk (raidz one vdev)
especially should the DDT not fit into ARC completely and have to be re-read on a constant basis.
Bottom line: no bug but a case of (the downsides of) dedup.
As a side note: The FREE output of zpool list is completely meaningless (not accounting for redundancy and spa_slop_shift eating away space for unexplained reasons), always use zfs list -d0 in case you want to get an estimated estimation on how much additional stuff you might be able to pour into a pool.
This issue has been automatically marked as "stale" because it has not had any activity for a while. It will be closed in 90 days if no further activity occurs. Thank you for your contributions.
System information
Distribution Name | Fedora
Distribution Version | 25 (Minimal)
Linux Kernel | 4.12.13-200.fc25.x86_64
Architecture | x86_64
ZFS Version | 0.7.2-1.fc25 (DKMS)
SPL Version | 0.7.2-1.fc25 (DKMS)
System Specifications:
Xeon E5-2620v3 (6-core)
32GB ECC Registered RAM
Supermicro X8SRH Motherboard
SSD to boot Fedora from, unrelated
6 * HGST 4K7000 7200RPM Harddisks in RAIDZ2
Disks are attached to local SATA ports (not the onboard SAS ports)
Scrub has been done fairly recent (~40 days ago)
Describe the problem you're observing
Extreme load, unresponsive system (regarding IO).
I wrote a (sub)filesystem to 0b free doing a dd-backup of a large USB attached harddisk. The pool had >1.2T free, and the disk was ~500G, so I thought it shouldn't be a problem, because I also piped it through gzip.
Unfortunately the filesystem became full anyway. To free up some space I tried deleting the target file, which took quite a long time (multiple minutes, for ~275G).
During that time, the system load increased to > 60 and was barely responsive regarding IO. (the pool is not the root pool, my OS is on a separate SSD). The main pool consists of 6 * 4TB HGST 7200RPM harddrives configured in RAIDZ2.
I noticed the sluggishness because I was installing an RPM in the meantime, which took quite some more time (10's of seconds instead of a few seconds for a 51MB rpm). When I started top, I noticed the load. After a few minutes the extreme load subsided, but the delete job has been running for more than 20 minutes now.
The zpool list output:
The zfs list output:
Describe how to reproduce the problem
I've no idea whether this is reproducible on other systems, but I can reproduce it by filling up my filesystem and deleting the file :-)
Include any warning/errors/backtraces from the system logs
Top output snippet during the load > 60
I double checked the free space, because this is the third time I've written this pool to 0b free (stupid me, I know). The weird thing is, that the zpool had > 1.2T free. But the filesystem only could write < 300g ( I understand that the zpool space is without parity calculations, but the difference is much more).
Some caveats: The pool is 'rather' old, and has undergone some migrations.
And, it's 49% fragmented, since is rather heavily used :-)
Compression (LZ4) is enabled for all filesystems, dedup only for some specific filesystems. It IS enabled, for the target filesystem that was being written to.
The text was updated successfully, but these errors were encountered: