Recover disk in NORMAL redundancy As we know NORMAL redundancy means 2 copies of each block.

I have created diskgroup:

CREATE DISKGROUP FG NORMAL REDUNDANCY
  FAILGROUP controller1 DISK
    'ORCL:DISK3' NAME disk3
  FAILGROUP controller2 DISK
    'ORCL:DISK4' NAME disk4;


I have cleared small number of blocks for the first time. 

dd bs=1024 count=200 if=/dev/zero  of=/dev/oracleasm/disks/DISK3


I have corrupted header. And I was able to repair it by kfed repair, because second copy of header (located in aus=0 bs=256) was available.

kfed repair /dev/oracleasm/disks/DISK3  ausz=4194304


And it have been repaired.

But when I've corrupted the whole disk (disk size is 1GB)

dd bs=1M count=1024 if=/dev/zero  of=/dev/oracleasm/disks/DISK3


I was not able to recover disk with kfed 

[oracle@node1 ~]$ kfed repair /dev/oracleasm/disks/DISK3  ausz=4194304
KFED-00320: Invalid block num1 = [0], num2 = [1], error = [endian_kfbh]


Can't I rescue disk when I have NORMAL redundancy diskgroup where other disks are healthy?
kfed is only used to access asm disk headers and metadata - it won't help you in case of a full disk corruption. 

You should take the bad disk offline and recover the disk group using the remaining good disk. 

Regards,
Jony