How not to restore data, or so you are so lucky
We all periodically encounter storage device failures. Hundreds of instructions have been written on the Internet how to read everything that is possible without special equipment from devices still responding to normal OS requests. But for many years I was unlucky, the disks either died completely, completely, or the file system was still available and I just read everything that was read in normal mode. And he was waiting. It had to happen that a dying disk came to me precisely in a state requiring more than the most basic actions?
And now this day has come. On a section on top of the software raid0 , which, frankly, kept all the nonsense, the files were unavailable, and the reason was the long-awaited I / O Error. It was unexpected that the carrier device of the second half of the reid did not appear at all in the fdisk outputalthough a list of files was available. Reboot - and the array is assembled, and the files are read perfectly. The SMART report shows a huge number of reassigned sectors. Just what you need. I turn off the drives and begin to think through a recovery strategy.
To read the surviving sectors, it was decided to use GNU ddrescue , a specialized version of dd for reading data from dying disks, which allows you to choose a reading strategy and can build a disk map to continue working after failures, and they will definitely work, because I work with a faulty device.
So, I connect the first disk to my desktop, and POST solemnly reports that one of the connected disks is really bad. The OS booted normally, except for a couple of messages about some ata device errors. After successfully loading fdisk -l, the patient sees, well, finally I will restore the integrity of the raid0 data .
The process went quite briskly, 80 MB / s. Due to the noise of the fan cooling the disks, which was specially removed from the decommissioned server for such an occasion, the chilling sounds of reading the dying disk would not be heard, even if they were. Perhaps not hearing them is even better. The less you know the better you sleep.
By morning, the work of ddrescue was completed, and on the new drive lay the image and map of a dying comrade. But restarting ddrescue for some reason ended suspiciously quickly, and the card
“Something obviously went wrong,” suggested a sleepy inner voice. "And try fdisk -l " - and the mind is already connected. / dev / sdd was not in the output. “How is this even possible?” “Oh yes, the same thing was on the server,” it means, not everything was still lost: approximately such thoughts were in my head all day.
In the evening, the experimental disk again showed signs of life, and I had a difficult task: what to do with the image, because ddrescue with a finalized map refused to read anything, leaving me with an image file smaller than the size of the partition.
On the one hand, ddrescue can fill in -blocks with arbitrary data, then to determine the broken files. On the other hand, I didn’t ask him to create a spars file ( -S parameter ), and intensified googling of the question of how exactly the smaller-than-section of the image file will be filled out, remained unanswered.
I really did not want to rely on the case, and I decided to study the disk map with a calculator in my hands. It turned out that 96% of the contents of the disk were successfully read and fell into the first + block. But unfortunately, the sum of all + blocks did not give the size of the read image, which completely confused me with all the cards. That’s why I went the other way: since I have a good start and the devil knows what at the end, why not get the good old dd and create exactly what you can work with from an incomprehensible image?
The result is a brand new image, which is now exactly the same size as the dying partition, namely 750153729024 bytes. Now let's get to the zeroes at the end. I do it manually
and run:
Hurrah! Now all is well. The read blocks from the disk moved to an empty place of the new image at the desired addresses, and the map was finalized again, and my adventures were coming to an end. But maybe make the last leap and re - read - blocks in one sector? Now give ddrescue
and run like this:
In general, he did not behave at all as I expected. Having stumbled upon a bad sector in the - block, he went on to the next - block until he caught hold of a confident reading from the last - block. An hour later, I stopped this mess using CTRL-C and started reading at normal speed. A few gigabytes from the end of the section were read until ddrescue again ran into bad sectors, which for some reason again led to the disappearance of / dev / sdd from the system and the finalization of the card, which was very swollen and was a mess of + , - and ?blocks. It didn’t make any sense to sort it all out anymore, and I decided to stop torturing the dying man and finally start assembling the array. But before that I wanted to find out what would happen if I used the fill mode. I prepare the placeholder and turn on the filling mode, not forgetting to replace the card with the original one:
And I get another image of the right size! How he did this was a mystery to me, because I several times counted the sum of sizes + blocks from the card, and it did not match the size of the finished file.
And now, in the place of the one who gives the magnetic soul to God, his healthy brother is already, and I carry out the commands:
But the result, to put it mildly, is not what I expected after 24 hours of hope of success:
What to do, now let's try to talk with Google and sections:
- That is, how is it no md superblock detected ?
- And this one, who is still healthy?
- Version 0.90.00? And where should the mdadm 0.90.00 superblock be ?
- At the end of the section.
- And how to read it using mdadm ?
- No way.
- That is, how can it be? Well, so where is it more precise there?
- No further than 128K but no closer than 64K from the end of the section, aligned at the border of 64K, 4K size.
N-yes, I take dd and check:
Yes, the superblock recorded at the end of the section at the correct address, but it still does not want to assemble an array with two identical superblocks, so you need to give it that superblock from the dying one.
Replacing the drive again, if only I read:
“Yes, the Great Combinator has never experienced such a blow,” for some reason it was this immortal quote that surfaced in my memory.
Well, we don’t give up so easily. And here we are:
Oh, last128 size > 0 but <128K. And where is that? How to work with it? And how to make tac toe instead of the killed sectors? And like this:
Here they are, the last 128K. I register them at the end of the image, reboot with a healthy disk, and the array is assembled!
There is a simple command left and:
Well, this is somehow completely offensive. The last time the array was built on the server and ext3 was mounted. The output of dumpe2fs is not suspicious, the status of the clean section , the addresses of alternative superblocks are visible, but for some reason it is not mounted with them either. It would be necessary to treat it, but in this form and with half the data without backup it is impossible to treat. Eh, you have to throw another terabyte. Of course, in a good way it would be necessary to make an image from the now conditionally working disk using ddrescue , but all this is already very tired and therefore I do this:
And sleep, and in the morning I try:
And it is mounted! The directory structure at first glance has not changed, and the files from which I have hashes were read without errors. Only 20 GB is free on the restored partition, so its loop-file received a well-deserved attribute:
and write to fstab:
As a conclusion, I have read to here I recommend:
And now this day has come. On a section on top of the software raid0 , which, frankly, kept all the nonsense, the files were unavailable, and the reason was the long-awaited I / O Error. It was unexpected that the carrier device of the second half of the reid did not appear at all in the fdisk outputalthough a list of files was available. Reboot - and the array is assembled, and the files are read perfectly. The SMART report shows a huge number of reassigned sectors. Just what you need. I turn off the drives and begin to think through a recovery strategy.
To read the surviving sectors, it was decided to use GNU ddrescue , a specialized version of dd for reading data from dying disks, which allows you to choose a reading strategy and can build a disk map to continue working after failures, and they will definitely work, because I work with a faulty device.
So, I connect the first disk to my desktop, and POST solemnly reports that one of the connected disks is really bad. The OS booted normally, except for a couple of messages about some ata device errors. After successfully loading fdisk -l, the patient sees, well, finally I will restore the integrity of the raid0 data .
ddrescue -ndAvv /dev/sdd1 bad mapbad
The process went quite briskly, 80 MB / s. Due to the noise of the fan cooling the disks, which was specially removed from the decommissioned server for such an occasion, the chilling sounds of reading the dying disk would not be heard, even if they were. Perhaps not hearing them is even better. The less you know the better you sleep.
By morning, the work of ddrescue was completed, and on the new drive lay the image and map of a dying comrade. But restarting ddrescue for some reason ended suspiciously quickly, and the card
became like that.
# Rescue Logfile. Created by GNU ddrescue version 1.19
# Command line: ddrescue -ndAvv /dev/sdd1 bad mapbad
# Start time: 2016-02-12 09:05:07
# Current time: 2016-02-12 09:06:45
# Finished
# current_pos current_status
0xAA7A800000 +
# pos size status
0x00000000 0xA6FF000000 +
0xA6FF000000 0x00810000 -
0xA6FF810000 0x0D7F0000 +
0xA70D000000 0x00810000 -
0xA70D810000 0x2887F0000 +
0xA996000000 0x01020000 -
0xA997020000 0x147E0000 +
0xA9AB800000 0x00810000 -
0xA9AC010000 0x4D7F0000 +
0xA9F9800000 0x00810000 -
0xA9FA010000 0x7AFF0000 +
0xAA75000000 0x01840000 -
0xAA76840000 0x03FC0000 +
0xAA7A800000 0x42E258400 -
“Something obviously went wrong,” suggested a sleepy inner voice. "And try fdisk -l " - and the mind is already connected. / dev / sdd was not in the output. “How is this even possible?” “Oh yes, the same thing was on the server,” it means, not everything was still lost: approximately such thoughts were in my head all day.
In the evening, the experimental disk again showed signs of life, and I had a difficult task: what to do with the image, because ddrescue with a finalized map refused to read anything, leaving me with an image file smaller than the size of the partition.
On the one hand, ddrescue can fill in -blocks with arbitrary data, then to determine the broken files. On the other hand, I didn’t ask him to create a spars file ( -S parameter ), and intensified googling of the question of how exactly the smaller-than-section of the image file will be filled out, remained unanswered.
What to do so as not to worry
In fact, you had to carefully read the instructions and find the -p parameter in it , which reserves disk space before creating a regular file.
I really did not want to rely on the case, and I decided to study the disk map with a calculator in my hands. It turned out that 96% of the contents of the disk were successfully read and fell into the first + block. But unfortunately, the sum of all + blocks did not give the size of the read image, which completely confused me with all the cards. That’s why I went the other way: since I have a good start and the devil knows what at the end, why not get the good old dd and create exactly what you can work with from an incomprehensible image?
dd if=bad of=bad_new bs=16M count=42751
dd if=/dev/zero of=bad_new bs=1024 seek=700432384 count=32139617
The result is a brand new image, which is now exactly the same size as the dying partition, namely 750153729024 bytes. Now let's get to the zeroes at the end. I do it manually
such a card
# Rescue Logfile. Created by GNU ddrescue version 1.19
# Command line: ddrescue -ndAvv /dev/sdd1 bad mapbad
# Start time: 2016-02-12 09:05:07
# Current time: 2016-02-12 09:06:45
# Finished
# current_pos current_status
0xA6FF810000 ?
# pos size status
0x00000000 0xA6FF000000 +
0xA6FF000000 0x00810000 -
0xA6FF810000 0x0D7F0000 ?
0xA70D000000 0x00810000 -
0xA70D810000 0x2887F0000 ?
0xA996000000 0x01020000 -
0xA997020000 0x147E0000 ?
0xA9AB800000 0x00810000 -
0xA9AC010000 0x4D7F0000 ?
0xA9F9800000 0x00810000 -
0xA9FA010000 0x7AFF0000 ?
0xAA75000000 0x01840000 -
0xAA76840000 0x03FC0000 ?
0xAA7A800000 0x42E258400 -
and run:
ddrescue -ndAvv /dev/sdd1 bad_new mapbad
Hurrah! Now all is well. The read blocks from the disk moved to an empty place of the new image at the desired addresses, and the map was finalized again, and my adventures were coming to an end. But maybe make the last leap and re - read - blocks in one sector? Now give ddrescue
such a card
# Rescue Logfile. Created by GNU ddrescue version 1.19
# Command line: ddrescue -ndAvv /dev/sdd1 bad mapbad
# Start time: 2016-02-12 09:05:07
# Current time: 2016-02-12 09:06:45
# Finished
# current_pos current_status
0xA6FF000000 ?
# pos size status
0x00000000 0xA6FF000000 +
0xA6FF000000 0x00810000 ?
0xA6FF810000 0x0D7F0000 +
0xA70D000000 0x00810000 ?
0xA70D810000 0x2887F0000 +
0xA996000000 0x01020000 ?
0xA997020000 0x147E0000 +
0xA9AB800000 0x00810000 ?
0xA9AC010000 0x4D7F0000 +
0xA9F9800000 0x00810000 ?
0xA9FA010000 0x7AFF0000 +
0xAA75000000 0x01840000 ?
0xAA76840000 0x03FC0000 +
0xAA7A800000 0x42E258400 ?
and run like this:
ddrescue -ndAvv /dev/sdd1 -с1 bad_new mapbad
In general, he did not behave at all as I expected. Having stumbled upon a bad sector in the - block, he went on to the next - block until he caught hold of a confident reading from the last - block. An hour later, I stopped this mess using CTRL-C and started reading at normal speed. A few gigabytes from the end of the section were read until ddrescue again ran into bad sectors, which for some reason again led to the disappearance of / dev / sdd from the system and the finalization of the card, which was very swollen and was a mess of + , - and ?blocks. It didn’t make any sense to sort it all out anymore, and I decided to stop torturing the dying man and finally start assembling the array. But before that I wanted to find out what would happen if I used the fill mode. I prepare the placeholder and turn on the filling mode, not forgetting to replace the card with the original one:
printf "BADSECTOR" > tmpfile
ddrescue --fill-mode=- tmpfile bad mapbad
And I get another image of the right size! How he did this was a mystery to me, because I several times counted the sum of sizes + blocks from the card, and it did not match the size of the finished file.
And now, in the place of the one who gives the magnetic soul to God, his healthy brother is already, and I carry out the commands:
losetup /dev/loop1 bad_new
mdadm --assemble -o /dev/md12 /dev/loop1 /dev/sdd1
But the result, to put it mildly, is not what I expected after 24 hours of hope of success:
mdadm: no RAID superblock on /dev/loop1
mdadm: /dev/loop1 has no superblock - assembly aborted
What to do, now let's try to talk with Google and sections:
#mdadm --examine /dev/loop1
mdadm: No md superblock detected on /dev/loop1.
- That is, how is it no md superblock detected ?
- And this one, who is still healthy?
#mdadm --examine /dev/sdd1
/dev/sdd1:
Magic : a92b4efc
Version : 0.90.00
UUID : 64d38efd:b8e92c8c:f5292846:21864477
Creation Time : Fri Oct 10 20:22:23 2008
Raid Level : raid0
Raid Devices : 2
Total Devices : 2
Preferred Minor : 2
Update Time : Fri Oct 10 20:22:23 2008
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : 6f768a67 - correct
Events : 1
Chunk Size : 4K
- Version 0.90.00? And where should the mdadm 0.90.00 superblock be ?
- At the end of the section.
- And how to read it using mdadm ?
- No way.
- That is, how can it be? Well, so where is it more precise there?
- No further than 128K but no closer than 64K from the end of the section, aligned at the border of 64K, 4K size.
N-yes, I take dd and check:
dd if=/dev/sdd1 of=last128 bs=1024 skip=732571873 count=128
dd if=last128 of=bad_new bs=1024 seek=732571873 count=128
Yes, the superblock recorded at the end of the section at the correct address, but it still does not want to assemble an array with two identical superblocks, so you need to give it that superblock from the dying one.
Replacing the drive again, if only I read:
#dd if=/dev/sdd1 of=last128 bs=1024 skip=732571873 count=128
dd: reading `/dev/sdd1': Input/output error
0+0 records in
0+0 records out
“Yes, the Great Combinator has never experienced such a blow,” for some reason it was this immortal quote that surfaced in my memory.
Well, we don’t give up so easily. And here we are:
dd if=/dev/sdd1 of=last128 bs=1024 skip=732571873 count=128 conv=noerror
Oh, last128 size > 0 but <128K. And where is that? How to work with it? And how to make tac toe instead of the killed sectors? And like this:
dd if=/dev/sdd1 of=last128 bs=1024 skip=732571873 count=128 conv=noerror,sync
As a matter of fact it was necessary to read the superblock from the raid section of version 0.9 (and 1.0)
Divide the partition size by 64K: 750153729024 / (1024 * 64) = 11446437.5 We
remove one block from the integer part, this will be the address of the beginning of the superblock 11446436 * 64 * 1024 = 750153629696
We bring the address to the 4K block: 750153629696 / (1024 * 4) = 183142976 and execute
remove one block from the integer part, this will be the address of the beginning of the superblock 11446436 * 64 * 1024 = 750153629696
We bring the address to the 4K block: 750153629696 / (1024 * 4) = 183142976 and execute
dd if=/dev/sdd1 of=superblock bs=4k skip=183142976 count=1
Here they are, the last 128K. I register them at the end of the image, reboot with a healthy disk, and the array is assembled!
There is a simple command left and:
#mount -o ro /dev/md11 /srv/old/
mount: wrong fs type, bad option, bad superblock on /dev/md11,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
Well, this is somehow completely offensive. The last time the array was built on the server and ext3 was mounted. The output of dumpe2fs is not suspicious, the status of the clean section , the addresses of alternative superblocks are visible, but for some reason it is not mounted with them either. It would be necessary to treat it, but in this form and with half the data without backup it is impossible to treat. Eh, you have to throw another terabyte. Of course, in a good way it would be necessary to make an image from the now conditionally working disk using ddrescue , but all this is already very tired and therefore I do this:
dd if=/dev/md11 of=ext3 bs=16M conv=noerror,sync
And sleep, and in the morning I try:
losetup /dev/loop2 ext3
mount -o ro /dev/loop2 /srv/old/
And it is mounted! The directory structure at first glance has not changed, and the files from which I have hashes were read without errors. Only 20 GB is free on the restored partition, so its loop-file received a well-deserved attribute:
chattr +i ext3
and write to fstab:
/srv/ext3 /srv/old ext3 ro,loop 0 0
As a conclusion, I have read to here I recommend:
- set up automatic backup of important and not so data,
- periodically view SMART reports,
- use a USB to SATA device or similar to your drive for recovery,
- treat any disk from which you want to take an image, like a dying person and use GNU ddrescue ,
- remember that if it comes to recovering really important data, then there will definitely not be such luck.
Little bonus: what the linux kernel has been thinking about the dark side / dev / sdd all this time
Feb 11 23:25:08 vlad kernel: [ 1.966762] ata4.00: configured for UDMA/133
Feb 11 23:25:08 vlad kernel: [ 1.967027] scsi 3:0:0:0: Direct-Access ATA ST3750640AS D PQ: 0 ANSI: 5
Feb 11 23:25:08 vlad kernel: [ 1.999957] sd 3:0:0:0: Attached scsi generic sg3 type 0
Feb 11 23:25:08 vlad kernel: [ 1.999959] sd 3:0:0:0: [sdd] 1465149168 512-byte logical blocks: (750 GB/699 GiB)
Feb 11 23:25:08 vlad kernel: [ 1.999975] sd 3:0:0:0: [sdd] Write Protect is off
Feb 11 23:25:08 vlad kernel: [ 1.999977] sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
Feb 11 23:25:08 vlad kernel: [ 2.000004] sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Feb 11 23:25:08 vlad kernel: [ 2.014841] sdd: sdd1
Feb 11 23:25:08 vlad kernel: [ 2.014974] sd 3:0:0:0: [sdd] Attached SCSI removable disk
Feb 11 23:25:08 vlad kernel: [ 6.668531] ata4.00: exception Emask 0x0 SAct 0x20 SErr 0x0 action 0x0
Feb 11 23:25:08 vlad kernel: [ 6.668577] ata4.00: irq_stat 0x40000008
Feb 11 23:25:08 vlad kernel: [ 6.668604] ata4.00: failed command: READ FPDMA QUEUED
Feb 11 23:25:08 vlad kernel: [ 6.668638] ata4.00: cmd 60/08:28:b0:66:54/00:00:57:00:00/40 tag 5 ncq 4096 in
Feb 11 23:25:08 vlad kernel: [ 6.668638] res 51/40:08:b0:66:54/00:00:57:00:00/00 Emask 0x409 (media error) Feb 11 23:25:08 vlad kernel: [ 6.668673] ata4.00: status: { DRDY ERR }
Feb 11 23:25:08 vlad kernel: [ 6.668685] ata4.00: error: { UNC }
Feb 11 23:25:08 vlad kernel: [ 6.756422] ata4.00: configured for UDMA/133
Feb 11 23:25:08 vlad kernel: [ 6.756438] sd 3:0:0:0: [sdd] tag#5 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Feb 11 23:25:08 vlad kernel: [ 6.756443] sd 3:0:0:0: [sdd] tag#5 Sense Key : Medium Error [current] [descriptor]
Feb 11 23:25:08 vlad kernel: [ 6.756447] sd 3:0:0:0: [sdd] tag#5 Add. Sense: Unrecovered read error - auto reallocate failed
Feb 11 23:25:08 vlad kernel: [ 6.756451] sd 3:0:0:0: [sdd] tag#5 CDB: Read(10) 28 00 57 54 66 b0 00 00 08 00
Feb 11 23:25:08 vlad kernel: [ 6.756454] blk_update_request: I/O error, dev sdd, sector 1465149104
Feb 11 23:25:08 vlad kernel: [ 6.756504] ata4: EH complete
Feb 11 23:25:08 vlad kernel: [ 10.446467] ata4.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x0
Feb 11 23:25:08 vlad kernel: [ 10.446510] ata4.00: irq_stat 0x40000008
Feb 11 23:25:08 vlad kernel: [ 10.446537] ata4.00: failed command: READ FPDMA QUEUED
Feb 11 23:25:08 vlad kernel: [ 10.446570] ata4.00: cmd 60/08:00:b0:66:54/00:00:57:00:00/40 tag 0 ncq 4096 in
Feb 11 23:25:08 vlad kernel: [ 10.446570] res 51/40:08:b0:66:54/00:00:57:00:00/00 Emask 0x409 (media error) Feb 11 23:25:08 vlad kernel: [ 10.446606] ata4.00: status: { DRDY ERR }
Feb 11 23:25:08 vlad kernel: [ 10.446617] ata4.00: error: { UNC }
Feb 11 23:25:08 vlad kernel: [ 10.554902] ata4.00: configured for UDMA/133
Feb 11 23:25:08 vlad kernel: [ 10.554915] sd 3:0:0:0: [sdd] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Feb 11 23:25:08 vlad kernel: [ 10.554920] sd 3:0:0:0: [sdd] tag#0 Sense Key : Medium Error [current] [descriptor]
Feb 11 23:25:08 vlad kernel: [ 10.554923] sd 3:0:0:0: [sdd] tag#0 Add. Sense: Unrecovered read error - auto reallocate failed
Feb 11 23:25:08 vlad kernel: [ 10.554926] sd 3:0:0:0: [sdd] tag#0 CDB: Read(10) 28 00 57 54 66 b0 00 00 08 00
Feb 11 23:25:08 vlad kernel: [ 10.554929] blk_update_request: I/O error, dev sdd, sector 1465149104
Feb 11 23:25:08 vlad kernel: [ 10.554971] Buffer I/O error on dev sdd, logical block 183143638, async page read
Feb 11 23:25:08 vlad kernel: [ 10.555011] ata4: EH complete
Feb 11 23:25:08 vlad kernel: [ 10.641458] md: bindFeb 11 23:25:08 vlad kernel: [ 10.653880] md: linear personality registered for level -1
Feb 11 23:25:08 vlad kernel: [ 10.655703] md: multipath personality registered for level -4
Feb 11 23:25:08 vlad kernel: [ 10.659291] md: raid1 personality registered for level 1
Feb 12 03:41:06 vlad kernel: [15370.712691] ata4.00: status: { DRDY ERR }
Feb 12 03:41:06 vlad kernel: [15370.712693] ata4.00: error: { UNC }
Feb 12 03:41:06 vlad kernel: [15370.808463] ata4.00: configured for UDMA/133
Feb 12 03:41:06 vlad kernel: [15370.808501] sd 3:0:0:0: [sdd] tag#4 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Feb 12 03:41:06 vlad kernel: [15370.808505] sd 3:0:0:0: [sdd] tag#4 Sense Key : Medium Error [current] [descriptor]
Feb 12 03:41:06 vlad kernel: [15370.808509] sd 3:0:0:0: [sdd] tag#4 Add. Sense: Unrecovered read error - auto reallocate failed
Feb 12 03:41:06 vlad kernel: [15370.808513] sd 3:0:0:0: [sdd] tag#4 CDB: Read(10) 28 00 55 3b 11 3f 00 08 00 00
Feb 12 03:41:06 vlad kernel: [15370.808515] blk_update_request: I/O error, dev sdd, sector 1429935476
Feb 12 03:41:06 vlad kernel: [15370.808529] ata4: EH complete
Feb 12 03:41:39 vlad kernel: [15403.451737] ata4.00: exception Emask 0x0 SAct 0x7e SErr 0x0 action 0x6 frozen
Feb 12 03:41:39 vlad kernel: [15403.451745] ata4.00: failed command: READ FPDMA QUEUED
Feb 12 03:41:39 vlad kernel: [15403.451751] ata4.00: cmd 60/50:08:3f:68:3d/05:00:55:00:00/40 tag 1 ncq 696320 in
Feb 12 03:41:39 vlad kernel: [15403.451751] res 40/00:48:29:02:3b/00:00:55:00:00/00 Emask 0x4 (timeout)
Feb 12 03:41:39 vlad kernel: [15403.451754] ata4.00: status: { DRDY }
Feb 12 03:41:39 vlad kernel: [15403.451756] ata4.00: failed command: READ FPDMA QUEUED
Feb 12 03:41:39 vlad kernel: [15403.451762] ata4.00: cmd 60/b0:10:8f:6d:3d/02:00:55:00:00/40 tag 2 ncq 352256 in
Feb 12 03:41:39 vlad kernel: [15403.451762] res 40/00:b8:ac:06:3b/00:00:55:00:00/00 Emask 0x4 (timeout)
Feb 12 03:41:39 vlad kernel: [15403.451764] ata4.00: status: { DRDY }
Feb 12 03:41:39 vlad kernel: [15403.451766] ata4.00: failed command: READ FPDMA QUEUED
Feb 12 03:41:39 vlad kernel: [15403.451771] ata4.00: cmd 60/50:18:3f:70:3d/05:00:55:00:00/40 tag 3 ncq 696320 in
Feb 12 03:41:39 vlad kernel: [15403.451771] res 40/00:00:84:09:3b/00:00:55:00:00/00 Emask 0x4 (timeout)
Feb 12 03:41:39 vlad kernel: [15403.451774] ata4.00: status: { DRDY }
Feb 12 03:41:39 vlad kernel: [15403.451776] ata4.00: failed command: READ FPDMA QUEUED
Feb 12 03:41:39 vlad kernel: [15403.451781] ata4.00: cmd 60/b0:20:8f:75:3d/02:00:55:00:00/40 tag 4 ncq 352256 in
Feb 12 03:41:39 vlad kernel: [15403.451781] res 40/00:00:74:15:3b/00:00:55:00:00/00 Emask 0x4 (timeout)
Feb 12 03:41:39 vlad kernel: [15403.451783] ata4.00: status: { DRDY }
Feb 12 03:41:39 vlad kernel: [15403.451785] ata4.00: failed command: READ FPDMA QUEUED
Feb 12 03:41:39 vlad kernel: [15403.451790] ata4.00: cmd 60/18:28:3f:78:3d/07:00:55:00:00/40 tag 5 ncq 929792 in
Feb 12 03:41:39 vlad kernel: [15403.451790] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
Feb 12 03:41:39 vlad kernel: [15403.451793] ata4.00: status: { DRDY }
Feb 12 03:41:39 vlad kernel: [15403.451795] ata4.00: failed command: READ FPDMA QUEUED
Feb 12 03:41:39 vlad kernel: [15403.451800] ata4.00: cmd 60/e8:30:57:7f:3d/00:00:55:00:00/40 tag 6 ncq 118784 in
Feb 12 03:41:39 vlad kernel: [15403.451800] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
Feb 12 03:41:39 vlad kernel: [15403.451802] ata4.00: status: { DRDY }
Feb 12 03:41:39 vlad kernel: [15403.451807] ata4: hard resetting link
Feb 12 03:41:44 vlad kernel: [15408.799827] ata4: link is slow to respond, please be patient (ready=0)
Feb 12 03:41:49 vlad kernel: [15413.463949] ata4: COMRESET failed (errno=-16)
Feb 12 03:41:49 vlad kernel: [15413.463958] ata4: hard resetting link
Feb 12 03:41:54 vlad kernel: [15418.816093] ata4: link is slow to respond, please be patient (ready=0)
Feb 12 03:41:59 vlad kernel: [15423.476229] ata4: COMRESET failed (errno=-16)
Feb 12 03:41:59 vlad kernel: [15423.476238] ata4: hard resetting link
Feb 12 03:42:04 vlad kernel: [15428.840370] ata4: link is slow to respond, please be patient (ready=0)
Feb 12 03:42:34 vlad kernel: [15458.509128] ata4: COMRESET failed (errno=-16)
Feb 12 03:42:34 vlad kernel: [15458.509137] ata4: limiting SATA link speed to 1.5 Gbps
Feb 12 03:42:34 vlad kernel: [15458.509139] ata4: hard resetting link
Feb 12 03:42:39 vlad kernel: [15463.525279] ata4: COMRESET failed (errno=-16)
Feb 12 03:42:39 vlad kernel: [15463.525288] ata4: reset failed, giving up
Feb 12 03:42:39 vlad kernel: [15463.525291] ata4.00: disabled
Feb 12 03:42:39 vlad kernel: [15463.525313] ata4.00: device reported invalid CHS sector 0
Feb 12 03:42:39 vlad kernel: [15463.525316] ata4.00: device reported invalid CHS sector 0
Feb 12 03:42:39 vlad kernel: [15463.525328] ata4: EH complete
Feb 12 03:42:39 vlad kernel: [15463.525358] sd 3:0:0:0: [sdd] tag#1 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
Feb 12 03:42:39 vlad kernel: [15463.525363] sd 3:0:0:0: [sdd] tag#1 CDB: Read(10) 28 00 55 3d 68 3f 00 05 50 00
Feb 12 03:42:39 vlad kernel: [15463.525366] blk_update_request: I/O error, dev sdd, sector 1430087743
Feb 12 03:42:39 vlad kernel: [15463.525378] sd 3:0:0:0: [sdd] tag#2 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
Feb 12 03:42:39 vlad kernel: [15463.525381] sd 3:0:0:0: [sdd] tag#2 CDB: Read(10) 28 00 55 3d 6d 8f 00 02 b0 00
Feb 12 03:42:39 vlad kernel: [15463.525383] blk_update_request: I/O error, dev sdd, sector 1430089103
Feb 12 03:42:39 vlad kernel: [15463.525394] sd 3:0:0:0: [sdd] tag#3 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
Feb 12 03:42:39 vlad kernel: [15463.525397] sd 3:0:0:0: [sdd] tag#3 CDB: Read(10) 28 00 55 3d 70 3f 00 05 50 00
Feb 12 03:42:39 vlad kernel: [15463.525399] blk_update_request: I/O error, dev sdd, sector 1430089791
Feb 12 03:42:39 vlad kernel: [15463.525407] sd 3:0:0:0: [sdd] tag#4 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
Feb 12 03:42:39 vlad kernel: [15463.525410] sd 3:0:0:0: [sdd] tag#4 CDB: Read(10) 28 00 55 3d 75 8f 00 02 b0 00
Feb 12 03:42:39 vlad kernel: [15463.525412] blk_update_request: I/O error, dev sdd, sector 1430091151
Feb 12 03:42:39 vlad kernel: [15463.525422] sd 3:0:0:0: [sdd] tag#5 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
Feb 12 03:42:39 vlad kernel: [15463.525425] sd 3:0:0:0: [sdd] tag#5 CDB: Read(10) 28 00 55 3d 78 3f 00 07 18 00
Feb 12 03:42:39 vlad kernel: [15463.525426] blk_update_request: I/O error, dev sdd, sector 1430091839
Feb 12 03:42:39 vlad kernel: [15463.525434] sd 3:0:0:0: [sdd] tag#6 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
Feb 12 03:42:39 vlad kernel: [15463.525436] sd 3:0:0:0: [sdd] tag#6 CDB: Read(10) 28 00 55 3d 7f 57 00 00 e8 00
Feb 12 03:42:39 vlad kernel: [15463.525438] blk_update_request: I/O error, dev sdd, sector 1430093655
Feb 12 03:42:39 vlad kernel: [15463.526601] sd 3:0:0:0: [sdd] tag#8 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
Feb 12 03:42:39 vlad kernel: [15463.526607] sd 3:0:0:0: [sdd] tag#8 CDB: Read(10) 28 00 55 3d 80 bf 00 05 48 00
Feb 12 03:42:39 vlad kernel: [15463.526610] blk_update_request: I/O error, dev sdd, sector 1430094015
Feb 12 03:42:39 vlad kernel: [15463.526623] sd 3:0:0:0: [sdd] tag#9 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
Feb 12 03:42:39 vlad kernel: [15463.526626] sd 3:0:0:0: [sdd] tag#9 CDB: Read(10) 28 00 55 3d 86 07 00 02 b8 00
Feb 12 03:42:39 vlad kernel: [15463.526628] blk_update_request: I/O error, dev sdd, sector 1430095367
Feb 12 03:42:39 vlad kernel: [15463.526644] sd 3:0:0:0: [sdd] tag#10 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
Feb 12 03:42:39 vlad kernel: [15463.526647] sd 3:0:0:0: [sdd] tag#10 CDB: Read(10) 28 00 55 3d 88 bf 00 08 00 00
Feb 12 03:42:39 vlad kernel: [15463.526649] blk_update_request: I/O error, dev sdd, sector 1430096063
Feb 12 03:42:39 vlad kernel: [15463.526666] sd 3:0:0:0: [sdd] tag#11 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
Feb 12 03:42:39 vlad kernel: [15463.526669] sd 3:0:0:0: [sdd] tag#11 CDB: Read(10) 28 00 55 3d 90 bf 00 08 00 00
Feb 12 03:42:39 vlad kernel: [15463.526670] blk_update_request: I/O error, dev sdd, sector 1430098111
Feb 12 09:04:52 vlad kernel: [34796.610216] blk_update_request: 29908 callbacks suppressed
Feb 12 09:04:52 vlad kernel: [34796.610221] blk_update_request: I/O error, dev sdd, sector 1400864832
Feb 12 09:04:52 vlad kernel: [34796.610231] blk_update_request: I/O error, dev sdd, sector 1400866176
Feb 12 09:04:52 vlad kernel: [34796.610240] blk_update_request: I/O error, dev sdd, sector 1400866880
Feb 12 09:04:52 vlad kernel: [34796.610249] blk_update_request: I/O error, dev sdd, sector 1400868928
Feb 12 09:04:52 vlad kernel: [34796.610258] blk_update_request: I/O error, dev sdd, sector 1400870976
Feb 12 09:04:52 vlad kernel: [34796.610268] blk_update_request: I/O error, dev sdd, sector 1400873024
Feb 12 09:04:52 vlad kernel: [34796.610277] blk_update_request: I/O error, dev sdd, sector 1400875072
Feb 12 09:04:52 vlad kernel: [34796.610286] blk_update_request: I/O error, dev sdd, sector 1400877120
Feb 12 09:04:52 vlad kernel: [34796.610295] blk_update_request: I/O error, dev sdd, sector 1400879168
Feb 12 09:04:52 vlad kernel: [34796.610301] blk_update_request: I/O error, dev sdd, sector 1400880512