I have one questions for the software raid fans regarding hard drive cache.
If you use software raid, did you disable the hard drive cache?
If not, the operation system get feedback that data is written but its still in the cache (not protected by a BBU) - in the case of a power failure you loose data and in the worst scenario you cannot start any of your virtual machines on that host.
If you mount your filesystem with barrier=1 option, data should be safe even if your system crashes (or is powered off brutally) with unsaved data in disk cache.
However, barriers are not supported when used with software RAID or LVM (2.6.30 kernel should be able to do it once it's released), so it's still better to disable disk cache.
Hardware RAID:
You need to enable the cache on the hardware raid controller and DISABLE the cache on the hard disk. therefore you still get fast performance due to the fast controller cache and you are not in any risk of loosing data as this cache is protected by the BBU.
Am I wrong?
In theory you're right, but I'm afraid it's not enough.
By default, Proxmox VE saves guest images as normal files. As such, they are subject to all caching done on the host side.
For example, on a host with lots of memory, try to do some heavy writes ("dd if=/dev/zero of=bigflie" usually is enough). As you do it, see how much unsaved data the system keeps in cache (cat /proc/meminfo - look for Dirty/Writeback). It can be hunderds of megabytes! How does that compare to tiny 16/32 MB disk cache?
Now, interrupt your heavy writing (ctrl+c) and do "time sync". Depending on fragmentation, other load, disk speed and cached data, it may take some time before it actually happens (several minutes to just "sync" is nothing unusual on some machines).
What does it all mean for Proxmox VE and its default settings? It makes no difference if you use hardware or software RAID; in both cases, if your host system fails (no electricity etc.) you may loose your data; worst case, not be able to start your guests anymore. Surprised?
To avoid potential data loss on guests with either software or hardware RAID, one should use cache=none option to kvm (see "man kvm" for details). Or, use block devices instead of files (i.e. each guest on a separate LVM volume).
To sum up, hardware RAID does not protect you much more than software RAID with default Proxmox VE settings (unless I'm mistaken somewhere). And, RAID is no backup replacement