For a small- to medium-sized company with 12 servers (no failover server), I want to create a mirror/snapshot of the system drive (OS + database + application server settings). The reason is that after a server and an OS go down, reinstallation of an OS +application server + database server takes twice as long (four hours) as restoring the database from database backup files (two hours).
How will a storage area network (
A 5 TB SAN solution using modular storage should not cost an arm and a leg. Make sure the vendor you choose gives you 5 TB of USABLE storage, and not RAW storage. The amount of drives you will need for usable storage will depend on how you configure your RAID sets in the storage array. (RAID 1 or 1+0 will cost the most, since you need twice as many physical disks).
You say you have 12 servers, each with 14 x 73 GB 10K rpm disks. If you buy a modular SAN array, you can configure your RAID to be RAID 5 13+1, which should net you a bit more than 900 GB per server using 73 GB disks or approximately 1.8 TB if you use 146 GB disks. This gives you a total of 73 GB drives: (13 x 73= 949) x 12 servers = 11.388 TB usable storage; or 146 GB drives: (13 x 146 = 1898) x 12 servers = 22.776 TB usable storage.
Take a close look at those numbers. Since you say you are backing up only 5 TB for a full backup
that means you are underutilizing your current RAW storage investment by about 60%.
(73 x 14 = 1022) x 12 servers = 12.264 TB RAW
This shows me you are wasting more than 7 TB worth of storage since you cannot share it between servers. This is why a SAN makes so much sense for many companies. You will also need at least two more disks per server in your SAN to act as your mirrored boot disk. This means 24 more drives. Create 12 RAID 1 mirrorsets in the array and dedicate one for each server. Do NOT share these disks with other servers or install any other applications on them. Use LUN security in the array to make sure the server host bus adapters (HBAs) have a dedicated mirror set as its boot LUN. Use LUN number 0 (zero) for each boot LUN if your array supports it.
This was first published in June 2004