Copy broken files rsynk failed verification

I have a ZFS that broke at 1.8TB. I created a .img file using ddrescue and recovered 99.47% of the data with 879 errors, whatever that means. Is it outside the 99%?

Anyway, there are a lot of MKV and AVI files. I have mounted the .img file, and I can browse and play the MKV and AVI files. However, I cannot copy some of them. Rsync says, ‘failed verification — update discarded (will try again).’ FastCopy says, ‘ReadFile (The request could not be performed because of an I/O device error. 1117).’

The files work and play fine, so why can’t I copy them? Does anyone know a better way to copy? I am using Ubuntu Server with mdadm, samba.

1 Like

What does this mean? What broke? An rsync transfer was interrupted at 1.8 TiB? The entire pool failed? Something else happened?

Created an .img file of what? A single drive that also happened to be the only drive that your pool was constructed with? “Whatever that means.” You’re referring to ZFS errors or some other software?

Is what outside the 99%? The 879 errors? In what context are you asking this question? Are you wondering if recovery software is telling you that because it could only recover 99% of your data, the remaining 1% constitutes the 879 errors? Are you referring to 879 errors as reported by ZFS?


I beg of you. I’m on my knees, begging. :pray: What are you talking about? What is this .img file? How was it created? How does it relate to your ZFS pool? Did you actually import the .img file as a read-only pool?

1 Like

What? Do you understand what ddrescue does or what ZFS is? I created an image file of the entire disk. The disk is 1.8 TB, and ddrescue recovered 99.47%.
The zpool is degraded, which means the disk failed.
Why do you bother answering if you don’t know what ZFS or ddrescue is?
I see I was not clear about the size of the disk, but the rest?

Fixed it using dd,

#!/bin/bash

source_dir="/Data/Secshare/USB-SAFE"
destination_dir="/mnt/psafe"

# Create the destination directory if it doesn't exist
mkdir -p "$destination_dir"

# Iterate over all files in the source directory
find "$source_dir" -type f | while read -r source_file; do
    # Generate the corresponding destination file
    dest_file="$destination_dir${source_file#$source_dir}"
    
    # Create the destination directory if it doesn't exist
    mkdir -p "$(dirname "$dest_file")"
    
    # Check if the file already exists
    if [ -f "$dest_file" ]; then
        echo "File already exists: $dest_file, skipping..."
    else
        echo "Copying $source_file to $dest_file ..."
        dd if="$source_file" of="$dest_file" bs=1M conv=noerror,sync
    fi
done

We’re not mind readers.

You left out a lot of detail, leaving readers the option to ask questions or assume that by X you have to mean “X in this specific context”, a risky endeavour at best. Details matter.

Are you even running a TrueNAS product? This forum is not intended for general tech support. You only mention Ubuntu.

1 Like

Yes, truenas uses ZFS.