I am replacing 2 machines
1 - OpenBSD (single drive)
Webserver, SMTP Gateway, Dhcp Server
1 - linux (currently has a hardware RAID) card
Email server for 10 users
with
1 - OpenBSD box, with 2 disks to do the same task.
I know that OpenBSD does not support "Root on Raid" as of yet.My question
What is the best way to "mirror" the primary disk so that in case of
disk failure I can just move the second disk to the primary and then
use it ?
This would be a manual process , not looking for any automatic fail over

I have considered just loading the OS on each disk then putting the second on
as a slave disk and then just rsyncing the changes over to it..

Hardware RAID. These appear as standard bus devices to the OS. If these hardware devices can register with the bio(4) driver, they can also be managed via bioctl(8). The bio(4) man page lists all of the currently supported hardware RAID technology that can be managed with bioctl.

Software RAID via RAIDframe. One cannot -boot- from a RAID set, but one can certainly configure -root- on RAID.

There probably isn't a "best" way; but the easiest would be a hardware RAID, I would think.

I use RAIDframe with root-on-raid with one of my systems, and have had many disk drive problems, but never an outage due to them.

I set that RAIDframe server up so it notifies me via e-mail when a failure occurs. I've been e-mailed many times. Each time, I have been able to recover with the same hardware (forcing bad blocks to reallocate before returned the failed drive to the RAID set) or if necessary swap drives, and all without data loss. I have to take a scheduled outage to swap drives, though, as they are not hot swappable.

I have also used raidctl(8) to intentionally break the RAID 1 mirror to manage risky software upgrades/reconfigurations, as recovery is faster than doing a complete restore.

1 -- I did not mention softraid(4), as it is not quite ready for production, since there is no recovery method for components of a RAID set. The admin must back up, rebuild, and restore, which will usually introduce significant downtime. Though it, like RAIDframe, cannot boot from a RAID set but can easily have root on RAID.

2 -- There are other replication technologies, but those are more commonly used over a network, not from one drive to another. One example is rsync. These remote replication technoligies will introduce data loss, which must be managed, and specific implications for data loss management will be unique to each application environment.