I need to create a RAID1 (mirror) with an existing OS HDD, which can be MAC; Windows; or Linux... by adding another identical HDD, and the downtime is 30min or less
I have tried several hardware raid controllers, but no success.
I thought you meant the OS you choose does not matter. If this is the case, you can try imaging the drive to the other so they are identical, the create a new RAID 1 array but do not initialize it. This should write out the RAID sig to the disks and retain the data and configure NVRAM. Depending on the RAID controller this may work.
I'm not on the up and up with my RAID systems like I was once. However; I think what you are asking for is impossible. A simple solution would be to image the server software as it stands. Pull the drive, build a raid on the computer, and put the drive's data back into the new RAID. It may be a better idea to offload the server to another system, or a backup system, so you can configure the primary server with what you need. If you expect ANYTHING to be 30 minutes or less of downtime, especially if you have to hash out a drive image and build a RAID/copy drive image back onto the system... then you may be a bit optimistic. I'm not even sure you could rebuild a RAID within that short a time frame.
The big point I am trying to make is, you need a redundant server to set in place while you build a RAID system on the primary server. Not only will this give you longer then thirty minutes to tinker, but it will also let you experiment with the RAID build for optimum efficiency.
I completely agree with Axilon, you should never put yourself in position with those types of timeframes on a critical system with a process you haven't tested. If you HAVE to do it in under 30, my last idea with a few modifications should work. Forget the imaging, take the good drive (after you've backed up everything prefereably on a test box) and create a RAID 1 array, don't init the array. Take the good drive out (now with RAID sig on the disk, put in the blank drive and clear the config on it. Boot with the drive with the data attached, it should show as a failed RAID 1, put the other drive back in and let it rebuild while its online.
Honestly all of these recommendations are not the right way of going about this. You should have a NEW server with RAID 1 already in place and migrate to that so you have a roll-back strategy.
I can tell you that PERC controllers from Dell (I believe they are based on LSI chipset) do not erase anything as long as you do not init the drives. I have done this before. That is why I suggested what I wrote above.