What if one of the disks in a diskgroup fails? - Typically, I only use external redundancy when we have SAN. What happens if a disk fails depnds on what redundancy has been set up on your SAN. Presumably there is some sort of RAID setup on the SAN which means a loss of a disk should be transparent to ASM and the OS. If no RAID has been setup then it could be painful !!
Would it make the databases unavailable? - If redundancy is defined at the SAN level then no. If you have specified external redundancy and there is in fact none then yes, you would probably see errors like "errors in datafile x" or "block errors on datafile x" or something of the sort (depends on what database files were on that disk).
Would I need to do some database recovery? - Yep...I'm guessing you'd have to do a database restore and then recover. Again depends on what disks were lost. If you lost a disk containing archivelogs then you potentially have lost data and may not be able to recover to the point that you want.
If RAID is set up correctly at the SAN level then any failed disk will be transparent to the both the database and the OS, and no database recovery will be required.
Same applies to filesystem as well as ASM.
Bear in mind that a disk as the OS sees it is actually a LUN which is typically spread across many disks on the SAN. If a disk fails the SAN would replace it with a hot spare, and the pool of hot spares is maintained by the SAN guys. Also a host would have multiple HBA cards going to multiple SAN switches and the SAN itself would have multiple HBA carss going to each of the SAN swicth so you have redundancy all the way and not just at the disk level.
Hope that makes sense.