Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Cache corruption, cannot copy vm img file

Featured Replies

I have a cache pool with 2 ssds on brtfs and today i woke up with all my docker containers and vms stopped. After having a look, i saw a notification with unrecoverable errors on my cache disks, so i moved all appdata and other data away from the cache and onto the array.

 

As the mover seemed not to move everything, i did a scrub on the pool, which fixed most of the errors (but left around 64 unrecoverable errors). I managed to move everything back to the array, all but a 70GB vm img of my blueiris vm.

 

This last file (and most important) i am unable to move to the array. The mover stops with io errors. I tried to cp it manually and after copying around 35GB i got a "cp: error reading 'vdisk1.img': Input/output error"

 

I tried to rsync, but rsync after copying all the data, gave that the verification of the file failed and retries.

 

The thing is that if i start the vm, it works fine. So the corruption must be minimal, yet i am unable to copy the img to the array in order to replace the cache drives.

 

Is there a way to copy the image (even with the small corruption, since it seems to work fine) or repair it somehow ?

 

  • Community Expert

It's normal to get an i/o error is btrfs detects the file is corrupt, so the user knows there's problem, you can recover the file with btrfs restore, it will not check data integrity.

  • Author

Thank you for replying

 

I tried what you suggested, umounted the cache, and used btrfs restore, and i still got an error and got half of the img file, as i did with the cp command (although i did use the -i option to ignore errors):

 

root:~# btrfs restore -iv /dev/mapper/sdb1 /mnt/disk1/restore_cache/
Restoring /mnt/disk1/restore_cache/domains
Restoring /mnt/disk1/restore_cache/domains/Windows 10
Restoring /mnt/disk1/restore_cache/domains/Windows 10/vdisk1.img
Short read for 102430212096, read 8192, read_len 65536
trying another mirror
Short read for 102430212096, read 8192, read_len 65536
ERROR: exhausted mirrors trying to read (3 > 2)
ERROR: copying data for /mnt/disk1/restore_cache/domains/Windows 10/vdisk1.img failed
Done searching /domains/Windows 10
ERROR: searching directory /mnt/disk1/restore_cache/domains/Windows 10/vdisk1.img failed: -1
Done searching /domains
ERROR: searching directory /mnt/disk1/restore_cache/domains/Windows 10/vdisk1.img failed: -1

 

  • Community Expert

hmm, maybe it's not a checksum error, try to copy the file with cp and post the diags after you get an error.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.