# NAS Best Implementation Practices

**URL:** <https://forum.inductiveautomation.com/t/nas-best-implementation-practices/27209>\
**Category:** Ignition\
**Created:** [August 6, 2019, 9:15pm UTC](https://forum.inductiveautomation.com/t/nas-best-implementation-practices/27209 "2019-08-06T21:15:15Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![rcortes](https://avatars.discourse-cdn.com/v4/letter/r/b77776/32.png) [@rcortes](https://forum.inductiveautomation.com/u/rcortes)\
**Post date:** [August 6, 2019, 9:15pm UTC](https://forum.inductiveautomation.com/t/nas-best-implementation-practices/27209/1 "2019-08-06T21:15:15Z")

</div>

Hello there! I would like to move a running Ignition db (PostgreSQL) to a RAID configuration in a NAS to get a more fault tolerant system, but I didn’t find any documentation about this. Do you have any recommendations or considerations to have in mind before I mess up?

Thanks.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [August 6, 2019, 9:55pm UTC](https://forum.inductiveautomation.com/t/nas-best-implementation-practices/27209/2 "2019-08-06T21:55:43Z")

</div>

Databases (in general, including PostgreSQL) generate a lot of random sector accesses, both read and write. This can produce pathologically slow performance when a parity-type raid array is running degraded (raid4/5/6 w/ failed/missing member). It can be mitigated somewhat by choosing an unusually small chunk size, sacrificing some of the array’s sequential throughput. Use a mirroring raid technology if you can afford the extra disks. (I’m a fan of Linux’s optimized striped-mirror “raid10” implementation, in triple-copy mode.)

Random access also suffers if the network between the DB cpus and the NAS has any conflicting traffic or adds latency.

---

<div class="post-metadata">

**Author:** ![rcortes](https://avatars.discourse-cdn.com/v4/letter/r/b77776/32.png) [@rcortes](https://forum.inductiveautomation.com/u/rcortes)\
**Post date:** [August 7, 2019, 3:11pm UTC](https://forum.inductiveautomation.com/t/nas-best-implementation-practices/27209/3 "2019-08-07T15:11:39Z")

</div>

Yes, I’m planning use 4 disk and a Raid10 configuration. I did a few local test before, and I have a little dilemma. The NAS itself has an MySQL Server built in, and I could use this option to host the db, but I would have to migrate from Postgres to MySQL. It shouldn’t be a heavy load for the nas since Ignition uses about 3 queries/sec.  
The other option would be use the NAS as a mapped network drive, and move the db file location to this new disk.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [August 7, 2019, 3:29pm UTC](https://forum.inductiveautomation.com/t/nas-best-implementation-practices/27209/4 "2019-08-07T15:29:07Z")

</div>

I wouldn’t give up PostgreSQL, but I’m known to be somewhat biased… (-:
