Experiences of a FileMaker Pro Database Developer

Best FileMaker Server RAID Configuration

RAID 10 is recommended for FileMaker Server, a combination of redundancy and mirroring and gives the best performance.

If you have RAID 1, mirrored, and separate RAID 5 or 10, the OS should be on the RAID 1 and FileMaker and the Live databases on RAID 5 or 10. The backups should be on a separate disk and channel to take advantage of full async read/writes. You might have better performance making your backups to the RAID 1 drive with the OS. If anything, just use the RAID 1 for backups and leave the OS, FileMaker and the live files on the RAID 5 or 10 drives.

Having the FMS application, backups and logs on a separate partition on a RAID drive does nothing for performance. A partition does not mean separate disks.

UPDATE:  Recently, I did a lot of work with Temp Files, RAM Drives, RAIDs and SSDs. I’ve changed my recommendation on what I wrote here regarding the OS on RAID 1. The ideal setup would be OS, FileMaker Server, and Backups on RAID 10 with the live databases and database temp files on an SSD RAID or SSD PCI Card. Actual FileMaker Server backups happen to a RAM Drive and then a script moves those files to the RAID 10. If you are using FileMaker 12, Progressive backups negate the need for backups to a RAM drive. However, the progressive backups should be located on the RAID 10 volume and not on the SSD where the live databases reside.

Post to Twitter

Comments

  1. Pete Detti says:

    Once question does come to mind:

    Why?

    • Hi Pete,
      Thanks for asking, but I’m not sure what you are asking “Why” about. I’ll take a stab at a few that come to mind. First, why RAID 10? For dependability and speed. You get the dependability of RAID 1 (mirrored drives) and the speed of RAID 5. Over the last year, I’ve had 2 drives fail on one heavily used FMS machine which also had an online spare configured. In a matter of minutes, the spare replaced the failed drive and we were backup to normal operation speed.

      As for the backup being on a separate disk on a separate channel or completely different bus, this is important so the read and write can happen at the same time. This increases the speed of the backup. If on the same disk, and even on the same RAID channel, you have to for data to be read into memory, then written to disk from memory as separate steps.

      As for the OS on a separate RAID 1 drive, this just allows the OS, FileMaker Server Application and Database Temp files to be located on a separate drive in order to keep data access separate from OS and Application access.

      Recently, I did a lot of work with Temp Files, RAM Drives, RAIDs and SSDs. I’ve changed my recommendation on what I wrote here regarding the OS on RAID 1. The ideal setup would be OS, FileMaker Server, and Backups on RAID 10 with the live databases and database temp files on an SSD RAID or SSD PCI Card. Actual FileMaker Server backups happen to a RAM Drive and then a script moves those files to the RAID 10. For details, watch for a post on SSDs, Ram Drives and RAIDs coming soon.

      These recommendations are for databases systems that are heavily used and are gigabytes in size. Small solutions with few users will not see significant improvement following these recommendations.

  2. What stripe size would you recommend for this application with the data on a Raid 10 setup?

    • Hi Mike, sorry for late reply. I’ve just left the default settings and have never dug too deep into the actual stripe size. What’s more important is the disk speed. 15K is ideal and if you can get server-class SSDs, that’s even better.

  3. Do I understand correctly that your conclusion is that to increase the speed, it is more important to improve the disk system of the os and fms instead of the fm datafile?

    Could you please advise if this is a good option:
    Option 1:
    1. Controller 1, raid 10, live db file.
    2. Non-raid, OS, FMS
    3. Non-raid: backup

    Option 2:
    1. Controller 1, raid 10, partition 1: os, fms
    2. Controller 1, raid 10, partition 2: db file
    3. Non-raid: backup

    Option 3:
    1. Controller 1, raid 10 OS and FMS
    2. Non raid db file
    3. Non raid backup

    Thanks Matt.
    Sen

    • Hi Sen,

      Actually, I recommend the opposite. The FileMaker databases should be on the fastest drive subsystem.

      See my update to this post above. I will try to get more information on SSDs in a future post. If you can get high quality server-class SSD drives configured in a RAID or a PCI SSD RAID card, that’s what I would recommend for the databases.

      I would then recommend the OS, FileMaker Server Application and FileMaker backups to be installed on RAID 10 with the FileMaker Database files and the OS TEMP files to be located on an SSD RAID, either a PCI card or a separate RAID 10 using server class SSDs.

      As for the Backup, it should just be on a separate drive/volume different from the Live Database files. The configuration now really depends on if you are using FileMaker Server 12 or not and progressive backups.

      What size database files are you dealing with? What version of FileMaker are you using?

      Matt

      • Thanks for the reply Matt.

        If I remember correctly, the average db size is about 5gb. And there are 5 db files.

        Should I use 2 different raid card for the os raid 10 and ssd raid?
        And just to be sure, by ssd raid you mean ssd in raid 10? I cant find anything on a special raid for ssd drives..

        • Hi Sen,
          I would recommend the following PCI SSD:

          Z-Drive R4, 300GB Drive C Series, ZD4CM84-HH-300G
          http://www.oczenterprise.com/ssd-products/z-drive-c-series.html

          This is the one that I am using on a system that’s about 20GB in total database size. You do not need a separate RAID controller for this card. I have been using this card since December 2011 and have run FileMaker 11 and 12 along with Windows Server 2003 and 2008. It has given us great performance. I run the live databases and the OS level Temp files on the drive. This is all that is on the drive along with nightly DB verification backups.

          Hope this helps,
          Matt

  4. Brad Lawson says:

    Matthew, great articles! I used to help you before when I was with GCIT 🙂 Hope you are doing well! I have a question:

    How did you move temp files to the SSD? We are looking to do the same. Thanks!

    -Brad

    • Hi Brad,
      You just need to edit the System Variables TEMP and TMP paths. Make sure nothing is open or running on the Server box when you do this and you must restart immediately. Right click on Computer, then Properties and click on Advanced System Settings. You should be at System Properties. This is based on Windows Server 2008, so your OS might be slightly different. You should be at this window:
      System Properties
      Next, click on Environment Variables and you should be at this screen where you can edit the System Variables:
      Environment Variables
      Hope this helps and let us know how it works out,
      Matt

      • Brad Lawson says:

        Great! Thanks Matthew. We will configured later tonight and let you know the results. Thanks again.

        -Brad

Leave a Reply to Mike Cancel reply

*