Puzzled. How should RAID-1 and RAID-5 behave in case of read errors?
Posted: Wed May 31, 2017 1:05 am
Hi! I am using AS3204T NAS, two WD 3Tb Red discs working in RAID-1 (mirroring).
Recently I got plenty (around 100) of reading errors on my Disk 2 reported in the "System Log" when I read some files on the NAS and when I ran "Disk Doctor" scan.
Disk 1 still looks perfect, no errors reported by Disc Doctor. Disk 2 is still part of the RAID array, it was not "dropped". I can see red LED when NAS encounters an error, but when I reboot it, the LED turns green (until an error encountered again).
Before I exchange the Disk 2 with some new one and rebuild the RAID, let me understand something which troubles me very much as for my NAS capabilities and features generally. The thing is, there are currently two files on my raid which I wrote recently which I cannot read (I get some delays when I read them (some sectors look to take time to be read, then finally an I/O error).
I cannot read them even though the Disk 1 has no any error (!). I expected that in the mirroring mode (RAID-1) when NAS encounters a read error, it is able to access another disk to fetch the other copy of the sector data and so no errors on the level of file system will be reported.
I also expected that the NAS will then be able to rewrite the broken sector with a correct data, effectively repairing the broken disk, at least until it allows to rewrite the data, possibly remapping the broken sectors on the level of disk controller.
This is what Linux RAID documentation says: "a read-error will [...] cause md to attempt a recovery by overwriting the bad block. i.e. it will find the correct data from elsewhere, write it over the block that failed, and then try to read it back again." ( https://linux.die.net/man/4/md ). So I expected that Asustor NAS has this behavior, but from what I can see in my particular case this behavior seems not to present.
Any help? Any clarification about what actually may happen in my case and whether Asustor NAS recovers the broken sectors in RAID-1 (or RAID-5 as well where the data may also be recovered on the fly according to Linux documenttion)? I feel really frustrated now being not able to understand what is happening, nor understanding to which extent my data is actually protected on the NAS. Say, I get read error both on disk 1 and at disk 2 (at different sectors). Then all my data factually is still present on both disks, but I just will not be able to recover the RAID as if I remove one of the disks, the other one will have errors and the RAID will not be able to be rebuilt. And... should I really throw a disk away just after one read error? I probably have some misconceptions here. Any help?
Recently I got plenty (around 100) of reading errors on my Disk 2 reported in the "System Log" when I read some files on the NAS and when I ran "Disk Doctor" scan.
Disk 1 still looks perfect, no errors reported by Disc Doctor. Disk 2 is still part of the RAID array, it was not "dropped". I can see red LED when NAS encounters an error, but when I reboot it, the LED turns green (until an error encountered again).
Before I exchange the Disk 2 with some new one and rebuild the RAID, let me understand something which troubles me very much as for my NAS capabilities and features generally. The thing is, there are currently two files on my raid which I wrote recently which I cannot read (I get some delays when I read them (some sectors look to take time to be read, then finally an I/O error).
I cannot read them even though the Disk 1 has no any error (!). I expected that in the mirroring mode (RAID-1) when NAS encounters a read error, it is able to access another disk to fetch the other copy of the sector data and so no errors on the level of file system will be reported.
I also expected that the NAS will then be able to rewrite the broken sector with a correct data, effectively repairing the broken disk, at least until it allows to rewrite the data, possibly remapping the broken sectors on the level of disk controller.
This is what Linux RAID documentation says: "a read-error will [...] cause md to attempt a recovery by overwriting the bad block. i.e. it will find the correct data from elsewhere, write it over the block that failed, and then try to read it back again." ( https://linux.die.net/man/4/md ). So I expected that Asustor NAS has this behavior, but from what I can see in my particular case this behavior seems not to present.
Any help? Any clarification about what actually may happen in my case and whether Asustor NAS recovers the broken sectors in RAID-1 (or RAID-5 as well where the data may also be recovered on the fly according to Linux documenttion)? I feel really frustrated now being not able to understand what is happening, nor understanding to which extent my data is actually protected on the NAS. Say, I get read error both on disk 1 and at disk 2 (at different sectors). Then all my data factually is still present on both disks, but I just will not be able to recover the RAID as if I remove one of the disks, the other one will have errors and the RAID will not be able to be rebuilt. And... should I really throw a disk away just after one read error? I probably have some misconceptions here. Any help?