I would advise you to read the man pages for dump(8) and restore(8). These are programs which let you dump the filesystem exactly as it is and restore it exactly as it was. When used correctly, the server will come back up identical to what it was when it went down.
I recommend doing this over a network (assuming you have a *nix computer with a large enough hard drive to hold the dumps. The process would be something like the following:
Code:
dump -0 -h 0 -f - /dev/wd0a | gzip -2 | ssh user@other.machine.net dd of=/path/to/bigdir/root.dmp.gz
Doing that once for each partition you have: "df" will show you what partitions are being used and where they are mounted, changing the file name to reflect the mountpoint. I would make a careful note of that to ensure that you put everything back in place. You should also make a note of how big each of the old paritions were. You do not need to have the same partition layout on the new system but it's probably wise to keep it the same. You can change the sizes if your new disk is larger without any problems. This is why I recommend this process over directly ghosting the whole drive -- which can be done but can also have its own pitfalls.
You will have to use the install disk to partition the new disk and make it bootable -- I am assuming you don't know how to do this from the command line and that can be tricky. Create the boot disks or floppies as desribed in the install document:
http://openbsd.org/faq/faq4.html but I am going to start describing your process from the actual install part:
http://openbsd.org/faq/faq4.html#Install
Most of the defaults are okay... you want to answer
YES to using all of the disk. Pay special attention to the partition howto (don't leave any extra space like the example says it does). Look at your notes about how the old disk was layed out. Choose a layout which is similar -- increasing the most heavily used areas (like the ones where the files you're server are located).
Go through the process but don't worry about making mistakes after this point. As long as you know you have the disk layout correctly you're going to be fine (and the network bit so you don't need to do that by hand). You want to be able to boot into this barebones system.
Once you boot into the system you should be looking at a disk which has been partitioned and formatted already and has the bootblocks installed correctly. All the tricky work has been done.
cd to / and do something like:
Code:
ssh user@other.machine.net dd if=/path/to/bigdir/root.dmp.gz | gunzip | restore -r -f -
Then cd to /var (assuming this was another partition) and do the same thing:
Code:
ssh user@other.machine.net dd if=/path/to/bigdir/var.dmp.gz | gunzip | restore -r -f -
And so on, until you have dumped all the partitions to their correct places. If you did change the layout (added or deleted any partitions) be sure to edit fstab.
This process sounds complicated but it is very straight forward and painless. I have used it (or a variation of it, as I usually do the partitioning bit by hand) to restore several systems for users over the last few years.
Note: if you're going to do this by hand, you can cut the networked machine out of the equation and do
[code]dump -0 -h 0 -f - /dev/wd0a | restore -r -f -[code] right from the mounted directory on the new disk which is going to be /. This method is quicker but brings in complications the other method does not have to consider.
Anyway: Read dump(8) and restore(8),
http://openbsd.org/faq/faq4.html, and this post a couple times. Get a good idea of the process I just described. If you have any questions about a part of it... please ask. And then, when you are comfortable with this, actually perform it.
I know you're not typically an *nix administrator... but you really should do this in the same manner a *nix admin would. It does offer a lot of advantages over ghosting because your replacement drive is surely going to be larger than the drive you're replacing.
Edit: Here is the FAQ section regarding this scenario,
http://openbsd.org/faq/faq14.html#Backup -- it will also help you get the general idea.